[
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)