Details
-
Bug
-
Status: Open
-
Major
-
Resolution: Unresolved
-
None
-
None
-
None
Description
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?