Skip to content

ProxyManager is broken #144

@asimarslan

Description

@asimarslan

ProxyManager is responsible of

  • creating proxy objects and persist them to provide single instance
  • DistributedObjectListener event delivery for these proxies

C# generics are different than Java where you cannot ignore generic types at runtime.
For that reason, a proxy created with generic parameters cannot be cast to different generic parameters at run-time. We need to replace these proxies with non-generic versions of them internally.

There is also a race condition that cannot handle concurrent proxy creation.

Original bug report:

Seeing alot of WARNING level log on concurrent :

[WARNING] - [:19] Hazelcast.Client.Spi.ProxyManager: Replacing old proxy for default of type Hazelcast.Client.Proxy.ClientMapProxy`2[System.String,System.String] with Hazelcast.Client.Proxy.ClientMapProxy`2[System.String,System.String]

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions