Search code examples
aerospike

Aerospike: Getting UnsupportedFeature exception, CDT list feature is not supported


I am using Aerospike 3.7.3 and python client 2.0.1

Tested under single as-well-as 2 node cluster.

Appending items to CDT (List) where each item it 1KB. Appending items till the record size reaches 1M. Then incrementing the key.

Throwing below exception after writing few hundred thousand of items.

exception.UnsupportedFeature: (16L, 'CDT list feature is not supported', 'src/main/client/operate.c', 1290)

Also very few times I am getting

exception.DeviceOverload: (18L, 'AEROSPIKE_ERR_DEVICE_OVERLOAD', 'src/main/aerospike/as_command.c', 1082)

Every time I clear the keys and re-run, I am getting either of these two exceptions, exception.UnsupportedFeature being the majority.


Solution

  • The first error seems like a bug, and you should open a new issue with aerospike/aerospike-client-python. Add a code sample that states which list operation(s) you're actually using when the exception comes up.

    As for the second error, this means that your device is not able to write as fast as your Python script is going. As a workaround you can handle this exception by simply pausing for a short while and retrying the operation, giving your drive some time to catch up. The long term solution is to get a drive with better write IOPS. In the SSD world that's often a data-center quality drive with more controllers, which allow it to find the next available write block faster.