Modifying LDT (LargeMap) resets the record expiration


#1

Hi,

It looks like edits to LargeMaps is setting the row expiration to server defaults. We set our TTLs to -1. Once we modify a LargeMap the TTL is then set the server default.

Thoughts?


#2

When updating a record, if the TTL is not specified in the write policy, it will be reset to use the ‘default-ttl’ set by the server.

Depending on the Client you are using, here are the client-specific API functionality. Example: Java : http://www.aerospike.com/apidocs/java/com/aerospike/client/policy/WritePolicy.html C# : http://www.aerospike.com/apidocs/csharp/html/F_Aerospike_Client_WritePolicy_expiration.htm

Additionally, Java Release 3.0.32 supports the LargeMap (and other Large Datasets) to retain the ttl set by the Client API. So, if working with Large Datasets, upgrade to 3.0.32 to be able to use the expiration appropriately. http://www.aerospike.com/download/client/java/notes.html#3.0.32


#3

@deweyjose,

Thank you for posting about LDTs in our forum. Please see the LDT Feature Guide for current LDT recommendations and best practices.


#4

@deweyjose,

Effective immediately, we will no longer actively support the LDT feature and will eventually remove the API. The exact deprecation and removal timeline will depend on customer and community requirements. Instead of LDTs, we advise that you use our newer List and SortedMap APIs, which are now available in all Aerospike-supported clients at the General Availability level. Read our blog post for details.