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

   Generated-by: Claude Code (Opus 5.5)
   
   ## What changes were proposed in this pull request?
   
   The `kubernetes (ozone)` check restarts the datanode pods, then waits with 
`wait_for_startup` and `wait_for_pipeline` (added in HDDS-14635). SCM is not 
restarted, so `wait_for_pipeline` can pass right away on the pre restart 
pipeline, which is still OPEN in SCM.
   
   The restarted pods get new IPs. When each datanode registers again, SCM 
(`NodeAddressUpdateHandler`) closes every pipeline that still has the old 
address of that datanode, including pipelines allocated in the meantime. In the 
failed run the post restart freon write hit that window:
   
   ```
   INTERNAL_ERROR ... 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
   ```
   
   This PR makes `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 SCM does not close it later.
   
   ## What is the link to the Apache JIRA
   
   https://issues.apache.org/jira/browse/HDDS-17348
   
   ## How was this patch tested?
   
   - jq filter checked locally against sample `ozone admin pipeline list 
--json` output (stale, current and empty cases).
   - CI on fork, including `kubernetes (ozone)`: 
https://github.com/smengcl/hadoop-ozone/actions/runs/39840483082 (in progress)
   
   🤖 Generated with [Claude Code](https://claude.com/claude-code)
   


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