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-6680 InterruptedException during PutAll from Hot Rod client prev… #4360
Conversation
Adding ISPN-6692 as well |
@@ -30,6 +30,7 @@ object OperationStatus extends Enumeration { | |||
val OperationTimedOut = Value(0x86) // todo: test | |||
val NodeSuspected = Value(0x87) | |||
val IllegalLifecycleState = Value(0x88) | |||
val Interrupted = Value(0x89) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Unless you actually need a different behaviour from IllegalLifecycleState
, I would prefer to see a single ServerNotAvailable
operation status covering both. I know sometimes these exceptions can sometimes come from another node, but it should be the core's job to retry them and/or translate them to SuspectException
.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
My initial though was to piggyback on IllegalLifecycleState, but an InterruptedException
could be throw in other situations apart from server going down. For example, a long running job (script?) that gets explicitly cancelled by the user
@danberindei thoughts? TBH I was not willing to bind |
@gustavonalle If the server isn't stoppping, and a long task is being cancelled, should the client retry it? Could the server send back an |
IMO no, as It could have been explicitly canceled (maybe the script or task was misbehaving).
It makes sense |
@danberindei I've simplified the PR, without changing Hot Rod version, and wrapping |
rebased |
@@ -226,8 +226,8 @@ | |||
IllegalStateException queryParameterNotSet(String filterConverterFactoryName); | |||
|
|||
@LogMessage(level = WARN) | |||
@Message(value = "Server not reachable whilst closing iteration '%s'", id = 4061) | |||
void ignoringServerUnreachable(String iterationId); | |||
@Message(value = "Ignoring error when closing whilst closing iteration '%s'", id = 4061) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You have to choose between when and whilst :)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I've removed whilst closing myself and pushed to master. Trying to rebase on 8.2.x...
@gustavonalle after rebasing to 8.2.x I got a failure in
And this exception in the log:
Closing this PR, please open a separate one for 8.2.x. |
@danberindei #4450 for 8.2.x |
…ents failover
https://issues.jboss.org/browse/ISPN-6680
https://issues.jboss.org/browse/ISPN-6692