-
Notifications
You must be signed in to change notification settings - Fork 28.9k
[SPARK-6602][Core] Update MapOutputTrackerMasterActor to MapOutputTrackerMasterEndpoint #5371
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
Conversation
|
Test PASSed. |
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.
Does Akka always serialize exceptions? There are exceptions that cannot be serialized, and we should be careful there.
Can you add a unit test calling sendFailure with an unserializable exception to make sure things still work?
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.
This also brings another question: what's the semantics in the case of exceptions? Are they ignored, logged and ignored, or propagated back to the caller?
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.
There are exceptions that cannot be serialized, and we should be careful there.
Because Throwable implements java.io.Serializable, I assume all exceptions can be serialized. Do you mean that some exception may throw an exception in writeObject(java.io.ObjectOutputStream out) to prevent it from being serialized?
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.
In an ideal world all exceptions should be serializable, but I've seen in the past an exception that was not serializable (because it contained some field that was not serializable).
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.
Such exception will be swallowed by Akka by default. I added ErrorMonitor to handle errors caught by Akka. Although they can not be serialized, at least we can log them.
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.
One more thing - can you update the RpcEnv doc to specify what happens in the case of uncaught exceptions?
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.
Done.
…itor errors from Akka
|
Test build #29736 has started for PR 5371 at commit |
|
LGTM. |
|
Test build #29737 has started for PR 5371 at commit |
|
Test build #29737 has finished for PR 5371 at commit
|
|
Test FAILed. |
|
Test build #29738 has started for PR 5371 at commit |
|
Test build #29736 has finished for PR 5371 at commit
|
|
Test PASSed. |
|
Test build #29738 has finished for PR 5371 at commit
|
|
Test PASSed. |
|
Merging in master. Thanks. |
This is the second PR for [SPARK-6602]. It updated MapOutputTrackerMasterActor and its unit tests.
cc @rxin