CRZbulabula commented on PR #17934:
URL: https://github.com/apache/iotdb/pull/17934#issuecomment-4705060358

   Second CI fix (9fb2e92).
   
   After the connection fix, the IT got past the connection step and the core 
assertion (\`assertNewRegionsExcludeDataNode\` — new Regions exclude the 
removing node) **passed**, but it then timed out at \`awaitUntilSuccess\`: the 
removal never completed.
   
   **Root cause** (from the ConfigNode cluster logs): schema Regions use Ratis, 
and with \`schemaReplicationFactor=2\`, \`kill -9\`-ing one of the two replica 
holders breaks Ratis quorum. The schema-Region migration off the dead node 
(\`AddRegionPeerProcedure.DO_ADD_REGION_PEER\`) times out because the old 
2-peer config (one dead) can't reach majority, so \`RemoveDataNodesProcedure\` 
rolls back (\`migratedFailedRegions:[SchemaRegion id:0]\`) and the node stays 
in the cluster. This is correct product behaviour — it was a test-config 
mistake.
   
   **Fix**: raise \`schemaReplicationFactor\` to 3 (matching the proven 
\`IoTDBRemoveUnknownDataNodeIT#successTest\` config). One kill then leaves a 
2-of-3 quorum so the schema Region can migrate and the removal completes. With 
4 DataNodes, removing 1 leaves exactly \`MINIMUM_DATANODE = max(schemaRF, 
dataRF) = 3\`, so removal is still permitted and the candidate pool (3 
survivors) is large enough for the forced new RF=3 schema / RF=2 data Regions.


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

Reply via email to