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

Bharat Viswanadham commented on HDDS-1163:
------------------------------------------

Hi [~sdeka]

Thank You for the patch.
 # I don't think we need to store SCMID inside each container metadata file. As 
for a particular SCM created containers, they all will be inside a SCMID 
directory on a datanode. As if you see when we create Container, we pass scmID. 
(Ex:getContainerMetaDataPath). Not sure if there is any other reason for having 
this.
 # Minor Nit: Avoid * in imports.
 # Can we use enum name as CamelCase, instead of All caps.
 # Do we need this check in KeyValueContainerCheck.java Line 424-427.
 # In checkContainerFile, We need to check chunksPath, RocksDBType, 
layOutversion
 # Can we add Javadocs for methods, and also for Enums of error codes could you 
add the explanation, it will be easy to understand the code.
 # Can we change the log level to trace/debug for in KeyValueContainerCheck().
 # During OzoneContainer() stop, we need to stop the ContainerCheck background 
running thread.

 

Few questions:
 # When a background delete is happening on the thread, we tried for 3 times 
even if we are getting the error we break the loop, so that this container will 
be scanned in next iteration. Can we note these containers into a list, and 
during next scan they get preferred first. 
 # And also ContainerCheckScanner can be split in two, fast scan for all open 
containers, and full scan for all closed containers. So, we can have 2 kinds of 
Scanners in the system. 

> Basic framework for Ozone Data Scrubber
> ---------------------------------------
>
>                 Key: HDDS-1163
>                 URL: https://issues.apache.org/jira/browse/HDDS-1163
>             Project: Hadoop Distributed Data Store
>          Issue Type: Sub-task
>          Components: Ozone Datanode
>            Reporter: Supratim Deka
>            Assignee: Supratim Deka
>            Priority: Major
>         Attachments: HDDS-1163.000.patch, HDDS-1163.001.patch, 
> HDDS-1163.002.patch
>
>
> Included in the scope:
> 1. Background scanner thread to iterate over container set and dispatch check 
> tasks for individual containers
> 2. Fixed rate scheduling - dispatch tasks at a pre-determined rate (for 
> example 1 container/s)
> 3. Check disk layout of Container - basic check for integrity of the 
> directory hierarchy inside the container, include chunk directory and 
> metadata directories
> 4. Check container file - basic sanity checks for the container metafile
> 5. Check Block Database - iterate over entries in the container block 
> database and check for the existence and accessibility of the chunks for each 
> block.
> Not in scope (will be done as separate subtasks):
> 1. Dynamic scheduling/pacing of background scan based on system load and 
> available resources.
> 2. Detection and handling of orphan chunks
> 3. Checksum verification for Chunks
> 4. Corruption handling - reporting (to SCM) and subsequent handling of any 
> corruption detected by the scanner. The current subtask will simply log any 
> corruption which is detected.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to