-
Notifications
You must be signed in to change notification settings - Fork 29k
[SPARK-6087][CORE] Provide actionable exception if Kryo buffer is not large enough #4947
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
|
Can one of the admins verify this patch? |
|
ok to test |
|
LGTM. |
|
Test build #28388 has started for PR 4947 at commit
|
|
Test build #28388 has finished for PR 4947 at commit
|
|
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.
Original message (Available and requested size) in KryoException is useful too. Is it better to include original message too?
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.
Original exception is preserved as cause, so it is printed anyway.
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.
But as the Exception's Constructor Detail (http://docs.oracle.com/javase/7/docs/api/java/lang/Exception.html#Exception(java.lang.String,%20java.lang.Throwable) states,
Note that the detail message associated with cause is not automatically incorporated in this exception's detail message.
Is it sure that it will be printed?
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.
The cause stack trace / message would be printed by printStackTrace. It would not become part of the message from this new SparkException. Net-net I think it wouldn't hurt to just add additional info to the new SparkException message if it's deemed useful.
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.
Sure, you can check example of stack trace here.
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.
|
Test build #28397 has started for PR 4947 at commit
|
|
LGTM. I'll wait a bit longer for more comments. |
|
Test build #28397 has finished for PR 4947 at commit
|
|
Test PASSed. |
|
Is this not needed for |
|
@sryza |
|
Yes, that looks correct. In the other cases, we aren't writing to an internal buffer, not one that is controlled by this buffer size setting. |
… large enough A simple try-catch wrapping KryoException to be more informative. Author: Lev Khomich <levkhomich@gmail.com> Closes #4947 from levkhomich/master and squashes the following commits: 0f7a947 [Lev Khomich] [SPARK-6087][CORE] Provide actionable exception if Kryo buffer is not large enough
This is to workaround an implicit result of apache#4947 which suppressed the original Kryo exception if the overflow happened during serialization.
## What changes were proposed in this pull request? This is to workaround an implicit result of apache#4947 which suppressed the original Kryo exception if the overflow happened during serialization. ## How was this patch tested? `KryoSerializerSuite` was augmented to reflect this change. Author: Sergei Lebedev <superbobry@gmail.com> Closes apache#16416 from superbobry/patch-1.
This is to workaround an implicit result of apache#4947 which suppressed the original Kryo exception if the overflow happened during serialization.
## What changes were proposed in this pull request? This is to workaround an implicit result of apache#4947 which suppressed the original Kryo exception if the overflow happened during serialization. ## How was this patch tested? `KryoSerializerSuite` was augmented to reflect this change. Author: Sergei Lebedev <superbobry@gmail.com> Closes apache#16416 from superbobry/patch-1.
## What changes were proposed in this pull request? This is to workaround an implicit result of apache#4947 which suppressed the original Kryo exception if the overflow happened during serialization. ## How was this patch tested? `KryoSerializerSuite` was augmented to reflect this change. Author: Sergei Lebedev <superbobry@gmail.com> Closes apache#16416 from superbobry/patch-1.
A simple try-catch wrapping KryoException to be more informative.