Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ISPN-7297 java.lang.IllegalStateException on TriangleAckInterceptor.java #4713

Closed
wants to merge 1 commit into from

Conversation

pruivo
Copy link
Member

@pruivo pruivo commented Dec 8, 2016

Caused by a miss configuration in RequestOptions

https://issues.jboss.org/browse/ISPN-7297

@pruivo pruivo added this to the 9.0.0.Beta2 milestone Dec 8, 2016
//protect with the shared lock.
//it was possible the topology change before the collector was created. the collector would be initializer
//with an old members that would never send the ack back resulting in timeout.
stateTransferLock.acquireSharedTopologyLock();
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would prefer checking the topology again after the collector was created, and retry if it changed, to avoid the contention on the number of readers in the shared lock.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

on other hand, you are creating a Collector to be removed later. I'm not sure if it has any impact in performance

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

so, should I change it?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'd change it, even though it probably doesn't matter much in the grand scheme of things.

@@ -777,7 +777,7 @@ private void sendToAll(ReplicableCommand rpcCommand, DeliverOrder deliverOrder)
AnycastAddress anycastAddress = new AnycastAddress();
dispatcher.sendMessage(anycastAddress, buffer, options);
} else {
dispatcher.castMessage(null, buffer, options);
dispatcher.castMessage(null, buffer, options.anycasting(false));
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks superfluous. the default is already false. It actually made me think maybe we're setting it to true earlier, and that we shouldn't do that :)

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I know. I just want to be sure in case if one of us in the future change the default for some reason.

Caused by a miss configuration in RequestOptions
@pruivo
Copy link
Member Author

pruivo commented Dec 8, 2016

@danberindei updated

@danberindei
Copy link
Member

Integrated, thanks Pedro!

@danberindei danberindei closed this Dec 8, 2016
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
2 participants