[Bug] Large Data Type sub-record open error - likely fixed in 3.5.14 (to verify)


#1

Hi,

I am getting the following error while appending entries to some large data sets:

com.aerospike.client.AerospikeException: Error Code 1422: /opt/aerospike/sys/udf/lua/ldt/ldt_common.lua:751 LDT-Sub Record Open Error

The aerospike logs show the following error:

WARNING (udf): (/opt/aerospike/sys/udf/lua/ldt/lib_llist.lua::2567) [ERROR]<ldt_common_2014_12_20.A:openSubRec()> SubRec Open Failure: Digest(C0 E1 35 74 78 D2 6D 1A DB AD A5 38 EF E5 00 00 00 00 00 00) Parent Digest(C0 E1 35 74 A4 91 9D 3A DB 0B C2 46 E1 5E BE 1A 79 DB 04 20)

This error happens when I restart my aerospike server. I ran some of the basic operations on the list with the following outputs:

  1. size

    aql> execute llist.size('rec') on driver_location.order_location_history where PK='CRN73874770'
    +------+
    | size |
    +------+
    | 1183 |
    +------+
    1 row in set (0.001 secs)
    
  2. first

    aql> execute llist.find_first('rec', 1) on driver_location.order_location_history where PK='CRN73874770'
    Error: (100) /opt/aerospike/sys/udf/lua/ldt/ldt_common.lua:751: 1422:LDT-Sub Record Open Error
    

Can you help figure out the issue? I am using “Aerospike Community Edition build 3.5.14”.


#2

Shruti,

There was a known bug in 3.5.14 which may have caused this. Get on 3.5.15.

tx

– R


#3

Thank you Raj for the prompt response! I will do the upgrade and check if the issue goes away.


#4

Hey Raj, can you shed some light on what the issue was? Can I replicate this issue on a staging machine so that I can test this hypothesis?


#5

Shrutiranjan,

The issue is fundamentally the way LDT replication and migration interact. You may be able to replicate this issue by have cluster with at least one of the nodes with <3.5.14 server. Perform node restart to trigger migration keep writing into LDT while migrations are still going on. You may hit the window.

– R


#6

@shrutiranjan_satpath,

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


#7

@shrutiranjan_satpath,

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.