Common UDF warnings

The Aerospike Knowledge Base has moved to https://support.aerospike.com. Content on https://discuss.aerospike.com is being migrated to either https://support.aerospike.com or https://docs.aerospike.com. Maintenance on articles stored in this repository ceased on December 31st 2022 and this article may be stale. If you have any questions, please do not hesitate to raise a case via https://support.aerospike.com.

Summary

This is a list of UDF Warning messages with possible reasons for their occurrence in the server logs.

1) WARNING (udf): (udf_record.c::947) Error in getting generation: no record found

Why?

Indicates that record.gen (attempt to update generation) is attempted without record being there.

Where?

All Aerospike releases

Resolution?

Configure LUA file to check for generation after confirming that the record exists.

2) GMT: WARNING (udf): (udf_aerospike.c::178) udf__aerospike_get_particle_buf: Invalid Operation [Bin c data too big size=131201]… Fail

WARNING (udf): (udf_aerospike.c::459) udf_aerospike_setbin: Allocation Error [Map-List: bin c data size too big: pbytes 131201]… Fail

Why?

Attempt to insert record greater than configured write-block-size.

Where?

All Aerospike releases

Resolution?

Configue write-block-size to the desired size. Else, ensure that the client does not write records larger than the write-block-size.

3) WARNING (rw): (thr_rw.c::309) UDF request not complete … Completing it nonetheless !!!

Why?

There are valid cases where Aerospike server could be perfoming complete of UDF at the end of the execution (after the transaction has moved on).

Where?

All Aerospike releases

Resolution?

These are ideally benign warnings which notify that completion of UDF occured after the transaction moved on to the next one. We are internally investigating on if there are other potential factors causing it.

4) WARNING (udf): (udf_aerospike.c:852) Record not found to be open while updating urecord flag=385

Why?

The UDF is attempting to write a record which is not opened by the UDF sub-system. Reasons for this could be that the record does not exist and the UDF is trying to update it or the record has been deleted, truncated or expired.

Where?

All Aerospike versions.

Resolution?

Modify the UDF code such that it checks for the existence of the record prior to attempting to update.