You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hudi.apache.org by "nsivabalan (via GitHub)" <gi...@apache.org> on 2023/09/13 15:29:41 UTC

[GitHub] [hudi] nsivabalan opened a new pull request, #9709: [HUDI-6856] Adding a page for partially failed commits

nsivabalan opened a new pull request, #9709:
URL: https://github.com/apache/hudi/pull/9709

   ### Change Logs
   
   Adding a page for partially failed commits to our website.
   
   ### Impact
   
   Creates awareness. 
   
   ### Risk level (write none, low medium or high below)
   
   none
   
   ### Documentation Update
   
   _Describe any necessary documentation update if there is any new feature, config, or user-facing change_
   
   - _The config description must be updated if new configs are added or the default value of the configs are changed_
   - _Any new feature or user-facing change requires updating the Hudi website. Please create a Jira ticket, attach the
     ticket number here and follow the [instruction](https://hudi.apache.org/contribute/developer-setup#website) to make
     changes to the website._
   
   ### Contributor's checklist
   
   - [ ] Read through [contributor's guide](https://hudi.apache.org/contribute/how-to-contribute)
   - [ ] Change Logs and Impact were stated clearly
   - [ ] Adequate tests were added if applicable
   - [ ] CI passed
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@hudi.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [hudi] yihua commented on a diff in pull request #9709: [HUDI-6856] Adding a page for partially failed commits

Posted by "yihua (via GitHub)" <gi...@apache.org>.
yihua commented on code in PR #9709:
URL: https://github.com/apache/hudi/pull/9709#discussion_r1326391555


##########
website/docs/rollbacks.md:
##########
@@ -0,0 +1,67 @@
+---
+title: Partially Failed Commits
+toc: true
+---
+
+## Partially failed commits
+
+Your pipelines could fail due to numerous reasons like crashes, valid bugs in the code, unavailability of any external 
+third party system (like lock provider), or user could kill mid-way to change some properties. A well designed system should 
+detect such partially failed commits and ensure dirty data is not exposed to the read queries and also clean them up. 
+We have already took a peek into Hudi’s timeline which forms the core for reader and writer isolation. If a commit has 
+not transitioned to complete as per the hudi timeline, the readers will ignore the data from the respective write. 
+And so partially failed writes are never read by any readers (for all query types). But the curious question is, how 
+does the partially written data is eventually deleted? Does it require manual command to be executed from time to time 
+or should it be automatically handled by the system?
+
+### Handling partially failed commits
+Hudi has a lot of platformization built in so as to ease the operationalization of lakehouse tables. Once such feature 
+is the automatic clean up of partially failed commits. Users don’t need to run any additional commands to clean up dirty 
+data or the data produced by failed commits. If you continue to write to hudi tables, one of your future commits will 
+take care of cleaning up older data that failed mid-way during a write/commit. This keeps the storage in bounds w/o 
+requiring any manual intervention from the users. 
+
+Let’s zoom in a bit and understand how such clean ups happen and is there any challenges involved in such cleaning 
+when multi-writers are involved.
+
+#### Rolling back partially failed commits for a single writer 
+Incase of single writer model, the rollback logic is fairly straightforward. Every action in Hudi's timeline, goes 
+through 3 states, namely requested, inflight and completed. Whenever a new commit starts, hudi checks the timeline 
+for any actions/commits that is not yet committed and that refers to partially failed commit. So, immediately rollback 
+is triggered and all dirty data is cleaned up followed by cleaning up the commit instants from the timeline.
+
+
+![An example illustration of single writer rollbacks](/assets/images/blog/rollbacks/single_write_rollback.png)
+
+
+#### Rolling back of partially failed commits w/ multi-writers
+The challenging part is when multi-writers are invoked. Just because, some commit is still non-completed as per the 
+timeline, it does not mean current writer (new) can assume its a partially failed commit. Because, there could be a 
+concurrent writer that’s currently making progress. And Hudi has been designed to not have any centralized server 
+running always and so hudi has a  ingenious way to deduce such partially failed writes.
+
+##### Heart beats to the rescue
+We are leveraging heart beats to our rescue here. Each commit will keep emitting heart beats from the start of the 
+write to its completion. During rollback deduction, hudi checks for heart beat timeouts for all on-going or incomplete 
+commits and detects partially failed commits on such timeouts. For any ongoing commits, the heart beat should not 

Review Comment:
   ```suggestion
   commits and detects partially failed commits on such timeouts. For any ongoing commits, the heartbeat should not 
   ```



##########
website/docs/rollbacks.md:
##########
@@ -0,0 +1,67 @@
+---
+title: Partially Failed Commits
+toc: true
+---
+
+## Partially failed commits
+
+Your pipelines could fail due to numerous reasons like crashes, valid bugs in the code, unavailability of any external 
+third party system (like lock provider), or user could kill mid-way to change some properties. A well designed system should 
+detect such partially failed commits and ensure dirty data is not exposed to the read queries and also clean them up. 
+We have already took a peek into Hudi’s timeline which forms the core for reader and writer isolation. If a commit has 
+not transitioned to complete as per the hudi timeline, the readers will ignore the data from the respective write. 
+And so partially failed writes are never read by any readers (for all query types). But the curious question is, how 
+does the partially written data is eventually deleted? Does it require manual command to be executed from time to time 
+or should it be automatically handled by the system?
+
+### Handling partially failed commits
+Hudi has a lot of platformization built in so as to ease the operationalization of lakehouse tables. Once such feature 
+is the automatic clean up of partially failed commits. Users don’t need to run any additional commands to clean up dirty 
+data or the data produced by failed commits. If you continue to write to hudi tables, one of your future commits will 
+take care of cleaning up older data that failed mid-way during a write/commit. This keeps the storage in bounds w/o 
+requiring any manual intervention from the users. 
+
+Let’s zoom in a bit and understand how such clean ups happen and is there any challenges involved in such cleaning 
+when multi-writers are involved.
+
+#### Rolling back partially failed commits for a single writer 
+Incase of single writer model, the rollback logic is fairly straightforward. Every action in Hudi's timeline, goes 
+through 3 states, namely requested, inflight and completed. Whenever a new commit starts, hudi checks the timeline 
+for any actions/commits that is not yet committed and that refers to partially failed commit. So, immediately rollback 
+is triggered and all dirty data is cleaned up followed by cleaning up the commit instants from the timeline.
+
+
+![An example illustration of single writer rollbacks](/assets/images/blog/rollbacks/single_write_rollback.png)
+
+
+#### Rolling back of partially failed commits w/ multi-writers
+The challenging part is when multi-writers are invoked. Just because, some commit is still non-completed as per the 
+timeline, it does not mean current writer (new) can assume its a partially failed commit. Because, there could be a 
+concurrent writer that’s currently making progress. And Hudi has been designed to not have any centralized server 
+running always and so hudi has a  ingenious way to deduce such partially failed writes.
+
+##### Heart beats to the rescue
+We are leveraging heart beats to our rescue here. Each commit will keep emitting heart beats from the start of the 

Review Comment:
   ```suggestion
   We are leveraging heartbeats to our rescue here. Each commit will keep emitting heartbeats from the start of the 
   ```



##########
website/docs/rollbacks.md:
##########
@@ -0,0 +1,67 @@
+---
+title: Partially Failed Commits
+toc: true
+---
+
+## Partially failed commits
+
+Your pipelines could fail due to numerous reasons like crashes, valid bugs in the code, unavailability of any external 
+third party system (like lock provider), or user could kill mid-way to change some properties. A well designed system should 
+detect such partially failed commits and ensure dirty data is not exposed to the read queries and also clean them up. 
+We have already took a peek into Hudi’s timeline which forms the core for reader and writer isolation. If a commit has 
+not transitioned to complete as per the hudi timeline, the readers will ignore the data from the respective write. 
+And so partially failed writes are never read by any readers (for all query types). But the curious question is, how 
+does the partially written data is eventually deleted? Does it require manual command to be executed from time to time 
+or should it be automatically handled by the system?
+
+### Handling partially failed commits
+Hudi has a lot of platformization built in so as to ease the operationalization of lakehouse tables. Once such feature 
+is the automatic clean up of partially failed commits. Users don’t need to run any additional commands to clean up dirty 
+data or the data produced by failed commits. If you continue to write to hudi tables, one of your future commits will 
+take care of cleaning up older data that failed mid-way during a write/commit. This keeps the storage in bounds w/o 
+requiring any manual intervention from the users. 
+
+Let’s zoom in a bit and understand how such clean ups happen and is there any challenges involved in such cleaning 
+when multi-writers are involved.
+
+#### Rolling back partially failed commits for a single writer 
+Incase of single writer model, the rollback logic is fairly straightforward. Every action in Hudi's timeline, goes 
+through 3 states, namely requested, inflight and completed. Whenever a new commit starts, hudi checks the timeline 
+for any actions/commits that is not yet committed and that refers to partially failed commit. So, immediately rollback 
+is triggered and all dirty data is cleaned up followed by cleaning up the commit instants from the timeline.
+
+
+![An example illustration of single writer rollbacks](/assets/images/blog/rollbacks/single_write_rollback.png)
+
+
+#### Rolling back of partially failed commits w/ multi-writers
+The challenging part is when multi-writers are invoked. Just because, some commit is still non-completed as per the 
+timeline, it does not mean current writer (new) can assume its a partially failed commit. Because, there could be a 
+concurrent writer that’s currently making progress. And Hudi has been designed to not have any centralized server 
+running always and so hudi has a  ingenious way to deduce such partially failed writes.
+
+##### Heart beats to the rescue
+We are leveraging heart beats to our rescue here. Each commit will keep emitting heart beats from the start of the 
+write to its completion. During rollback deduction, hudi checks for heart beat timeouts for all on-going or incomplete 

Review Comment:
   ```suggestion
   write to its completion. During rollback deduction, Hudi checks for heartbeat timeouts for all ongoing or incomplete 
   ```



##########
website/docs/rollbacks.md:
##########
@@ -0,0 +1,67 @@
+---
+title: Partially Failed Commits
+toc: true
+---
+
+## Partially failed commits
+
+Your pipelines could fail due to numerous reasons like crashes, valid bugs in the code, unavailability of any external 
+third party system (like lock provider), or user could kill mid-way to change some properties. A well designed system should 
+detect such partially failed commits and ensure dirty data is not exposed to the read queries and also clean them up. 
+We have already took a peek into Hudi’s timeline which forms the core for reader and writer isolation. If a commit has 
+not transitioned to complete as per the hudi timeline, the readers will ignore the data from the respective write. 
+And so partially failed writes are never read by any readers (for all query types). But the curious question is, how 
+does the partially written data is eventually deleted? Does it require manual command to be executed from time to time 
+or should it be automatically handled by the system?
+
+### Handling partially failed commits
+Hudi has a lot of platformization built in so as to ease the operationalization of lakehouse tables. Once such feature 
+is the automatic clean up of partially failed commits. Users don’t need to run any additional commands to clean up dirty 
+data or the data produced by failed commits. If you continue to write to hudi tables, one of your future commits will 
+take care of cleaning up older data that failed mid-way during a write/commit. This keeps the storage in bounds w/o 
+requiring any manual intervention from the users. 
+
+Let’s zoom in a bit and understand how such clean ups happen and is there any challenges involved in such cleaning 
+when multi-writers are involved.
+
+#### Rolling back partially failed commits for a single writer 
+Incase of single writer model, the rollback logic is fairly straightforward. Every action in Hudi's timeline, goes 
+through 3 states, namely requested, inflight and completed. Whenever a new commit starts, hudi checks the timeline 
+for any actions/commits that is not yet committed and that refers to partially failed commit. So, immediately rollback 
+is triggered and all dirty data is cleaned up followed by cleaning up the commit instants from the timeline.
+
+
+![An example illustration of single writer rollbacks](/assets/images/blog/rollbacks/single_write_rollback.png)
+
+
+#### Rolling back of partially failed commits w/ multi-writers
+The challenging part is when multi-writers are invoked. Just because, some commit is still non-completed as per the 
+timeline, it does not mean current writer (new) can assume its a partially failed commit. Because, there could be a 
+concurrent writer that’s currently making progress. And Hudi has been designed to not have any centralized server 
+running always and so hudi has a  ingenious way to deduce such partially failed writes.
+
+##### Heart beats to the rescue
+We are leveraging heart beats to our rescue here. Each commit will keep emitting heart beats from the start of the 
+write to its completion. During rollback deduction, hudi checks for heart beat timeouts for all on-going or incomplete 
+commits and detects partially failed commits on such timeouts. For any ongoing commits, the heart beat should not 
+have elapsed the timeout. For eg, if a commit’s heart beat is not updated for 10+ mins, we can safely assume the 

Review Comment:
   ```suggestion
   have elapsed the timeout. For example, if a commit’s heart eat is not updated for 10+ mins, we can safely assume the 
   ```



##########
website/docs/rollbacks.md:
##########
@@ -0,0 +1,67 @@
+---
+title: Partially Failed Commits
+toc: true
+---
+
+## Partially failed commits
+
+Your pipelines could fail due to numerous reasons like crashes, valid bugs in the code, unavailability of any external 
+third party system (like lock provider), or user could kill mid-way to change some properties. A well designed system should 
+detect such partially failed commits and ensure dirty data is not exposed to the read queries and also clean them up. 
+We have already took a peek into Hudi’s timeline which forms the core for reader and writer isolation. If a commit has 
+not transitioned to complete as per the hudi timeline, the readers will ignore the data from the respective write. 
+And so partially failed writes are never read by any readers (for all query types). But the curious question is, how 
+does the partially written data is eventually deleted? Does it require manual command to be executed from time to time 
+or should it be automatically handled by the system?
+
+### Handling partially failed commits
+Hudi has a lot of platformization built in so as to ease the operationalization of lakehouse tables. Once such feature 
+is the automatic clean up of partially failed commits. Users don’t need to run any additional commands to clean up dirty 
+data or the data produced by failed commits. If you continue to write to hudi tables, one of your future commits will 
+take care of cleaning up older data that failed mid-way during a write/commit. This keeps the storage in bounds w/o 
+requiring any manual intervention from the users. 
+
+Let’s zoom in a bit and understand how such clean ups happen and is there any challenges involved in such cleaning 
+when multi-writers are involved.
+
+#### Rolling back partially failed commits for a single writer 
+Incase of single writer model, the rollback logic is fairly straightforward. Every action in Hudi's timeline, goes 
+through 3 states, namely requested, inflight and completed. Whenever a new commit starts, hudi checks the timeline 
+for any actions/commits that is not yet committed and that refers to partially failed commit. So, immediately rollback 
+is triggered and all dirty data is cleaned up followed by cleaning up the commit instants from the timeline.
+
+
+![An example illustration of single writer rollbacks](/assets/images/blog/rollbacks/single_write_rollback.png)
+
+
+#### Rolling back of partially failed commits w/ multi-writers
+The challenging part is when multi-writers are invoked. Just because, some commit is still non-completed as per the 
+timeline, it does not mean current writer (new) can assume its a partially failed commit. Because, there could be a 
+concurrent writer that’s currently making progress. And Hudi has been designed to not have any centralized server 
+running always and so hudi has a  ingenious way to deduce such partially failed writes.
+
+##### Heart beats to the rescue
+We are leveraging heart beats to our rescue here. Each commit will keep emitting heart beats from the start of the 
+write to its completion. During rollback deduction, hudi checks for heart beat timeouts for all on-going or incomplete 
+commits and detects partially failed commits on such timeouts. For any ongoing commits, the heart beat should not 
+have elapsed the timeout. For eg, if a commit’s heart beat is not updated for 10+ mins, we can safely assume the 
+original writer has failed/crashed and is safe to clean it up. So, the rollbacks in case of multi-writers are lazy 
+and is not eager as we saw with single writer model. But it is still automatic and users don’t need to execute any 
+explicit command to trigger such cleanup of failed writes. When such lazy rollback kicks in, both data files and 
+timeline files for the failed writes are deleted.
+
+##### Heartbeats
+Hudi employs a simple yet effective heartbeat mechanism to notify that a commit is still making progress. A heart beat 
+file is created for every commit under “.hoodie/.heartbeat/” (for eg, “.hoodie/.heartbeat/20230819183853177”). 
+The writer will start a background thread which will keep updating this heart beat file at regular cadence. So, checking 

Review Comment:
   ```suggestion
   The writer will start a background thread which will keep updating this heartbeat file at a regular cadence to refresh the last modification time of the file. So, checking 
   ```



##########
website/docs/rollbacks.md:
##########
@@ -0,0 +1,67 @@
+---
+title: Partially Failed Commits
+toc: true
+---
+
+## Partially failed commits
+
+Your pipelines could fail due to numerous reasons like crashes, valid bugs in the code, unavailability of any external 
+third party system (like lock provider), or user could kill mid-way to change some properties. A well designed system should 
+detect such partially failed commits and ensure dirty data is not exposed to the read queries and also clean them up. 
+We have already took a peek into Hudi’s timeline which forms the core for reader and writer isolation. If a commit has 
+not transitioned to complete as per the hudi timeline, the readers will ignore the data from the respective write. 
+And so partially failed writes are never read by any readers (for all query types). But the curious question is, how 
+does the partially written data is eventually deleted? Does it require manual command to be executed from time to time 
+or should it be automatically handled by the system?
+
+### Handling partially failed commits
+Hudi has a lot of platformization built in so as to ease the operationalization of lakehouse tables. Once such feature 
+is the automatic clean up of partially failed commits. Users don’t need to run any additional commands to clean up dirty 
+data or the data produced by failed commits. If you continue to write to hudi tables, one of your future commits will 
+take care of cleaning up older data that failed mid-way during a write/commit. This keeps the storage in bounds w/o 
+requiring any manual intervention from the users. 
+
+Let’s zoom in a bit and understand how such clean ups happen and is there any challenges involved in such cleaning 
+when multi-writers are involved.
+
+#### Rolling back partially failed commits for a single writer 
+Incase of single writer model, the rollback logic is fairly straightforward. Every action in Hudi's timeline, goes 
+through 3 states, namely requested, inflight and completed. Whenever a new commit starts, hudi checks the timeline 
+for any actions/commits that is not yet committed and that refers to partially failed commit. So, immediately rollback 
+is triggered and all dirty data is cleaned up followed by cleaning up the commit instants from the timeline.
+
+
+![An example illustration of single writer rollbacks](/assets/images/blog/rollbacks/single_write_rollback.png)
+
+
+#### Rolling back of partially failed commits w/ multi-writers
+The challenging part is when multi-writers are invoked. Just because, some commit is still non-completed as per the 
+timeline, it does not mean current writer (new) can assume its a partially failed commit. Because, there could be a 
+concurrent writer that’s currently making progress. And Hudi has been designed to not have any centralized server 
+running always and so hudi has a  ingenious way to deduce such partially failed writes.
+
+##### Heart beats to the rescue
+We are leveraging heart beats to our rescue here. Each commit will keep emitting heart beats from the start of the 
+write to its completion. During rollback deduction, hudi checks for heart beat timeouts for all on-going or incomplete 
+commits and detects partially failed commits on such timeouts. For any ongoing commits, the heart beat should not 
+have elapsed the timeout. For eg, if a commit’s heart beat is not updated for 10+ mins, we can safely assume the 
+original writer has failed/crashed and is safe to clean it up. So, the rollbacks in case of multi-writers are lazy 
+and is not eager as we saw with single writer model. But it is still automatic and users don’t need to execute any 
+explicit command to trigger such cleanup of failed writes. When such lazy rollback kicks in, both data files and 
+timeline files for the failed writes are deleted.
+
+##### Heartbeats
+Hudi employs a simple yet effective heartbeat mechanism to notify that a commit is still making progress. A heart beat 
+file is created for every commit under “.hoodie/.heartbeat/” (for eg, “.hoodie/.heartbeat/20230819183853177”). 
+The writer will start a background thread which will keep updating this heart beat file at regular cadence. So, checking 
+for last mod time of the heart beat file will give us information whether the writer that started the commit of 

Review Comment:
   ```suggestion
   for last modification time of the heartbeat file gives us information whether the writer that started the commit of 
   ```



##########
website/docs/rollbacks.md:
##########
@@ -0,0 +1,67 @@
+---
+title: Partially Failed Commits
+toc: true
+---
+
+## Partially failed commits
+
+Your pipelines could fail due to numerous reasons like crashes, valid bugs in the code, unavailability of any external 
+third party system (like lock provider), or user could kill mid-way to change some properties. A well designed system should 
+detect such partially failed commits and ensure dirty data is not exposed to the read queries and also clean them up. 
+We have already took a peek into Hudi’s timeline which forms the core for reader and writer isolation. If a commit has 
+not transitioned to complete as per the hudi timeline, the readers will ignore the data from the respective write. 
+And so partially failed writes are never read by any readers (for all query types). But the curious question is, how 
+does the partially written data is eventually deleted? Does it require manual command to be executed from time to time 
+or should it be automatically handled by the system?
+
+### Handling partially failed commits
+Hudi has a lot of platformization built in so as to ease the operationalization of lakehouse tables. Once such feature 
+is the automatic clean up of partially failed commits. Users don’t need to run any additional commands to clean up dirty 
+data or the data produced by failed commits. If you continue to write to hudi tables, one of your future commits will 
+take care of cleaning up older data that failed mid-way during a write/commit. This keeps the storage in bounds w/o 
+requiring any manual intervention from the users. 
+
+Let’s zoom in a bit and understand how such clean ups happen and is there any challenges involved in such cleaning 
+when multi-writers are involved.
+
+#### Rolling back partially failed commits for a single writer 
+Incase of single writer model, the rollback logic is fairly straightforward. Every action in Hudi's timeline, goes 
+through 3 states, namely requested, inflight and completed. Whenever a new commit starts, hudi checks the timeline 
+for any actions/commits that is not yet committed and that refers to partially failed commit. So, immediately rollback 
+is triggered and all dirty data is cleaned up followed by cleaning up the commit instants from the timeline.
+
+
+![An example illustration of single writer rollbacks](/assets/images/blog/rollbacks/single_write_rollback.png)
+
+
+#### Rolling back of partially failed commits w/ multi-writers
+The challenging part is when multi-writers are invoked. Just because, some commit is still non-completed as per the 
+timeline, it does not mean current writer (new) can assume its a partially failed commit. Because, there could be a 
+concurrent writer that’s currently making progress. And Hudi has been designed to not have any centralized server 
+running always and so hudi has a  ingenious way to deduce such partially failed writes.
+
+##### Heart beats to the rescue
+We are leveraging heart beats to our rescue here. Each commit will keep emitting heart beats from the start of the 
+write to its completion. During rollback deduction, hudi checks for heart beat timeouts for all on-going or incomplete 
+commits and detects partially failed commits on such timeouts. For any ongoing commits, the heart beat should not 
+have elapsed the timeout. For eg, if a commit’s heart beat is not updated for 10+ mins, we can safely assume the 
+original writer has failed/crashed and is safe to clean it up. So, the rollbacks in case of multi-writers are lazy 

Review Comment:
   ```suggestion
   original writer has failed/crashed and is safe to clean it up. So, the rollbacks in case of multi-writers are lazy 
   ```
   ```suggestion
   original writer has failed/crashed and the incomplete commit is safe to clean up. So, the rollbacks in case of multi-writers are lazy 
   ```



##########
website/docs/rollbacks.md:
##########
@@ -0,0 +1,67 @@
+---
+title: Partially Failed Commits
+toc: true
+---
+
+## Partially failed commits
+
+Your pipelines could fail due to numerous reasons like crashes, valid bugs in the code, unavailability of any external 
+third party system (like lock provider), or user could kill mid-way to change some properties. A well designed system should 
+detect such partially failed commits and ensure dirty data is not exposed to the read queries and also clean them up. 
+We have already took a peek into Hudi’s timeline which forms the core for reader and writer isolation. If a commit has 
+not transitioned to complete as per the hudi timeline, the readers will ignore the data from the respective write. 
+And so partially failed writes are never read by any readers (for all query types). But the curious question is, how 
+does the partially written data is eventually deleted? Does it require manual command to be executed from time to time 
+or should it be automatically handled by the system?
+
+### Handling partially failed commits
+Hudi has a lot of platformization built in so as to ease the operationalization of lakehouse tables. Once such feature 
+is the automatic clean up of partially failed commits. Users don’t need to run any additional commands to clean up dirty 
+data or the data produced by failed commits. If you continue to write to hudi tables, one of your future commits will 
+take care of cleaning up older data that failed mid-way during a write/commit. This keeps the storage in bounds w/o 
+requiring any manual intervention from the users. 
+
+Let’s zoom in a bit and understand how such clean ups happen and is there any challenges involved in such cleaning 
+when multi-writers are involved.
+
+#### Rolling back partially failed commits for a single writer 
+Incase of single writer model, the rollback logic is fairly straightforward. Every action in Hudi's timeline, goes 
+through 3 states, namely requested, inflight and completed. Whenever a new commit starts, hudi checks the timeline 
+for any actions/commits that is not yet committed and that refers to partially failed commit. So, immediately rollback 
+is triggered and all dirty data is cleaned up followed by cleaning up the commit instants from the timeline.
+
+
+![An example illustration of single writer rollbacks](/assets/images/blog/rollbacks/single_write_rollback.png)
+
+
+#### Rolling back of partially failed commits w/ multi-writers
+The challenging part is when multi-writers are invoked. Just because, some commit is still non-completed as per the 
+timeline, it does not mean current writer (new) can assume its a partially failed commit. Because, there could be a 
+concurrent writer that’s currently making progress. And Hudi has been designed to not have any centralized server 
+running always and so hudi has a  ingenious way to deduce such partially failed writes.
+
+##### Heart beats to the rescue
+We are leveraging heart beats to our rescue here. Each commit will keep emitting heart beats from the start of the 
+write to its completion. During rollback deduction, hudi checks for heart beat timeouts for all on-going or incomplete 
+commits and detects partially failed commits on such timeouts. For any ongoing commits, the heart beat should not 
+have elapsed the timeout. For eg, if a commit’s heart beat is not updated for 10+ mins, we can safely assume the 
+original writer has failed/crashed and is safe to clean it up. So, the rollbacks in case of multi-writers are lazy 
+and is not eager as we saw with single writer model. But it is still automatic and users don’t need to execute any 
+explicit command to trigger such cleanup of failed writes. When such lazy rollback kicks in, both data files and 
+timeline files for the failed writes are deleted.
+
+##### Heartbeats
+Hudi employs a simple yet effective heartbeat mechanism to notify that a commit is still making progress. A heart beat 

Review Comment:
   ```suggestion
   Hudi employs a simple yet effective heartbeat mechanism to notify that a commit is still making progress. A heartbeat 
   ```



##########
website/docs/rollbacks.md:
##########
@@ -0,0 +1,67 @@
+---
+title: Partially Failed Commits
+toc: true
+---
+
+## Partially failed commits
+
+Your pipelines could fail due to numerous reasons like crashes, valid bugs in the code, unavailability of any external 
+third party system (like lock provider), or user could kill mid-way to change some properties. A well designed system should 
+detect such partially failed commits and ensure dirty data is not exposed to the read queries and also clean them up. 
+We have already took a peek into Hudi’s timeline which forms the core for reader and writer isolation. If a commit has 
+not transitioned to complete as per the hudi timeline, the readers will ignore the data from the respective write. 
+And so partially failed writes are never read by any readers (for all query types). But the curious question is, how 
+does the partially written data is eventually deleted? Does it require manual command to be executed from time to time 
+or should it be automatically handled by the system?
+
+### Handling partially failed commits
+Hudi has a lot of platformization built in so as to ease the operationalization of lakehouse tables. Once such feature 
+is the automatic clean up of partially failed commits. Users don’t need to run any additional commands to clean up dirty 
+data or the data produced by failed commits. If you continue to write to hudi tables, one of your future commits will 
+take care of cleaning up older data that failed mid-way during a write/commit. This keeps the storage in bounds w/o 
+requiring any manual intervention from the users. 
+
+Let’s zoom in a bit and understand how such clean ups happen and is there any challenges involved in such cleaning 
+when multi-writers are involved.
+
+#### Rolling back partially failed commits for a single writer 
+Incase of single writer model, the rollback logic is fairly straightforward. Every action in Hudi's timeline, goes 
+through 3 states, namely requested, inflight and completed. Whenever a new commit starts, hudi checks the timeline 
+for any actions/commits that is not yet committed and that refers to partially failed commit. So, immediately rollback 
+is triggered and all dirty data is cleaned up followed by cleaning up the commit instants from the timeline.
+
+
+![An example illustration of single writer rollbacks](/assets/images/blog/rollbacks/single_write_rollback.png)
+
+
+#### Rolling back of partially failed commits w/ multi-writers
+The challenging part is when multi-writers are invoked. Just because, some commit is still non-completed as per the 
+timeline, it does not mean current writer (new) can assume its a partially failed commit. Because, there could be a 
+concurrent writer that’s currently making progress. And Hudi has been designed to not have any centralized server 
+running always and so hudi has a  ingenious way to deduce such partially failed writes.
+
+##### Heart beats to the rescue
+We are leveraging heart beats to our rescue here. Each commit will keep emitting heart beats from the start of the 
+write to its completion. During rollback deduction, hudi checks for heart beat timeouts for all on-going or incomplete 
+commits and detects partially failed commits on such timeouts. For any ongoing commits, the heart beat should not 
+have elapsed the timeout. For eg, if a commit’s heart beat is not updated for 10+ mins, we can safely assume the 
+original writer has failed/crashed and is safe to clean it up. So, the rollbacks in case of multi-writers are lazy 
+and is not eager as we saw with single writer model. But it is still automatic and users don’t need to execute any 
+explicit command to trigger such cleanup of failed writes. When such lazy rollback kicks in, both data files and 
+timeline files for the failed writes are deleted.
+
+##### Heartbeats
+Hudi employs a simple yet effective heartbeat mechanism to notify that a commit is still making progress. A heart beat 
+file is created for every commit under “.hoodie/.heartbeat/” (for eg, “.hoodie/.heartbeat/20230819183853177”). 
+The writer will start a background thread which will keep updating this heart beat file at regular cadence. So, checking 
+for last mod time of the heart beat file will give us information whether the writer that started the commit of 
+interest is still making progress or not. On completion of the commit, the heart beat file is deleted. 

Review Comment:
   ```suggestion
   interest is still making progress or not. On completion of the commit, the heartbeat file is deleted. 
   ```



##########
website/docs/rollbacks.md:
##########
@@ -0,0 +1,67 @@
+---
+title: Partially Failed Commits
+toc: true
+---
+
+## Partially failed commits
+
+Your pipelines could fail due to numerous reasons like crashes, valid bugs in the code, unavailability of any external 
+third party system (like lock provider), or user could kill mid-way to change some properties. A well designed system should 
+detect such partially failed commits and ensure dirty data is not exposed to the read queries and also clean them up. 
+We have already took a peek into Hudi’s timeline which forms the core for reader and writer isolation. If a commit has 
+not transitioned to complete as per the hudi timeline, the readers will ignore the data from the respective write. 
+And so partially failed writes are never read by any readers (for all query types). But the curious question is, how 
+does the partially written data is eventually deleted? Does it require manual command to be executed from time to time 
+or should it be automatically handled by the system?
+
+### Handling partially failed commits
+Hudi has a lot of platformization built in so as to ease the operationalization of lakehouse tables. Once such feature 
+is the automatic clean up of partially failed commits. Users don’t need to run any additional commands to clean up dirty 
+data or the data produced by failed commits. If you continue to write to hudi tables, one of your future commits will 
+take care of cleaning up older data that failed mid-way during a write/commit. This keeps the storage in bounds w/o 
+requiring any manual intervention from the users. 
+
+Let’s zoom in a bit and understand how such clean ups happen and is there any challenges involved in such cleaning 
+when multi-writers are involved.
+
+#### Rolling back partially failed commits for a single writer 
+Incase of single writer model, the rollback logic is fairly straightforward. Every action in Hudi's timeline, goes 
+through 3 states, namely requested, inflight and completed. Whenever a new commit starts, hudi checks the timeline 
+for any actions/commits that is not yet committed and that refers to partially failed commit. So, immediately rollback 
+is triggered and all dirty data is cleaned up followed by cleaning up the commit instants from the timeline.
+
+
+![An example illustration of single writer rollbacks](/assets/images/blog/rollbacks/single_write_rollback.png)
+
+
+#### Rolling back of partially failed commits w/ multi-writers
+The challenging part is when multi-writers are invoked. Just because, some commit is still non-completed as per the 
+timeline, it does not mean current writer (new) can assume its a partially failed commit. Because, there could be a 
+concurrent writer that’s currently making progress. And Hudi has been designed to not have any centralized server 
+running always and so hudi has a  ingenious way to deduce such partially failed writes.
+
+##### Heart beats to the rescue
+We are leveraging heart beats to our rescue here. Each commit will keep emitting heart beats from the start of the 
+write to its completion. During rollback deduction, hudi checks for heart beat timeouts for all on-going or incomplete 
+commits and detects partially failed commits on such timeouts. For any ongoing commits, the heart beat should not 
+have elapsed the timeout. For eg, if a commit’s heart beat is not updated for 10+ mins, we can safely assume the 
+original writer has failed/crashed and is safe to clean it up. So, the rollbacks in case of multi-writers are lazy 
+and is not eager as we saw with single writer model. But it is still automatic and users don’t need to execute any 
+explicit command to trigger such cleanup of failed writes. When such lazy rollback kicks in, both data files and 
+timeline files for the failed writes are deleted.
+
+##### Heartbeats
+Hudi employs a simple yet effective heartbeat mechanism to notify that a commit is still making progress. A heart beat 
+file is created for every commit under “.hoodie/.heartbeat/” (for eg, “.hoodie/.heartbeat/20230819183853177”). 
+The writer will start a background thread which will keep updating this heart beat file at regular cadence. So, checking 
+for last mod time of the heart beat file will give us information whether the writer that started the commit of 
+interest is still making progress or not. On completion of the commit, the heart beat file is deleted. 
+Or if the write failed mid-way, the heart beat file is left as is in the heart beat folder and so other writers can 

Review Comment:
   ```suggestion
   Or if the write failed mid-way, the last modification time of the heartbeat file is no longer updated, so other writers can 
   ```



##########
website/docs/rollbacks.md:
##########
@@ -0,0 +1,67 @@
+---
+title: Partially Failed Commits
+toc: true
+---
+
+## Partially failed commits
+
+Your pipelines could fail due to numerous reasons like crashes, valid bugs in the code, unavailability of any external 
+third party system (like lock provider), or user could kill mid-way to change some properties. A well designed system should 
+detect such partially failed commits and ensure dirty data is not exposed to the read queries and also clean them up. 
+We have already took a peek into Hudi’s timeline which forms the core for reader and writer isolation. If a commit has 
+not transitioned to complete as per the hudi timeline, the readers will ignore the data from the respective write. 
+And so partially failed writes are never read by any readers (for all query types). But the curious question is, how 
+does the partially written data is eventually deleted? Does it require manual command to be executed from time to time 
+or should it be automatically handled by the system?
+
+### Handling partially failed commits
+Hudi has a lot of platformization built in so as to ease the operationalization of lakehouse tables. Once such feature 
+is the automatic clean up of partially failed commits. Users don’t need to run any additional commands to clean up dirty 
+data or the data produced by failed commits. If you continue to write to hudi tables, one of your future commits will 
+take care of cleaning up older data that failed mid-way during a write/commit. This keeps the storage in bounds w/o 
+requiring any manual intervention from the users. 
+
+Let’s zoom in a bit and understand how such clean ups happen and is there any challenges involved in such cleaning 
+when multi-writers are involved.
+
+#### Rolling back partially failed commits for a single writer 
+Incase of single writer model, the rollback logic is fairly straightforward. Every action in Hudi's timeline, goes 
+through 3 states, namely requested, inflight and completed. Whenever a new commit starts, hudi checks the timeline 
+for any actions/commits that is not yet committed and that refers to partially failed commit. So, immediately rollback 
+is triggered and all dirty data is cleaned up followed by cleaning up the commit instants from the timeline.
+
+
+![An example illustration of single writer rollbacks](/assets/images/blog/rollbacks/single_write_rollback.png)
+
+
+#### Rolling back of partially failed commits w/ multi-writers
+The challenging part is when multi-writers are invoked. Just because, some commit is still non-completed as per the 
+timeline, it does not mean current writer (new) can assume its a partially failed commit. Because, there could be a 
+concurrent writer that’s currently making progress. And Hudi has been designed to not have any centralized server 
+running always and so hudi has a  ingenious way to deduce such partially failed writes.
+
+##### Heart beats to the rescue
+We are leveraging heart beats to our rescue here. Each commit will keep emitting heart beats from the start of the 
+write to its completion. During rollback deduction, hudi checks for heart beat timeouts for all on-going or incomplete 
+commits and detects partially failed commits on such timeouts. For any ongoing commits, the heart beat should not 
+have elapsed the timeout. For eg, if a commit’s heart beat is not updated for 10+ mins, we can safely assume the 
+original writer has failed/crashed and is safe to clean it up. So, the rollbacks in case of multi-writers are lazy 
+and is not eager as we saw with single writer model. But it is still automatic and users don’t need to execute any 
+explicit command to trigger such cleanup of failed writes. When such lazy rollback kicks in, both data files and 
+timeline files for the failed writes are deleted.
+
+##### Heartbeats
+Hudi employs a simple yet effective heartbeat mechanism to notify that a commit is still making progress. A heart beat 
+file is created for every commit under “.hoodie/.heartbeat/” (for eg, “.hoodie/.heartbeat/20230819183853177”). 
+The writer will start a background thread which will keep updating this heart beat file at regular cadence. So, checking 
+for last mod time of the heart beat file will give us information whether the writer that started the commit of 
+interest is still making progress or not. On completion of the commit, the heart beat file is deleted. 
+Or if the write failed mid-way, the heart beat file is left as is in the heart beat folder and so other writers can 
+deduce the failed write at sometime in future.
+
+![An example illustration of multi writer rollbacks](/assets/images/blog/rollbacks/multi_writer_rollback.png)
+
+## Conclusion
+Hope this page gave you insights into how partially failed writes are handled by Hudi and how its automatically cleaned up

Review Comment:
   ```suggestion
   Hope this page give you insights into how partially failed writes are handled by Hudi and how they are automatically cleaned up
   ```



##########
website/docs/rollbacks.md:
##########
@@ -0,0 +1,67 @@
+---
+title: Partially Failed Commits
+toc: true
+---
+
+## Partially failed commits
+
+Your pipelines could fail due to numerous reasons like crashes, valid bugs in the code, unavailability of any external 
+third party system (like lock provider), or user could kill mid-way to change some properties. A well designed system should 
+detect such partially failed commits and ensure dirty data is not exposed to the read queries and also clean them up. 
+We have already took a peek into Hudi’s timeline which forms the core for reader and writer isolation. If a commit has 
+not transitioned to complete as per the hudi timeline, the readers will ignore the data from the respective write. 
+And so partially failed writes are never read by any readers (for all query types). But the curious question is, how 
+does the partially written data is eventually deleted? Does it require manual command to be executed from time to time 
+or should it be automatically handled by the system?
+
+### Handling partially failed commits
+Hudi has a lot of platformization built in so as to ease the operationalization of lakehouse tables. Once such feature 
+is the automatic clean up of partially failed commits. Users don’t need to run any additional commands to clean up dirty 
+data or the data produced by failed commits. If you continue to write to hudi tables, one of your future commits will 
+take care of cleaning up older data that failed mid-way during a write/commit. This keeps the storage in bounds w/o 
+requiring any manual intervention from the users. 
+
+Let’s zoom in a bit and understand how such clean ups happen and is there any challenges involved in such cleaning 
+when multi-writers are involved.
+
+#### Rolling back partially failed commits for a single writer 
+Incase of single writer model, the rollback logic is fairly straightforward. Every action in Hudi's timeline, goes 
+through 3 states, namely requested, inflight and completed. Whenever a new commit starts, hudi checks the timeline 
+for any actions/commits that is not yet committed and that refers to partially failed commit. So, immediately rollback 
+is triggered and all dirty data is cleaned up followed by cleaning up the commit instants from the timeline.
+
+
+![An example illustration of single writer rollbacks](/assets/images/blog/rollbacks/single_write_rollback.png)
+
+
+#### Rolling back of partially failed commits w/ multi-writers
+The challenging part is when multi-writers are invoked. Just because, some commit is still non-completed as per the 
+timeline, it does not mean current writer (new) can assume its a partially failed commit. Because, there could be a 
+concurrent writer that’s currently making progress. And Hudi has been designed to not have any centralized server 
+running always and so hudi has a  ingenious way to deduce such partially failed writes.
+
+##### Heart beats to the rescue
+We are leveraging heart beats to our rescue here. Each commit will keep emitting heart beats from the start of the 
+write to its completion. During rollback deduction, hudi checks for heart beat timeouts for all on-going or incomplete 
+commits and detects partially failed commits on such timeouts. For any ongoing commits, the heart beat should not 
+have elapsed the timeout. For eg, if a commit’s heart beat is not updated for 10+ mins, we can safely assume the 
+original writer has failed/crashed and is safe to clean it up. So, the rollbacks in case of multi-writers are lazy 
+and is not eager as we saw with single writer model. But it is still automatic and users don’t need to execute any 
+explicit command to trigger such cleanup of failed writes. When such lazy rollback kicks in, both data files and 
+timeline files for the failed writes are deleted.
+
+##### Heartbeats
+Hudi employs a simple yet effective heartbeat mechanism to notify that a commit is still making progress. A heart beat 
+file is created for every commit under “.hoodie/.heartbeat/” (for eg, “.hoodie/.heartbeat/20230819183853177”). 
+The writer will start a background thread which will keep updating this heart beat file at regular cadence. So, checking 
+for last mod time of the heart beat file will give us information whether the writer that started the commit of 
+interest is still making progress or not. On completion of the commit, the heart beat file is deleted. 
+Or if the write failed mid-way, the heart beat file is left as is in the heart beat folder and so other writers can 
+deduce the failed write at sometime in future.
+
+![An example illustration of multi writer rollbacks](/assets/images/blog/rollbacks/multi_writer_rollback.png)
+
+## Conclusion
+Hope this page gave you insights into how partially failed writes are handled by Hudi and how its automatically cleaned up
+and users does not have to do any manual clean by themselves. 

Review Comment:
   ```suggestion
   and users do not have to do any manual clean by themselves. 
   ```



##########
website/docs/rollbacks.md:
##########
@@ -0,0 +1,67 @@
+---
+title: Partially Failed Commits
+toc: true
+---
+
+## Partially failed commits
+
+Your pipelines could fail due to numerous reasons like crashes, valid bugs in the code, unavailability of any external 
+third party system (like lock provider), or user could kill mid-way to change some properties. A well designed system should 
+detect such partially failed commits and ensure dirty data is not exposed to the read queries and also clean them up. 
+We have already took a peek into Hudi’s timeline which forms the core for reader and writer isolation. If a commit has 
+not transitioned to complete as per the hudi timeline, the readers will ignore the data from the respective write. 
+And so partially failed writes are never read by any readers (for all query types). But the curious question is, how 
+does the partially written data is eventually deleted? Does it require manual command to be executed from time to time 
+or should it be automatically handled by the system?
+
+### Handling partially failed commits
+Hudi has a lot of platformization built in so as to ease the operationalization of lakehouse tables. Once such feature 
+is the automatic clean up of partially failed commits. Users don’t need to run any additional commands to clean up dirty 
+data or the data produced by failed commits. If you continue to write to hudi tables, one of your future commits will 
+take care of cleaning up older data that failed mid-way during a write/commit. This keeps the storage in bounds w/o 
+requiring any manual intervention from the users. 
+
+Let’s zoom in a bit and understand how such clean ups happen and is there any challenges involved in such cleaning 
+when multi-writers are involved.
+
+#### Rolling back partially failed commits for a single writer 
+Incase of single writer model, the rollback logic is fairly straightforward. Every action in Hudi's timeline, goes 
+through 3 states, namely requested, inflight and completed. Whenever a new commit starts, hudi checks the timeline 
+for any actions/commits that is not yet committed and that refers to partially failed commit. So, immediately rollback 
+is triggered and all dirty data is cleaned up followed by cleaning up the commit instants from the timeline.
+
+
+![An example illustration of single writer rollbacks](/assets/images/blog/rollbacks/single_write_rollback.png)
+
+
+#### Rolling back of partially failed commits w/ multi-writers
+The challenging part is when multi-writers are invoked. Just because, some commit is still non-completed as per the 
+timeline, it does not mean current writer (new) can assume its a partially failed commit. Because, there could be a 
+concurrent writer that’s currently making progress. And Hudi has been designed to not have any centralized server 
+running always and so hudi has a  ingenious way to deduce such partially failed writes.
+
+##### Heart beats to the rescue
+We are leveraging heart beats to our rescue here. Each commit will keep emitting heart beats from the start of the 
+write to its completion. During rollback deduction, hudi checks for heart beat timeouts for all on-going or incomplete 
+commits and detects partially failed commits on such timeouts. For any ongoing commits, the heart beat should not 
+have elapsed the timeout. For eg, if a commit’s heart beat is not updated for 10+ mins, we can safely assume the 

Review Comment:
   ```suggestion
   have elapsed the timeout. For example, if a commit’s heart eat is not updated for 10+ mins, we can safely assume the 
   ```



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@hudi.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [hudi] bhasudha commented on a diff in pull request #9709: [HUDI-6856] Adding a page for partially failed commits

Posted by "bhasudha (via GitHub)" <gi...@apache.org>.
bhasudha commented on code in PR #9709:
URL: https://github.com/apache/hudi/pull/9709#discussion_r1327962056


##########
website/docs/rollbacks.md:
##########
@@ -0,0 +1,67 @@
+---
+title: Partially Failed Commits
+toc: true
+---
+
+## Partially failed commits
+
+Your pipelines could fail due to numerous reasons like crashes, valid bugs in the code, unavailability of any external 
+third party system (like lock provider), or user could kill mid-way to change some properties. A well designed system should 
+detect such partially failed commits and ensure dirty data is not exposed to the read queries and also clean them up. 
+We have already took a peek into Hudi’s timeline which forms the core for reader and writer isolation. If a commit has 
+not transitioned to complete as per the hudi timeline, the readers will ignore the data from the respective write. 
+And so partially failed writes are never read by any readers (for all query types). But the curious question is, how 
+does the partially written data is eventually deleted? Does it require manual command to be executed from time to time 
+or should it be automatically handled by the system?
+
+### Handling partially failed commits
+Hudi has a lot of platformization built in so as to ease the operationalization of lakehouse tables. Once such feature 

Review Comment:
   ```suggestion
   Hudi has a lot of platformization built in so as to ease the operationalization of lakehouse tables. One such feature 
   ```



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@hudi.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [hudi] nsivabalan commented on a diff in pull request #9709: [HUDI-6856] Adding a page for partially failed commits

Posted by "nsivabalan (via GitHub)" <gi...@apache.org>.
nsivabalan commented on code in PR #9709:
URL: https://github.com/apache/hudi/pull/9709#discussion_r1329198721


##########
website/docs/rollbacks.md:
##########
@@ -0,0 +1,67 @@
+---
+title: Partially Failed Commits

Review Comment:
   sure, sg. we can accomodate. 
   lets also add a line or two to the first para calling out whats rollback mechanism for someone who does not know what is a rollback. 



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@hudi.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [hudi] yihua commented on a diff in pull request #9709: [HUDI-6856] Adding a page for partially failed commits

Posted by "yihua (via GitHub)" <gi...@apache.org>.
yihua commented on code in PR #9709:
URL: https://github.com/apache/hudi/pull/9709#discussion_r1326376299


##########
website/docs/rollbacks.md:
##########
@@ -0,0 +1,67 @@
+---
+title: Partially Failed Commits
+toc: true
+---
+
+## Partially failed commits
+
+Your pipelines could fail due to numerous reasons like crashes, valid bugs in the code, unavailability of any external 
+third party system (like lock provider), or user could kill mid-way to change some properties. A well designed system should 
+detect such partially failed commits and ensure dirty data is not exposed to the read queries and also clean them up. 

Review Comment:
   ```suggestion
   detect such partially failed commits, ensure dirty data is not exposed to the queries, and clean them up. 
   ```



##########
website/docs/rollbacks.md:
##########
@@ -0,0 +1,67 @@
+---
+title: Partially Failed Commits
+toc: true
+---
+
+## Partially failed commits
+
+Your pipelines could fail due to numerous reasons like crashes, valid bugs in the code, unavailability of any external 
+third party system (like lock provider), or user could kill mid-way to change some properties. A well designed system should 

Review Comment:
   ```suggestion
   third-party system (like a lock provider), or user could kill the job mid-way to change some properties. A well-designed system should 
   ```



##########
website/docs/rollbacks.md:
##########
@@ -0,0 +1,67 @@
+---
+title: Partially Failed Commits
+toc: true
+---
+
+## Partially failed commits
+
+Your pipelines could fail due to numerous reasons like crashes, valid bugs in the code, unavailability of any external 
+third party system (like lock provider), or user could kill mid-way to change some properties. A well designed system should 
+detect such partially failed commits and ensure dirty data is not exposed to the read queries and also clean them up. 
+We have already took a peek into Hudi’s timeline which forms the core for reader and writer isolation. If a commit has 
+not transitioned to complete as per the hudi timeline, the readers will ignore the data from the respective write. 
+And so partially failed writes are never read by any readers (for all query types). But the curious question is, how 
+does the partially written data is eventually deleted? Does it require manual command to be executed from time to time 
+or should it be automatically handled by the system?
+
+### Handling partially failed commits
+Hudi has a lot of platformization built in so as to ease the operationalization of lakehouse tables. Once such feature 
+is the automatic clean up of partially failed commits. Users don’t need to run any additional commands to clean up dirty 
+data or the data produced by failed commits. If you continue to write to hudi tables, one of your future commits will 
+take care of cleaning up older data that failed mid-way during a write/commit. This keeps the storage in bounds w/o 
+requiring any manual intervention from the users. 
+
+Let’s zoom in a bit and understand how such clean ups happen and is there any challenges involved in such cleaning 
+when multi-writers are involved.
+
+#### Rolling back partially failed commits for a single writer 
+Incase of single writer model, the rollback logic is fairly straightforward. Every action in Hudi's timeline, goes 

Review Comment:
   ```suggestion
   In case of single writer model, the rollback logic is fairly straightforward. Every action in Hudi's timeline goes 
   ```



##########
website/docs/rollbacks.md:
##########
@@ -0,0 +1,67 @@
+---
+title: Partially Failed Commits
+toc: true
+---
+
+## Partially failed commits
+
+Your pipelines could fail due to numerous reasons like crashes, valid bugs in the code, unavailability of any external 
+third party system (like lock provider), or user could kill mid-way to change some properties. A well designed system should 
+detect such partially failed commits and ensure dirty data is not exposed to the read queries and also clean them up. 
+We have already took a peek into Hudi’s timeline which forms the core for reader and writer isolation. If a commit has 
+not transitioned to complete as per the hudi timeline, the readers will ignore the data from the respective write. 
+And so partially failed writes are never read by any readers (for all query types). But the curious question is, how 
+does the partially written data is eventually deleted? Does it require manual command to be executed from time to time 
+or should it be automatically handled by the system?
+
+### Handling partially failed commits
+Hudi has a lot of platformization built in so as to ease the operationalization of lakehouse tables. Once such feature 
+is the automatic clean up of partially failed commits. Users don’t need to run any additional commands to clean up dirty 
+data or the data produced by failed commits. If you continue to write to hudi tables, one of your future commits will 
+take care of cleaning up older data that failed mid-way during a write/commit. This keeps the storage in bounds w/o 
+requiring any manual intervention from the users. 
+
+Let’s zoom in a bit and understand how such clean ups happen and is there any challenges involved in such cleaning 

Review Comment:
   ```suggestion
   Let’s zoom in a bit and understand how such clean-ups happen and the challenges involved in such cleaning 
   ```



##########
website/docs/rollbacks.md:
##########
@@ -0,0 +1,67 @@
+---
+title: Partially Failed Commits
+toc: true
+---
+
+## Partially failed commits
+
+Your pipelines could fail due to numerous reasons like crashes, valid bugs in the code, unavailability of any external 
+third party system (like lock provider), or user could kill mid-way to change some properties. A well designed system should 
+detect such partially failed commits and ensure dirty data is not exposed to the read queries and also clean them up. 
+We have already took a peek into Hudi’s timeline which forms the core for reader and writer isolation. If a commit has 
+not transitioned to complete as per the hudi timeline, the readers will ignore the data from the respective write. 
+And so partially failed writes are never read by any readers (for all query types). But the curious question is, how 
+does the partially written data is eventually deleted? Does it require manual command to be executed from time to time 
+or should it be automatically handled by the system?
+
+### Handling partially failed commits
+Hudi has a lot of platformization built in so as to ease the operationalization of lakehouse tables. Once such feature 
+is the automatic clean up of partially failed commits. Users don’t need to run any additional commands to clean up dirty 
+data or the data produced by failed commits. If you continue to write to hudi tables, one of your future commits will 
+take care of cleaning up older data that failed mid-way during a write/commit. This keeps the storage in bounds w/o 
+requiring any manual intervention from the users. 
+
+Let’s zoom in a bit and understand how such clean ups happen and is there any challenges involved in such cleaning 

Review Comment:
   ```suggestion
   Let’s zoom in a bit and understand how such clean-ups happen and the challenges involved in such cleaning 
   ```



##########
website/docs/rollbacks.md:
##########
@@ -0,0 +1,67 @@
+---
+title: Partially Failed Commits
+toc: true
+---
+
+## Partially failed commits
+
+Your pipelines could fail due to numerous reasons like crashes, valid bugs in the code, unavailability of any external 
+third party system (like lock provider), or user could kill mid-way to change some properties. A well designed system should 
+detect such partially failed commits and ensure dirty data is not exposed to the read queries and also clean them up. 
+We have already took a peek into Hudi’s timeline which forms the core for reader and writer isolation. If a commit has 
+not transitioned to complete as per the hudi timeline, the readers will ignore the data from the respective write. 
+And so partially failed writes are never read by any readers (for all query types). But the curious question is, how 
+does the partially written data is eventually deleted? Does it require manual command to be executed from time to time 
+or should it be automatically handled by the system?
+
+### Handling partially failed commits
+Hudi has a lot of platformization built in so as to ease the operationalization of lakehouse tables. Once such feature 
+is the automatic clean up of partially failed commits. Users don’t need to run any additional commands to clean up dirty 

Review Comment:
   ```suggestion
   is the automatic clean-up of partially failed commits. Users don’t need to run any additional commands to clean up dirty 
   ```



##########
website/docs/rollbacks.md:
##########
@@ -0,0 +1,67 @@
+---
+title: Partially Failed Commits
+toc: true
+---
+
+## Partially failed commits
+
+Your pipelines could fail due to numerous reasons like crashes, valid bugs in the code, unavailability of any external 
+third party system (like lock provider), or user could kill mid-way to change some properties. A well designed system should 
+detect such partially failed commits and ensure dirty data is not exposed to the read queries and also clean them up. 
+We have already took a peek into Hudi’s timeline which forms the core for reader and writer isolation. If a commit has 

Review Comment:
   ```suggestion
   We have already taken a peek into Hudi’s timeline which forms the core for reader and writer isolation. If a commit has 
   ```



##########
website/docs/rollbacks.md:
##########
@@ -0,0 +1,67 @@
+---
+title: Partially Failed Commits
+toc: true
+---
+
+## Partially failed commits
+
+Your pipelines could fail due to numerous reasons like crashes, valid bugs in the code, unavailability of any external 
+third party system (like lock provider), or user could kill mid-way to change some properties. A well designed system should 
+detect such partially failed commits and ensure dirty data is not exposed to the read queries and also clean them up. 
+We have already took a peek into Hudi’s timeline which forms the core for reader and writer isolation. If a commit has 
+not transitioned to complete as per the hudi timeline, the readers will ignore the data from the respective write. 
+And so partially failed writes are never read by any readers (for all query types). But the curious question is, how 
+does the partially written data is eventually deleted? Does it require manual command to be executed from time to time 

Review Comment:
   ```suggestion
   is the partially written data eventually deleted? Does it require manual command to be executed from time to time 
   ```



##########
website/docs/rollbacks.md:
##########
@@ -0,0 +1,67 @@
+---
+title: Partially Failed Commits
+toc: true
+---
+
+## Partially failed commits
+
+Your pipelines could fail due to numerous reasons like crashes, valid bugs in the code, unavailability of any external 
+third party system (like lock provider), or user could kill mid-way to change some properties. A well designed system should 
+detect such partially failed commits and ensure dirty data is not exposed to the read queries and also clean them up. 
+We have already took a peek into Hudi’s timeline which forms the core for reader and writer isolation. If a commit has 
+not transitioned to complete as per the hudi timeline, the readers will ignore the data from the respective write. 
+And so partially failed writes are never read by any readers (for all query types). But the curious question is, how 
+does the partially written data is eventually deleted? Does it require manual command to be executed from time to time 
+or should it be automatically handled by the system?
+
+### Handling partially failed commits
+Hudi has a lot of platformization built in so as to ease the operationalization of lakehouse tables. Once such feature 
+is the automatic clean up of partially failed commits. Users don’t need to run any additional commands to clean up dirty 
+data or the data produced by failed commits. If you continue to write to hudi tables, one of your future commits will 
+take care of cleaning up older data that failed mid-way during a write/commit. This keeps the storage in bounds w/o 
+requiring any manual intervention from the users. 
+
+Let’s zoom in a bit and understand how such clean ups happen and is there any challenges involved in such cleaning 
+when multi-writers are involved.
+
+#### Rolling back partially failed commits for a single writer 
+Incase of single writer model, the rollback logic is fairly straightforward. Every action in Hudi's timeline, goes 
+through 3 states, namely requested, inflight and completed. Whenever a new commit starts, hudi checks the timeline 
+for any actions/commits that is not yet committed and that refers to partially failed commit. So, immediately rollback 
+is triggered and all dirty data is cleaned up followed by cleaning up the commit instants from the timeline.
+
+
+![An example illustration of single writer rollbacks](/assets/images/blog/rollbacks/single_write_rollback.png)
+
+
+#### Rolling back of partially failed commits w/ multi-writers
+The challenging part is when multi-writers are invoked. Just because, some commit is still non-completed as per the 
+timeline, it does not mean current writer (new) can assume its a partially failed commit. Because, there could be a 

Review Comment:
   ```suggestion
   timeline, it does not mean current writer (new) can assume that it's a partially failed commit. Because, there could be a 
   ```



##########
website/docs/rollbacks.md:
##########
@@ -0,0 +1,67 @@
+---
+title: Partially Failed Commits
+toc: true
+---
+
+## Partially failed commits
+
+Your pipelines could fail due to numerous reasons like crashes, valid bugs in the code, unavailability of any external 
+third party system (like lock provider), or user could kill mid-way to change some properties. A well designed system should 
+detect such partially failed commits and ensure dirty data is not exposed to the read queries and also clean them up. 
+We have already took a peek into Hudi’s timeline which forms the core for reader and writer isolation. If a commit has 
+not transitioned to complete as per the hudi timeline, the readers will ignore the data from the respective write. 
+And so partially failed writes are never read by any readers (for all query types). But the curious question is, how 
+does the partially written data is eventually deleted? Does it require manual command to be executed from time to time 
+or should it be automatically handled by the system?
+
+### Handling partially failed commits
+Hudi has a lot of platformization built in so as to ease the operationalization of lakehouse tables. Once such feature 
+is the automatic clean up of partially failed commits. Users don’t need to run any additional commands to clean up dirty 
+data or the data produced by failed commits. If you continue to write to hudi tables, one of your future commits will 
+take care of cleaning up older data that failed mid-way during a write/commit. This keeps the storage in bounds w/o 
+requiring any manual intervention from the users. 
+
+Let’s zoom in a bit and understand how such clean ups happen and is there any challenges involved in such cleaning 
+when multi-writers are involved.
+
+#### Rolling back partially failed commits for a single writer 
+Incase of single writer model, the rollback logic is fairly straightforward. Every action in Hudi's timeline, goes 
+through 3 states, namely requested, inflight and completed. Whenever a new commit starts, hudi checks the timeline 
+for any actions/commits that is not yet committed and that refers to partially failed commit. So, immediately rollback 
+is triggered and all dirty data is cleaned up followed by cleaning up the commit instants from the timeline.
+
+
+![An example illustration of single writer rollbacks](/assets/images/blog/rollbacks/single_write_rollback.png)
+
+
+#### Rolling back of partially failed commits w/ multi-writers
+The challenging part is when multi-writers are invoked. Just because, some commit is still non-completed as per the 
+timeline, it does not mean current writer (new) can assume its a partially failed commit. Because, there could be a 
+concurrent writer that’s currently making progress. And Hudi has been designed to not have any centralized server 
+running always and so hudi has a  ingenious way to deduce such partially failed writes.

Review Comment:
   ```suggestion
   running always and in such a case Hudi has an ingenious way to deduce such partially failed writes.
   ```



##########
website/docs/rollbacks.md:
##########
@@ -0,0 +1,67 @@
+---
+title: Partially Failed Commits
+toc: true
+---
+
+## Partially failed commits
+
+Your pipelines could fail due to numerous reasons like crashes, valid bugs in the code, unavailability of any external 
+third party system (like lock provider), or user could kill mid-way to change some properties. A well designed system should 
+detect such partially failed commits and ensure dirty data is not exposed to the read queries and also clean them up. 
+We have already took a peek into Hudi’s timeline which forms the core for reader and writer isolation. If a commit has 
+not transitioned to complete as per the hudi timeline, the readers will ignore the data from the respective write. 
+And so partially failed writes are never read by any readers (for all query types). But the curious question is, how 
+does the partially written data is eventually deleted? Does it require manual command to be executed from time to time 
+or should it be automatically handled by the system?
+
+### Handling partially failed commits
+Hudi has a lot of platformization built in so as to ease the operationalization of lakehouse tables. Once such feature 
+is the automatic clean up of partially failed commits. Users don’t need to run any additional commands to clean up dirty 

Review Comment:
   ```suggestion
   is the automatic clean-up of partially failed commits. Users don’t need to run any additional commands to clean up dirty 
   ```



##########
website/docs/rollbacks.md:
##########
@@ -0,0 +1,67 @@
+---
+title: Partially Failed Commits
+toc: true
+---
+
+## Partially failed commits
+
+Your pipelines could fail due to numerous reasons like crashes, valid bugs in the code, unavailability of any external 
+third party system (like lock provider), or user could kill mid-way to change some properties. A well designed system should 
+detect such partially failed commits and ensure dirty data is not exposed to the read queries and also clean them up. 
+We have already took a peek into Hudi’s timeline which forms the core for reader and writer isolation. If a commit has 
+not transitioned to complete as per the hudi timeline, the readers will ignore the data from the respective write. 
+And so partially failed writes are never read by any readers (for all query types). But the curious question is, how 
+does the partially written data is eventually deleted? Does it require manual command to be executed from time to time 
+or should it be automatically handled by the system?
+
+### Handling partially failed commits
+Hudi has a lot of platformization built in so as to ease the operationalization of lakehouse tables. Once such feature 
+is the automatic clean up of partially failed commits. Users don’t need to run any additional commands to clean up dirty 
+data or the data produced by failed commits. If you continue to write to hudi tables, one of your future commits will 
+take care of cleaning up older data that failed mid-way during a write/commit. This keeps the storage in bounds w/o 
+requiring any manual intervention from the users. 
+
+Let’s zoom in a bit and understand how such clean ups happen and is there any challenges involved in such cleaning 
+when multi-writers are involved.
+
+#### Rolling back partially failed commits for a single writer 
+Incase of single writer model, the rollback logic is fairly straightforward. Every action in Hudi's timeline, goes 
+through 3 states, namely requested, inflight and completed. Whenever a new commit starts, hudi checks the timeline 
+for any actions/commits that is not yet committed and that refers to partially failed commit. So, immediately rollback 
+is triggered and all dirty data is cleaned up followed by cleaning up the commit instants from the timeline.
+
+
+![An example illustration of single writer rollbacks](/assets/images/blog/rollbacks/single_write_rollback.png)
+
+
+#### Rolling back of partially failed commits w/ multi-writers
+The challenging part is when multi-writers are invoked. Just because, some commit is still non-completed as per the 

Review Comment:
   ```suggestion
   The challenging part is when multi-writers are invoked. Just because a commit is still non-completed as per the 
   ```



##########
website/docs/rollbacks.md:
##########
@@ -0,0 +1,67 @@
+---
+title: Partially Failed Commits
+toc: true
+---
+
+## Partially failed commits
+
+Your pipelines could fail due to numerous reasons like crashes, valid bugs in the code, unavailability of any external 
+third party system (like lock provider), or user could kill mid-way to change some properties. A well designed system should 
+detect such partially failed commits and ensure dirty data is not exposed to the read queries and also clean them up. 
+We have already took a peek into Hudi’s timeline which forms the core for reader and writer isolation. If a commit has 
+not transitioned to complete as per the hudi timeline, the readers will ignore the data from the respective write. 
+And so partially failed writes are never read by any readers (for all query types). But the curious question is, how 
+does the partially written data is eventually deleted? Does it require manual command to be executed from time to time 
+or should it be automatically handled by the system?
+
+### Handling partially failed commits
+Hudi has a lot of platformization built in so as to ease the operationalization of lakehouse tables. Once such feature 
+is the automatic clean up of partially failed commits. Users don’t need to run any additional commands to clean up dirty 
+data or the data produced by failed commits. If you continue to write to hudi tables, one of your future commits will 
+take care of cleaning up older data that failed mid-way during a write/commit. This keeps the storage in bounds w/o 
+requiring any manual intervention from the users. 
+
+Let’s zoom in a bit and understand how such clean ups happen and is there any challenges involved in such cleaning 
+when multi-writers are involved.
+
+#### Rolling back partially failed commits for a single writer 
+Incase of single writer model, the rollback logic is fairly straightforward. Every action in Hudi's timeline, goes 
+through 3 states, namely requested, inflight and completed. Whenever a new commit starts, hudi checks the timeline 
+for any actions/commits that is not yet committed and that refers to partially failed commit. So, immediately rollback 
+is triggered and all dirty data is cleaned up followed by cleaning up the commit instants from the timeline.
+
+
+![An example illustration of single writer rollbacks](/assets/images/blog/rollbacks/single_write_rollback.png)
+
+
+#### Rolling back of partially failed commits w/ multi-writers
+The challenging part is when multi-writers are invoked. Just because, some commit is still non-completed as per the 
+timeline, it does not mean current writer (new) can assume its a partially failed commit. Because, there could be a 
+concurrent writer that’s currently making progress. And Hudi has been designed to not have any centralized server 
+running always and so hudi has a  ingenious way to deduce such partially failed writes.
+
+##### Heart beats to the rescue

Review Comment:
   ```suggestion
   ##### Heartbeats to the rescue
   ```



##########
website/docs/rollbacks.md:
##########
@@ -0,0 +1,67 @@
+---
+title: Partially Failed Commits
+toc: true
+---
+
+## Partially failed commits
+
+Your pipelines could fail due to numerous reasons like crashes, valid bugs in the code, unavailability of any external 
+third party system (like lock provider), or user could kill mid-way to change some properties. A well designed system should 
+detect such partially failed commits and ensure dirty data is not exposed to the read queries and also clean them up. 
+We have already took a peek into Hudi’s timeline which forms the core for reader and writer isolation. If a commit has 

Review Comment:
   ```suggestion
   We have already taken a peek into Hudi’s timeline which forms the core for reader and writer isolation. If a commit has 
   ```



##########
website/docs/rollbacks.md:
##########
@@ -0,0 +1,67 @@
+---
+title: Partially Failed Commits
+toc: true
+---
+
+## Partially failed commits
+
+Your pipelines could fail due to numerous reasons like crashes, valid bugs in the code, unavailability of any external 
+third party system (like lock provider), or user could kill mid-way to change some properties. A well designed system should 
+detect such partially failed commits and ensure dirty data is not exposed to the read queries and also clean them up. 
+We have already took a peek into Hudi’s timeline which forms the core for reader and writer isolation. If a commit has 
+not transitioned to complete as per the hudi timeline, the readers will ignore the data from the respective write. 
+And so partially failed writes are never read by any readers (for all query types). But the curious question is, how 
+does the partially written data is eventually deleted? Does it require manual command to be executed from time to time 
+or should it be automatically handled by the system?
+
+### Handling partially failed commits
+Hudi has a lot of platformization built in so as to ease the operationalization of lakehouse tables. Once such feature 
+is the automatic clean up of partially failed commits. Users don’t need to run any additional commands to clean up dirty 
+data or the data produced by failed commits. If you continue to write to hudi tables, one of your future commits will 
+take care of cleaning up older data that failed mid-way during a write/commit. This keeps the storage in bounds w/o 
+requiring any manual intervention from the users. 
+
+Let’s zoom in a bit and understand how such clean ups happen and is there any challenges involved in such cleaning 
+when multi-writers are involved.
+
+#### Rolling back partially failed commits for a single writer 
+Incase of single writer model, the rollback logic is fairly straightforward. Every action in Hudi's timeline, goes 
+through 3 states, namely requested, inflight and completed. Whenever a new commit starts, hudi checks the timeline 
+for any actions/commits that is not yet committed and that refers to partially failed commit. So, immediately rollback 
+is triggered and all dirty data is cleaned up followed by cleaning up the commit instants from the timeline.
+
+
+![An example illustration of single writer rollbacks](/assets/images/blog/rollbacks/single_write_rollback.png)
+
+
+#### Rolling back of partially failed commits w/ multi-writers
+The challenging part is when multi-writers are invoked. Just because, some commit is still non-completed as per the 
+timeline, it does not mean current writer (new) can assume its a partially failed commit. Because, there could be a 
+concurrent writer that’s currently making progress. And Hudi has been designed to not have any centralized server 

Review Comment:
   ```suggestion
   concurrent writer that’s currently making progress. Hudi has been designed not to have any centralized server 
   ```



##########
website/docs/rollbacks.md:
##########
@@ -0,0 +1,67 @@
+---
+title: Partially Failed Commits
+toc: true
+---
+
+## Partially failed commits
+
+Your pipelines could fail due to numerous reasons like crashes, valid bugs in the code, unavailability of any external 
+third party system (like lock provider), or user could kill mid-way to change some properties. A well designed system should 
+detect such partially failed commits and ensure dirty data is not exposed to the read queries and also clean them up. 
+We have already took a peek into Hudi’s timeline which forms the core for reader and writer isolation. If a commit has 
+not transitioned to complete as per the hudi timeline, the readers will ignore the data from the respective write. 
+And so partially failed writes are never read by any readers (for all query types). But the curious question is, how 
+does the partially written data is eventually deleted? Does it require manual command to be executed from time to time 
+or should it be automatically handled by the system?
+
+### Handling partially failed commits
+Hudi has a lot of platformization built in so as to ease the operationalization of lakehouse tables. Once such feature 
+is the automatic clean up of partially failed commits. Users don’t need to run any additional commands to clean up dirty 
+data or the data produced by failed commits. If you continue to write to hudi tables, one of your future commits will 
+take care of cleaning up older data that failed mid-way during a write/commit. This keeps the storage in bounds w/o 
+requiring any manual intervention from the users. 
+
+Let’s zoom in a bit and understand how such clean ups happen and is there any challenges involved in such cleaning 
+when multi-writers are involved.
+
+#### Rolling back partially failed commits for a single writer 
+Incase of single writer model, the rollback logic is fairly straightforward. Every action in Hudi's timeline, goes 
+through 3 states, namely requested, inflight and completed. Whenever a new commit starts, hudi checks the timeline 
+for any actions/commits that is not yet committed and that refers to partially failed commit. So, immediately rollback 
+is triggered and all dirty data is cleaned up followed by cleaning up the commit instants from the timeline.
+
+
+![An example illustration of single writer rollbacks](/assets/images/blog/rollbacks/single_write_rollback.png)
+
+
+#### Rolling back of partially failed commits w/ multi-writers
+The challenging part is when multi-writers are invoked. Just because, some commit is still non-completed as per the 
+timeline, it does not mean current writer (new) can assume its a partially failed commit. Because, there could be a 
+concurrent writer that’s currently making progress. And Hudi has been designed to not have any centralized server 

Review Comment:
   ```suggestion
   concurrent writer that’s currently making progress. Hudi has been designed not to have any centralized server 
   ```



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@hudi.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [hudi] bhasudha merged pull request #9709: [HUDI-6856] Adding a page for partially failed commits

Posted by "bhasudha (via GitHub)" <gi...@apache.org>.
bhasudha merged PR #9709:
URL: https://github.com/apache/hudi/pull/9709


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@hudi.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [hudi] yihua commented on a diff in pull request #9709: [HUDI-6856] Adding a page for partially failed commits

Posted by "yihua (via GitHub)" <gi...@apache.org>.
yihua commented on code in PR #9709:
URL: https://github.com/apache/hudi/pull/9709#discussion_r1326372530


##########
website/static/assets/images/blog/rollbacks/multi_writer_rollback.png:
##########


Review Comment:
   Add a title in the image to mention that this for multi-writer? "Scenario 2: multi-writer with lazy cleaning of failed commits"



##########
website/static/assets/images/blog/rollbacks/single_write_rollback.png:
##########


Review Comment:
   Add a title here in the image too "Scenario 1: single writer with eager rollbacks"



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@hudi.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [hudi] nsivabalan commented on pull request #9709: [HUDI-6856] Adding a page for partially failed commits

Posted by "nsivabalan (via GitHub)" <gi...@apache.org>.
nsivabalan commented on PR #9709:
URL: https://github.com/apache/hudi/pull/9709#issuecomment-1717862076

   screen shot 
   ![screencapture-localhost-3000-docs-next-rollbacks-2023-09-13-08_26_48](https://github.com/apache/hudi/assets/513218/0b8ae228-629e-4570-80ac-e35417f1c508)
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@hudi.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [hudi] yihua commented on a diff in pull request #9709: [HUDI-6856] Adding a page for partially failed commits

Posted by "yihua (via GitHub)" <gi...@apache.org>.
yihua commented on code in PR #9709:
URL: https://github.com/apache/hudi/pull/9709#discussion_r1326370867


##########
website/static/assets/images/blog/rollbacks/multi_writer_rollback.png:
##########


Review Comment:
   "heart beat" -> "heartbeat"
   "timedout" -> "timed out"



##########
website/static/assets/images/blog/rollbacks/single_write_rollback.png:
##########


Review Comment:
   Add a title here too "Scenario 1: single writer with eager rollbacks"



##########
website/static/assets/images/blog/rollbacks/multi_writer_rollback.png:
##########


Review Comment:
   Add a title to mention that this for multi-writer? "Scenario 2: multi-writer with lazy cleaning of failed commits"



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@hudi.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [hudi] bhasudha commented on a diff in pull request #9709: [HUDI-6856] Adding a page for partially failed commits

Posted by "bhasudha (via GitHub)" <gi...@apache.org>.
bhasudha commented on code in PR #9709:
URL: https://github.com/apache/hudi/pull/9709#discussion_r1327886719


##########
website/docs/rollbacks.md:
##########
@@ -0,0 +1,67 @@
+---
+title: Partially Failed Commits

Review Comment:
   Propose a title like "Rollback nechansim" since this page is organized under table service. And move the use case of partially failed commits into a background/intro paragraph. Additionally we can also add a FAQ to connect the use case with this page to help discoverability.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@hudi.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org