That is strange. Thank you for that simple test case that reproduces the issue. Could you share what version of the Python client, and what version of the server you are using?
bytearray(b'N.') is the actual content of what is getting stored into the database by the Python client.
None does not map to a native Aerospike type, so it is serialized using Pickle. The Pickle serialization of None looks like 'N.' , the Python client takes that value and stores it as bytes of type AS_BYTES_PYTHON into the Aerospike database.
When you retrieve it with aerospike.get the value is deserialized so you end up getting None back.
So it looks like the deserialization isn’t being run on this returned value when it is coming back from an aggregation uff for some reason.
I’ll look into it and see if I can figure out what is going on.