[ 
https://issues.apache.org/jira/browse/HBASE-28386?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17825693#comment-17825693
 ] 

Duo Zhang commented on HBASE-28386:
-----------------------------------

I think this depends on the hdfs client implementation. Usually if there is an 
error while syncing, the DFSOutputStream should be broken and can not accept 
new writes any more.

> Potential Data loss issue for the HFLog
> ---------------------------------------
>
>                 Key: HBASE-28386
>                 URL: https://issues.apache.org/jira/browse/HBASE-28386
>             Project: HBase
>          Issue Type: Bug
>          Components: wal
>            Reporter: Dong0829
>            Priority: Major
>         Attachments: Screenshot 2024-02-19 at 10.53.20.png
>
>
>  I am going through the WAL implementation HFLog, and based on the code 
> reading, as my understanding there maybe potential data loss for example in 
> below scenarios: # Append record A3 already into the stream, and but the 
> syncFuture S3 does not reach to the SyncRunner yet
>  # The SyncRunner run the sync and call sync on writer, but failed, all the 
> data in stream lost including A3
>  # Because the syncFuture S3 does not reach to the syncRunner, it can not 
> release it and mark it failed
>  # In next run() of the SyncRunner, the new sync() succeeded, it will release 
> and mark S3 as succeeded, but actually it should failed which cause data loss.
> Can anyone help to check above above is true? Am I missing anything regarding 
> this process?
> !Screenshot 2024-02-19 at 10.53.20.png!



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to