errose28 opened a new pull request, #8296:
URL: https://github.com/apache/ozone/pull/8296

   ## What changes were proposed in this pull request?
   
   The on demand container scanner was originally implemented as a static 
instance so that it could be easily triggered from anywhere in the code. This 
is now causing problems for reconciliation testing where multiple replicas 
exist in the same process. We are invoking on demand scans for each replica 
after it is reconciled, and these scans for different replicas are hitting the 
same container scanner concurrently. This is required for tests to pass in 
#7490.
   
   Due to the layout of the datanode code, it is difficult to get items like 
this to all places where they are needed, which is why the on demand scanner 
was initially static. I have attempted to remedy this issue by adding a scan 
handler which can be triggered from the `ContainerSet`. `ContainerSet` was 
chosen because it is both created by the `OzoneContainer` which also 
initializes the scanners, and available in most locations in the datanode.
   
   ## What is the link to the Apache JIRA
   
   HDDS-12849
   
   ## How was this patch tested?
   
   Existing unit and integration tests for on demand container scanner pass. 
New unit test added.
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


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

Reply via email to