-
Notifications
You must be signed in to change notification settings - Fork 28.7k
SPARK-4567. Make SparkJobInfo and SparkStageInfo serializable #3426
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 build #23779 has started for PR 3426 at commit
|
Test build #23779 has finished for PR 3426 at commit
|
Test PASSed. |
LGTM |
LGTM, too. I'm going to merge this into |
Author: Sandy Ryza <[email protected]> Closes #3426 from sryza/sandy-spark-4567 and squashes the following commits: cb4b8d2 [Sandy Ryza] SPARK-4567. Make SparkJobInfo and SparkStageInfo serializable (cherry picked from commit 5e4c06f) Signed-off-by: Josh Rosen <[email protected]>
Heh @JoshRosen @sryza , should this patch include a serialVersionUID attribute on the classes to be serialized to make sure compiler quirks don't cause different UIDs to be generated for the classes? |
Aren't default serialVersionUIDs generated in a consistent way across all JVMs because the algorithm for generating them is part of the Java spec? |
Err, across all compilers? |
http://stackoverflow.com/questions/285793/what-is-a-serialversionuid-and-why-should-i-use-it seems to be a good summary of the pros and cons of this approach |
The mapping from class structure to serialVersionUID is well defined. The mapping from source to class structure may not be 100% since the compiler can stick in synthetics and such. That said adding serialVersionUID is the less conservative default. The failure mode of forgetting to detect and update serialized form changes is potentially silent corruption of data. The failure mode of not adding it is getting exceptions about incompatible changes when the two versions could be made compatible. I advise doing this only if really necessary because it doesn't work otherwise. It is not something to add just because . |
No description provided.