You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ozone.apache.org by "Ashish Kumar (Jira)" <ji...@apache.org> on 2026/06/24 07:44:00 UTC

[jira] [Created] (HDDS-15658) No validation that moveReplicationTimeout < moveTimeout, can produce expired delete deadlines

Ashish Kumar created HDDS-15658:
-----------------------------------

             Summary: No validation that moveReplicationTimeout < moveTimeout, can produce expired delete deadlines
                 Key: HDDS-15658
                 URL: https://issues.apache.org/jira/browse/HDDS-15658
             Project: Apache Ozone
          Issue Type: Improvement
            Reporter: Ashish Kumar


The delete deadline is computed as:
{code:java}
 containerInfo, replicaIndex, datanode, true, moveStartTime + moveTimeout); {code}
The replication deadline is:
{code:java}
replicaIndex, src, tgt, now + replicationTimeout); {code}
{{{}replicationDeadline = now + replicationTimeout{}}}, {{{}deleteDeadline = moveStart + moveTimeout{}}}.

For deletion to have any valid time window, {{moveTimeout > replicationTimeout}} must hold. But there is no config validation enforcing this. If an operator configures:
moveReplicationTimeout = 60min
moveTimeout = 60min (or even < 60min)
Then:
 * Replication can take up to 60 min
 * {{deleteDeadline = moveStart + 60min,}} already at or PAST the deadline when replication finishes
 * The DN receives a delete command with an expired deadline and ignores it
 * The source replica is never deleted. Container remains permanently over-replicated
 * RM eventually cleans it up, but it could take the next RM cycle

 

Add validation at startup:
 
{code:java}
if (moveReplicationTimeout >= moveTimeout) {   
   throw new IllegalArgumentException("moveReplicationTimeout must be <              moveTimeout to allow time for deletion");   
} {code}
 



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

---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@ozone.apache.org
For additional commands, e-mail: issues-help@ozone.apache.org