You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
ClientSyncReceiveEvent may get the wrong ProviderInfo when use reuses client transport with the same remote address.
Expected behavior
When two consumer config (for example A and B) get the same address which provides this A and B two services. They will use same client transport.
And after invoke, It will post ClientSyncReceiveEvent with provider info to the event bus.
Actual behavior
Now in BoltClientTransport, code like this:
if (EventBus.isEnable(ClientSyncReceiveEvent.class)) {
EventBus.post(new ClientSyncReceiveEvent(transportConfig.getConsumerConfig(),
transportConfig.getProviderInfo(), request, response, throwable));
}
If this client transport is initial for A, transportConfig.getProviderInfo() is provider info of A, and will be reused by B. When invoke by B, transportConfig.getProviderInfo() will also return provider info of A, It needs fixing.
Environment
SOFARPC version: 5.3.2
The text was updated successfully, but these errors were encountered:
Describe the bug
ClientSyncReceiveEvent may get the wrong ProviderInfo when use reuses client transport with the same remote address.
Expected behavior
When two consumer config (for example A and B) get the same address which provides this A and B two services. They will use same client transport.
And after invoke, It will post
ClientSyncReceiveEvent
with provider info to the event bus.Actual behavior
Now in BoltClientTransport, code like this:
If this client transport is initial for A,
transportConfig.getProviderInfo()
is provider info of A, and will be reused by B. When invoke by B,transportConfig.getProviderInfo()
will also return provider info of A, It needs fixing.Environment
The text was updated successfully, but these errors were encountered: