Siyao Meng created HDDS-17348:
---------------------------------

             Summary: Intermittent failure in kubernetes check after restarting 
datanodes due to stale pipeline
                 Key: HDDS-17348
                 URL: https://issues.apache.org/jira/browse/HDDS-17348
             Project: Apache Ozone
          Issue Type: Sub-task
          Components: kubernetes, test
            Reporter: Siyao Meng
            Assignee: Siyao Meng


{code}
Ozone Client Key Generator                                            | FAIL |
255 != 0

Running command 'ozone freon ockg  -t 1 -n1 -p ockgpost  2>&1'.
INTERNAL_ERROR org.apache.hadoop.ozone.om.exceptions.OMException: Unable to 
allocate a container to the block of size: 268435456, replicationConfig: 
RATIS/THREE. Waiting for one of pipelines to be OPEN failed. The input pipeline 
IDs 13a84c89-fe5b-413a-85af-37b3bfec4a11 cannot be found
{code}

The following {{Ozone Client Key Validator}} with prefix {{ockgpost}} then 
fails with {{Key:ockgpost/0 not found}}.

h3. Root cause

{{kubernetes/examples/ozone/test.sh}} deletes the datanode pods, then waits 
with {{wait_for_startup}} and {{wait_for_pipeline}} (added in HDDS-14635). SCM 
is not restarted, so both checks can pass right away: {{wait_for_pipeline}} 
only requires any OPEN RATIS/THREE pipeline, and the pre restart pipeline is 
still OPEN in SCM.

The restarted pods get new IPs. When each datanode registers again, 
{{NodeAddressUpdateHandler}} closes every pipeline that still has the old 
address of that datanode. In this run datanode-0 and datanode-1 registered 3 
seconds apart, so the old pipeline was closed, a new one was allocated with the 
old address of datanode-1 and datanode-2, and then closed and removed too. The 
post restart freon write landed in that window and failed.

h3. Fix

Make {{assert_pipeline_exists}} count only OPEN RATIS/THREE pipelines whose 
datanodes all have their current pod IP. Such a pipeline can only become OPEN 
after all its datanodes registered again, so it is not closed later.

- https://github.com/apache/ozone/actions/runs/39834857275/job/120027666568



--
This message was sent by Atlassian Jira
(v10.3.26#10030026)

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

Reply via email to