Mikhail Petrov created IGNITE-21100:
---------------------------------------

             Summary: [Python Thin Client] Key class binary metadata is not 
registered
                 Key: IGNITE-21100
                 URL: https://issues.apache.org/jira/browse/IGNITE-21100
             Project: Ignite
          Issue Type: Task
            Reporter: Mikhail Petrov


Python thin client does not register binary metadata for user classes that are 
used as a key for cache operations. 

It seems that it happens because 
1. When we calculate hash code of a key object, we serialize it. The result is 
cached in `_buffer` attribute of the object. (see 
pyignite.datatypes.complex.BinaryObject.hashcode, 
pyignite/binary.py#write_footer:203 ). The hash code of a key object is used to 
determine which node this key belongs to (PA).  
2. But when we are about to send key object to the server side - we skip cache 
object serialization as the result is already saved in the buffer mentioned 
above AND skip its binary type registration.
(see pyignite.datatypes.complex.BinaryObject.from_python_not_null)



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to