Error while pushing data in large stack


#1

Hi I’m trying to push data in stack, but getting the following error: Error Code 1423: /opt/aerospike/sys/udf/lua/ldt/ldt_common.lua:1418 LDT-Sub Record Update Error

ldt-enabled true, is set for that namespace


#2

Hi,

My guess is that you’re writing objects that are larger than the “assumed default size”, which means that you’re accumulating more data in a sub-record than is allowed for a sub-record write.

First, some questions: (1) What are the sizes of the data objects that you are pushing onto the large stack? (2) What is your namespace write-block size? If it is the minimum (128k) then you’re more likely to blow out your sub-record size than if you choose the default (1mb).

Next, because of our current Lua Runtime environment (the language of our UDFs and LDTs), we do not have data size information. This will likely change in the future, but today, as a result, we have to rely on user configuration settings to tell us what data is going to fit in the Top Record (in the LSTACK Hot List) and on the Sub-Records (if it doesn’t fall into the default ranges). Our defaults assume data object sizes of less than 1kb. If the sizes will be greater than that, then it is best to set the expected sizes in the UserModule that is passed in on the create() or the first push() call.

I’m thinking that we may have to be more conservative in our size estimates, but then that makes our space efficiency lower. Soon, however, we will have an easier mechanism for configuring the LDTs, based on user estimates of object sizes (max size and average size).


#3

@kiruxan,

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


#4

@kiruxan,

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.