Closed linhr closed 1 year ago
Base: 61.59% // Head: 65.18% // Increases project coverage by +3.59%
:tada:
Coverage data is based on head (
e3541c2
) compared to base (29a0db2
). Patch coverage: 90.50% of modified lines in pull request are covered.
:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.
It's an excellent pr, thanks very mach for your contribution @linhr
@Nicole00 Thanks for your review! I've made some changes to the code according to your feedback. Let me know if they look good.
@Nicole00 Do you think if this PR can be made into the 3.4.0 release? Let me know what you think about my changes after your initial review. Thanks a lot!
What type of PR is this?
What problem(s) does this PR solve?
Issue(s) number: #77
Description:
This code change enables the dynamic table sink to process upstream change log and performs vertex/edge insert/update/delete operations for each individual row.
How do you solve it?
The solution buffers the rows (and deduplicates them by primary keys) and delegates the execution to three executors based on the row kind (for insert, update, and delete, respectively) when committing the batch.
The primary key for vertices is the vertex ID, and the primary key for edges is the combination of source vertex ID, destination vertex ID, and the rank.
New and existing test cases can show that the solution is working.
Special notes for your reviewer, ex. impact of this fix, design document, etc:
To improve code readability, there are some minor (but backward-incompatible) changes to the public interface. The changes can be seen from the diff in
README.md
and the Java code in theexample
directory. Specifically, the following has changed:.builder()
method of various execution option builder classes have been corrected to.build()
, and old.builder()
remains for compatibility.NebulaBatchOutputFormat
andNebulaSinkFunction
).batch
remains for compatibility.