-
Notifications
You must be signed in to change notification settings - Fork 86
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
[server] A few WCAA performance improvements #694
Conversation
I recall that one of the WC code paths has a comment explaining why LL is used here... can you search for it and make sure there is no unintended effect? If it still looks good, then let's update or delete that comment... |
1. Adopt fast-avro in the AAWC code path. 2. Use a schema-id based serde cache to avoid expensive schema comparison. 3. Dynamically choose the right structure for different logics, such as LinkedList vs ArrayList.
5b44db8
to
9c23748
Compare
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.
Thanks Gaojie. I left a few minor comments. Looking forward to merging this in!
...vinci-client/src/main/java/com/linkedin/davinci/replication/merge/MergeConflictResolver.java
Show resolved
Hide resolved
...vinci-client/src/main/java/com/linkedin/davinci/replication/merge/MergeConflictResolver.java
Show resolved
Hide resolved
...vinci-client/src/main/java/com/linkedin/davinci/replication/merge/MergeConflictResolver.java
Outdated
Show resolved
Hide resolved
...lient/src/main/java/com/linkedin/davinci/schema/merge/SortBasedCollectionFieldOpHandler.java
Outdated
Show resolved
Hide resolved
...client/src/main/java/com/linkedin/davinci/serializer/avro/MapOrderPreservingDatumReader.java
Show resolved
Hide resolved
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.
LGTM! Thanks!
* [server] A few WCAA performance improvements 1. Adopt fast-avro in the AAWC code path. 2. Use a schema-id based serde cache to avoid expensive schema comparison. 3. Dynamically choose the right structure for different logics, such as LinkedList vs ArrayList. * Fixed spotbug issue * Fixed test coverage issue * Addressed comments
LinkedList vs ArrayList.
How was this PR tested?
CI
Does this PR introduce any user-facing changes?