Arafat Khan created HDDS-16091:
----------------------------------

             Summary: Recon fills disk with leaked checkpoints and crashes on 
startup when local OM DB is missing
                 Key: HDDS-16091
                 URL: https://issues.apache.org/jira/browse/HDDS-16091
             Project: Apache Ozone
          Issue Type: Bug
          Components: Ozone Recon
    Affects Versions: 2.3.0
            Reporter: Arafat Khan


During long replication runs, Recon's {{/var/lib/hadoop-ozone/recon}} directory 
grows unbounded (observed ~501 GB) and fills the disk. This is a regression 
from HDDS-13809: the checkpoint cleanup was changed to read the checkpoint 
directory location _after_ closing the DB store, but closing sets the store to 
{{null}} — so the temporary reinitialization checkpoints (each a full copy of 
the OM DB) are never deleted.

Once the disk is cleared, if the local OM snapshot DB is missing while stale 
task-status rows still exist, Recon crashes on startup with an NPE:{{{}{}}}
{code:java}
java.lang.NullPointerException: ...ReconOMMetadataManager.getStore() is null at 
ReconTaskControllerImpl.cleanTempCheckPointPath(...) {code}
{{}}

The HTTP server starts before the crash, so the process stays up but the 
datanode RPC service never starts — datanodes cannot connect and show as DEAD.

*Fix*
 # Revert the HDDS-13809 Recon changes so the checkpoint directory is captured 
_before_ the store is closed, then deleted — restoring correct cleanup.
 # Add null-store guards in {{cleanTempCheckPointPath}} and 
{{{}cleanupPreExistingCheckpoints{}}}, and skip startup reinitialization when 
the local OM DB store is not yet initialized. The scheduled full-snapshot sync 
then downloads a fresh OM DB instead of crashing.

*Note:* The OM-side changes from HDDS-13809 ({{{}OMDBCheckpointServlet{}}}, 
{{{}QuotaRepairTask{}}}) are correct and are left in place. The Kerberos realm 
mismatch ({{{}dn/_HOST@REALM{}}}) seen on the cluster is a separate environment 
config issue, tracked separately.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

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

Reply via email to