Skip to content

Conversation

@mdumandag
Copy link
Contributor

Formerly, we didn't implement IDS for Address as it was not needed
in the Python client but with the implementation of ReliableTopic,
it was possible to get Address instances via fields the messages
sent by the server.

To fix this, we introduce another class that inherits from the Address
and return it when someone tries to read such field. We take such measures
to deal with the cyclic import errors. If we were to implement IDS for
Address in the core module, and try to register it in the serialization
module, we would have a cyclic import.

Note that, this is basically a workaround but it is enough for our needs.
We need a proper refactoring of our modules to get rid of such problems
and maybe we can do that in 5.0.

Formerly, we didn't implement IDS for Address as it was not needed
in the Python client but with the implementation of ReliableTopic,
it was possible to get Address instances via fields the messages
sent by the server.

To fix this, we introduce another class that inherits from the Address
and return it when someone tries to read such field. We take such measures
to deal with the cyclic import errors. If we were to implement IDS for
Address in the core module, and try to register it in the serialization
module, we would have a cyclic import.

Note that, this is basically a workaround but it is enough for our needs.
We need a proper refactoring of our modules to get rid of such problems
and maybe we can do that in 5.0.
@mdumandag mdumandag merged commit 4753b54 into hazelcast:master Aug 16, 2021
@mdumandag mdumandag deleted the make-address-ids branch August 16, 2021 15:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants