Target Version: rsb 0.18
Problem: RSB does sometimes not activate participants when they were deactivated in advance.
Reproducible via the example code provided by #28
when setting ENABLE_CONNECTION_SHARING = false;
WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by com.google.protobuf.UnsafeUtil (file:/Users/divine/.m2/repository/com/google/protobuf/protobuf-java/3.0.2/protobuf-java-3.0.2.jar) to field java.nio.Buffer.address
WARNING: Please consider reporting this to the maintainers of com.google.protobuf.UnsafeUtil
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in a future release
Start run 1 with 20 participants...
Wait until pool is active...
Initiate Shutdown...
Shutdown progress: 0%
Nov 08, 2019 4:19:02 PM rsb.introspection.IntrospectionParticipantObserver destroyed
INFO: Deactivating introspection protocol handler since no more participants exist
Shutdown progress: 100% (successful)
Start run 2 with 40 participants...
Wait until pool is active...
Initiate Shutdown...
Shutdown progress: 0%
Nov 08, 2019 4:19:05 PM rsb.introspection.IntrospectionParticipantObserver destroyed
INFO: Deactivating introspection protocol handler since no more participants exist
Shutdown progress: 100% (successful)
Start run 3 with 60 participants...
Wait until pool is active...
Initiate Shutdown...
Shutdown progress: 0%
Nov 08, 2019 4:19:07 PM rsb.introspection.IntrospectionParticipantObserver destroyed
INFO: Deactivating introspection protocol handler since no more participants exist
Shutdown progress: 100% (successful)
Start run 4 with 80 participants...
Wait until pool is active...
Nov 08, 2019 4:19:07 PM rsb.transport.spread.SpreadWrapperImpl makeConnection
WARNING: reoccuring SpreadException during connect to daemon
spread.SpreadException: write(): java.net.SocketException: Broken pipe (Write failed)
at spread.SpreadConnection.sendConnect(SpreadConnection.java:491)
at spread.SpreadConnection.connect(SpreadConnection.java:897)
at rsb.transport.spread.SpreadWrapperImpl.makeConnection(SpreadWrapperImpl.java:147)
at rsb.transport.spread.SpreadWrapperImpl.activate(SpreadWrapperImpl.java:251)
at rsb.transport.spread.SpreadReceiver$StateInactive.activate(SpreadReceiver.java:232)
at rsb.transport.spread.SpreadReceiver.activate(SpreadReceiver.java:344)
at rsb.transport.spread.SpreadInPushConnector.activate(SpreadInPushConnector.java:80)
at rsb.eventprocessing.RouteConfiguratorUtility.activate(RouteConfiguratorUtility.java:90)
at rsb.eventprocessing.DefaultPushInRouteConfigurator.activate(DefaultPushInRouteConfigurator.java:69)
at rsb.Listener$StateInactive.activate(Listener.java:123)
at rsb.Listener.activate(Listener.java:191)
at rsb.patterns.Method$StateInactive.activate(Method.java:109)
at rsb.patterns.Method.activate(Method.java:202)
at rsb.patterns.LocalMethod.activate(LocalMethod.java:162)
at rsb.patterns.Server$StateInactive.activate(Server.java:103)
at rsb.patterns.Server.activate(Server.java:218)
at org.openbase.jul.extension.rsb.com.test.DeactivationOnEventLoadTest$1.run(DeactivationOnEventLoadTest.java:72)
rsb.InitializeException: Could not create spread connection host=localhost, port=4803
at rsb.transport.spread.SpreadWrapperImpl.makeConnection(SpreadWrapperImpl.java:160)
at rsb.transport.spread.SpreadWrapperImpl.activate(SpreadWrapperImpl.java:251)
at rsb.transport.spread.SpreadReceiver$StateInactive.activate(SpreadReceiver.java:232)
at rsb.transport.spread.SpreadReceiver.activate(SpreadReceiver.java:344)
at rsb.transport.spread.SpreadInPushConnector.activate(SpreadInPushConnector.java:80)
at rsb.eventprocessing.RouteConfiguratorUtility.activate(RouteConfiguratorUtility.java:90)
at rsb.eventprocessing.DefaultPushInRouteConfigurator.activate(DefaultPushInRouteConfigurator.java:69)
at rsb.Listener$StateInactive.activate(Listener.java:123)
at rsb.Listener.activate(Listener.java:191)
at rsb.patterns.Method$StateInactive.activate(Method.java:109)
at rsb.patterns.Method.activate(Method.java:202)
at rsb.patterns.LocalMethod.activate(LocalMethod.java:162)
at rsb.patterns.Server$StateInactive.activate(Server.java:103)
at rsb.patterns.Server.activate(Server.java:218)
at org.openbase.jul.extension.rsb.com.test.DeactivationOnEventLoadTest$1.run(DeactivationOnEventLoadTest.java:72)
Caused by: spread.SpreadException: write(): java.net.SocketException: Broken pipe (Write failed)
at spread.SpreadConnection.sendConnect(SpreadConnection.java:491)
at spread.SpreadConnection.connect(SpreadConnection.java:897)
at rsb.transport.spread.SpreadWrapperImpl.makeConnection(SpreadWrapperImpl.java:147)
... 14 more
This for example prevent apps to enable a proper reconnection of participants when the rsb host or port is changed.
Target Version: rsb 0.18
Problem: RSB does sometimes not activate participants when they were deactivated in advance.
Reproducible via the example code provided by #28
when setting
ENABLE_CONNECTION_SHARING = false;This for example prevent apps to enable a proper reconnection of participants when the rsb host or port is changed.