[
https://issues.apache.org/jira/browse/HDDS-1843?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Shashikant Banerjee updated HDDS-1843:
--------------------------------------
Description:
Right now, all write chunks use BufferedIO ie, sync flag is disabled by
default. Also, Rocks Db metadata updates are done in Rocks DB cache first at
Datanode. In case, there comes a situation where the buffered chunk data as
well as the corresponding metadata update is lost as a part of datanode
restart, it may lead to a situation where, it will not be possible to detect
the corruption (not even with container scanner) of this nature in a reasonable
time frame, until and unless there is a client IO failure or Recon server
detects it over time. In order to atleast to detect the problem, Ratis snapshot
on datanode should sync the rocks db file . In such a way, ContainerScanner
will be able to detect this.We can also add a metric around sync to measure how
much of a throughput loss it can incurr.
Thanks [~msingh] for suggesting this.
was:
Right now, all write chunks use BufferedIO ie, sync flag is disabled by
default. Also, Rocks Db metadata updates are done in Rocks DB cache first at
Datanode. In case, there comes a situation where the buffered chunk data as
well as the corresponding metadata update is lost as a part of datanode
restart, it may lead to a situation where, it will not be possible to detect
the corruption (not even with container scanner) of this nature in a reasonable
time frame, until and unless there is a client IO failure or Recon server
detects it over time. In order to atleast to detect the problem, close
container command on datanode should sync the rocks db file before moving the
replica to Closed state. In such a way, ContainerScanner will be able to detect
this.We can also add a metric around sync to measure how much of a throughput
loss it can inncurr.
Thanks [~msingh] for suggesting this.
> Undetectable corruption after restart of a datanode
> ---------------------------------------------------
>
> Key: HDDS-1843
> URL: https://issues.apache.org/jira/browse/HDDS-1843
> Project: Hadoop Distributed Data Store
> Issue Type: Bug
> Components: Ozone Datanode
> Affects Versions: 0.5.0
> Reporter: Shashikant Banerjee
> Assignee: Hrishikesh Gadre
> Priority: Major
> Fix For: 0.5.0
>
>
> Right now, all write chunks use BufferedIO ie, sync flag is disabled by
> default. Also, Rocks Db metadata updates are done in Rocks DB cache first at
> Datanode. In case, there comes a situation where the buffered chunk data as
> well as the corresponding metadata update is lost as a part of datanode
> restart, it may lead to a situation where, it will not be possible to detect
> the corruption (not even with container scanner) of this nature in a
> reasonable time frame, until and unless there is a client IO failure or Recon
> server detects it over time. In order to atleast to detect the problem, Ratis
> snapshot on datanode should sync the rocks db file . In such a way,
> ContainerScanner will be able to detect this.We can also add a metric around
> sync to measure how much of a throughput loss it can incurr.
> Thanks [~msingh] for suggesting this.
--
This message was sent by Atlassian JIRA
(v7.6.14#76016)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]