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

adding missing registrations in kryo #4451

Merged
merged 3 commits into from Feb 27, 2018
Merged

Conversation

lbergelson
Copy link
Member

  • some classes were missing registration in kryo which causes less efficient serialization

  • adding registrations for a number of classes that MarkDuplicatesSpark needs that weren't registered yet

  • notably, BAMRecord wasn't registered to use the correct serializer which could cause major inefficiencies

  • it's not clear what circumstances we're serializing BAMRecord instead of SAMRecordToGATKReadAdapter so how much this will help is not obvious

@@ -43,6 +43,13 @@ public void registerClasses(Kryo kryo) {
kryo.register(SAMRecordToGATKReadAdapter.class, new SAMRecordToGATKReadAdapterSerializer());

kryo.register(SAMRecord.class, new SAMRecordSerializer());
kryo.register(BAMRecord.class, new SAMRecordSerializer());

kryo.register(SAMFileHeader.class);
Copy link
Collaborator

Choose a reason for hiding this comment

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

This collides (admittedly harmlessly, in this case) with a registration for the same class in the ADAM serializer. I think we have to deal with the issue of registration precedence in this branch -- can you find a way to ensure that the GATK registrations always take precedence over any registrations for the same classes in our dependencies?

some classes were missing registration in kryo which causes less efficient serialization
adding registrations for a number of classes that MarkDuplicatesSpark needs that weren't registered yet

notably, BAMRecord wasn't registered to use the correct serializer which could cause major inefficiencies
it's not clear what circumstances we're serializing BAMRecord instead of SAMRecordToGATKReadAdapter so how much this will help is not obvious
@codecov-io
Copy link

Codecov Report

Merging #4451 into master will increase coverage by 0.003%.
The diff coverage is 100%.

@@               Coverage Diff               @@
##              master     #4451       +/-   ##
===============================================
+ Coverage     79.116%   79.119%   +0.003%     
- Complexity     16472     16473        +1     
===============================================
  Files           1047      1047               
  Lines          59199     59207        +8     
  Branches        9676      9676               
===============================================
+ Hits           46836     46844        +8     
+ Misses          8600      8599        -1     
- Partials        3763      3764        +1
Impacted Files Coverage Δ Complexity Δ
...itute/hellbender/engine/spark/GATKRegistrator.java 100% <100%> (ø) 3 <3> (+1) ⬆️
...e/hellbender/engine/spark/SparkContextFactory.java 71.233% <0%> (-2.74%) 11% <0%> (ø)
...park/sv/discovery/alignment/AlignmentInterval.java 89.655% <0%> (ø) 74% <0%> (ø) ⬇️
...nder/utils/runtime/StreamingProcessController.java 70.37% <0%> (+0.823%) 50% <0%> (ø) ⬇️

@lbergelson lbergelson merged commit 2bb2f50 into master Feb 27, 2018
@lbergelson lbergelson deleted the lb_add_missing_registrations branch February 27, 2018 01:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants