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]
