[ https://issues.apache.org/jira/browse/IGNITE-21100?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Mikhail Petrov updated IGNITE-21100: ------------------------------------ Summary: [Python Thin Client] Key class binary metadata registration is skipped (was: [Python Thin Client] Key class binary metadata is not registered) > [Python Thin Client] Key class binary metadata registration is skipped > ---------------------------------------------------------------------- > > Key: IGNITE-21100 > URL: https://issues.apache.org/jira/browse/IGNITE-21100 > Project: Ignite > Issue Type: Task > Reporter: Mikhail Petrov > Priority: Minor > > 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)