-
Notifications
You must be signed in to change notification settings - Fork 2.4k
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
[HUDI-5242] Do not fail Meta sync in Deltastreamer when inline table service fails #7243
[HUDI-5242] Do not fail Meta sync in Deltastreamer when inline table service fails #7243
Conversation
a989efc
to
d3e3855
Compare
d3e3855
to
afb5f8f
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.
good you were able to test it out.
can we write a functional test for this as well.
hudi-client/hudi-client-common/src/main/java/org/apache/hudi/config/HoodieWriteConfig.java
Outdated
Show resolved
Hide resolved
79e84bb
to
59308d4
Compare
hudi-client/hudi-client-common/src/main/java/org/apache/hudi/client/BaseHoodieWriteClient.java
Outdated
Show resolved
Hide resolved
hudi-client/hudi-client-common/src/main/java/org/apache/hudi/config/HoodieWriteConfig.java
Outdated
Show resolved
Hide resolved
...nt/src/test/java/org/apache/hudi/client/functional/TestHoodieClientOnCopyOnWriteStorage.java
Outdated
Show resolved
Hide resolved
...nt/src/test/java/org/apache/hudi/client/functional/TestHoodieClientOnCopyOnWriteStorage.java
Show resolved
Hide resolved
...nt/src/test/java/org/apache/hudi/client/functional/TestHoodieClientOnCopyOnWriteStorage.java
Outdated
Show resolved
Hide resolved
...park-client/src/test/java/org/apache/hudi/client/functional/WriteClientBrokenClustering.java
Outdated
Show resolved
Hide resolved
...nt/src/test/java/org/apache/hudi/client/functional/TestHoodieClientOnCopyOnWriteStorage.java
Outdated
Show resolved
Hide resolved
...nt/src/test/java/org/apache/hudi/client/functional/TestHoodieClientOnCopyOnWriteStorage.java
Show resolved
Hide resolved
...lient/hudi-spark-client/src/test/java/org/apache/hudi/testutils/HoodieClientTestHarness.java
Outdated
Show resolved
Hide resolved
can you fix the PR desc w/ right config key |
@jonvex Can you please check the test failures? |
All tests should pass now. I thought we wanted the new behavior on by default but it was a miscommunication. |
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.
we can land once the CI succeeds.
…service fails (#7243) After the files are written, table services like clustering and compaction can fail. This causes the sync to the metaserver to not happen. This patch adds a config that when set to false, the deltastreamer will not fail and the sync to the metaserver will occur. A warning will be logged with the exception that occurred. To use this new behavior, set hoodie.fail.writes.on.inline.table.service.exception to false. Co-authored-by: Jonathan Vexler <=>
…service fails (#7243) After the files are written, table services like clustering and compaction can fail. This causes the sync to the metaserver to not happen. This patch adds a config that when set to false, the deltastreamer will not fail and the sync to the metaserver will occur. A warning will be logged with the exception that occurred. To use this new behavior, set hoodie.fail.writes.on.inline.table.service.exception to false. Co-authored-by: Jonathan Vexler <=>
…service fails (apache#7243) After the files are written, table services like clustering and compaction can fail. This causes the sync to the metaserver to not happen. This patch adds a config that when set to false, the deltastreamer will not fail and the sync to the metaserver will occur. A warning will be logged with the exception that occurred. To use this new behavior, set hoodie.fail.writes.on.inline.table.service.exception to false. Co-authored-by: Jonathan Vexler <=>
…service fails (apache#7243) After the files are written, table services like clustering and compaction can fail. This causes the sync to the metaserver to not happen. This patch adds a config that when set to false, the deltastreamer will not fail and the sync to the metaserver will occur. A warning will be logged with the exception that occurred. To use this new behavior, set hoodie.fail.writes.on.inline.table.service.exception to false. Co-authored-by: Jonathan Vexler <=>
…service fails (apache#7243) After the files are written, table services like clustering and compaction can fail. This causes the sync to the metaserver to not happen. This patch adds a config that when set to false, the deltastreamer will not fail and the sync to the metaserver will occur. A warning will be logged with the exception that occurred. To use this new behavior, set hoodie.fail.writes.on.inline.table.service.exception to false. Co-authored-by: Jonathan Vexler <=>
…service fails (apache#7243) After the files are written, table services like clustering and compaction can fail. This causes the sync to the metaserver to not happen. This patch adds a config that when set to false, the deltastreamer will not fail and the sync to the metaserver will occur. A warning will be logged with the exception that occurred. To use this new behavior, set hoodie.fail.writes.on.inline.table.service.exception to false. Co-authored-by: Jonathan Vexler <=>
…service fails (apache#7243) After the files are written, table services like clustering and compaction can fail. This causes the sync to the metaserver to not happen. This patch adds a config that when set to false, the deltastreamer will not fail and the sync to the metaserver will occur. A warning will be logged with the exception that occurred. To use this new behavior, set hoodie.fail.writes.on.inline.table.service.exception to false. Co-authored-by: Jonathan Vexler <=>
…service fails (apache#7243) After the files are written, table services like clustering and compaction can fail. This causes the sync to the metaserver to not happen. This patch adds a config that when set to false, the deltastreamer will not fail and the sync to the metaserver will occur. A warning will be logged with the exception that occurred. To use this new behavior, set hoodie.fail.writes.on.inline.table.service.exception to false. Co-authored-by: Jonathan Vexler <=>
…service fails (apache#7243) (apache#163) After the files are written, table services like clustering and compaction can fail. This causes the sync to the metaserver to not happen. This patch adds a config that when set to false, the deltastreamer will not fail and the sync to the metaserver will occur. A warning will be logged with the exception that occurred. To use this new behavior, set hoodie.fail.writes.on.inline.table.service.exception to false. Co-authored-by: Jonathan Vexler <=> Co-authored-by: Jon Vexler <[email protected]>
Change Logs
After the files are written, table services like clustering and compaction can fail. This causes the sync to the metaserver to not happen. This pr adds a config that when set to false, the deltastreamer will not fail and the sync to the metaserver will occur. A warning will be logged with the exception that occurred. To use this new behavior, set
hoodie.fail.writes.on.inline.table.service.exception
to false.How I tested:
First, in inlineClustering:BaseHoodieWriteClient.java, add the following code before the return
Test not setting the config:
Test setting the config:
props.setProperty("hoodie.fail.writes.on.inline.table.service.exception","true");
Impact
For users that retry delta sync on failure, they will continue adding one commit each retry. New partitions will not show up in the metaserver.
Risk level (write none, low medium or high below)
low
Documentation Update
Describe any necessary documentation update if there is any new feature, config, or user-facing change
A new configuration was created and an appropriate description was added
Contributor's checklist