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

   ## What changes were proposed in this pull request?
   This PR fixes the `isDBUpdateSuccess` flag being set at OzoneManger's 
`org.apache.hadoop.ozone.om.OzoneManager#getDBUpdates` API. This flag was being 
set at server side, but was not set at client layer in 
`org.apache.hadoop.ozone.om.protocolPB.OzoneManagerProtocolClientSideTranslatorPB#getDBUpdates`.
 Because of this, Recon didn't knkow about any DB updates failure at OM side 
and Recon was not able to recover by falling back on full snapshot OM DB 
update. 
   One of the prominent use case found for OM DB update failure is the 
mis-match in sequence number between Recon OM
   snapshot DB and OzoneManager OM active DB.
   Since Recon sync with OM DB every 5-10 mins based on configured interval and 
if Recon OM snapshot DB  has higher sequence number than OM active DB last 
sequence number, then OM DB updates call since last sequence number will fail 
as OM DB will not know about that sequence number which is not yet written to 
OM Rocks DB. In such case OM sets the 'isDBUpdateSuccess' flag as false, but 
because the client layer at OM side was not setting this flag, Recon never gets 
the correct status of getDBUpdates API call. Once `isDBUpdateSuccess` flag 
received as false by Recon, Recon should fall back on full snapshot and recover 
itself.
   
   ## What is the link to the Apache JIRA
   https://issues.apache.org/jira/browse/HDDS-9830
   
   ## How was this patch tested?
   This patch is tested by writing an integration test where the test has 
increased the lastSequenceNumber intentionally for OM DB snapshot DB at Recon 
and making syncOMDB call to simulate the mis-match in sequence number between 
Recon OM
   snapshot DB and OzoneManager OM active DB.
   


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