-
Notifications
You must be signed in to change notification settings - Fork 60
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
[fast-avro][deserializer] Populate methods always with 'customization' argument #557
[fast-avro][deserializer] Populate methods always with 'customization' argument #557
Conversation
...erde/avro-fastserde/src/main/java/com/linkedin/avro/fastserde/FastDeserializerGenerator.java
Show resolved
Hide resolved
...erde/avro-fastserde/src/main/java/com/linkedin/avro/fastserde/FastDeserializerGenerator.java
Show resolved
Hide resolved
ad53cc1
to
f0e2368
Compare
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## master #557 +/- ##
============================================
- Coverage 46.24% 46.21% -0.04%
+ Complexity 4619 4591 -28
============================================
Files 412 410 -2
Lines 28679 28610 -69
Branches 4686 4677 -9
============================================
- Hits 13262 13221 -41
+ Misses 13834 13809 -25
+ Partials 1583 1580 -3 ☔ View full report in Codecov by Sentry. |
d8860b6
to
b7b6041
Compare
deserialize-method(s) of nested records may generate another populate methods that require 'customization' (at least for compilation). TDD approach - this commit adds unit test which fails and shows where the issue actually is.
Hi @radai-rosenblatt , @FelixGV , @gaojieliu |
because deserialize-method(s) of nested records may generate another populate methods that require 'customization' (at least for compilation). This commits contains the fix.
b7b6041
to
ff2c378
Compare
Looks good to me and I am going to merge it and cut a new release. |
New release is out: |
Thank you @gaojieliu ! |
Populate methods now always have 'customization' argument because deserialize-method(s) of nested records may generate another populate methods that require 'customization' (at least for compilation purposes).
This may happen when record is deserialized with schema having less fields (usually: older schema) AND
populate_...()
helper method is generated on a field for whichrecordAction.getShouldRead() == false
, so a bit of bad-luck is also needed.In the added unit-test, without fix the methods chain is: