[ 
https://issues.apache.org/jira/browse/HDDS-15824?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Siyao Meng reassigned HDDS-15824:
---------------------------------

    Assignee: Siyao Meng

> Flaky debug replicas acceptance test: wait for RATIS THREE pipeline before 
> writing keys
> ---------------------------------------------------------------------------------------
>
>                 Key: HDDS-15824
>                 URL: https://issues.apache.org/jira/browse/HDDS-15824
>             Project: Apache Ozone
>          Issue Type: Bug
>            Reporter: Siyao Meng
>            Assignee: Siyao Meng
>            Priority: Major
>
> h2. Problem
> The {{ozonesecure-ha}} debug replicas acceptance suite ({{Ozone-Debug-Tests 
> :: Test ozone debug CLI}} in {{smoketest/debug/ozone-debug-tests.robot}}) is 
> flaky. Its Suite Setup ({{Write keys}}) intermittently fails with {{255 != 
> 0}}, which marks every test in the suite as failed even though no test logic 
> ran.
> Root cause is in 
> {{hadoop-ozone/dist/src/main/compose/common/replicas-test.sh}}. The 
> container.db backup flow introduced by HDDS-14225 (the RocksDB 7.7.3 to 
> 10.10.1 upgrade) stops all datanodes for a consistent backup, restarts them, 
> and waits only for {{wait_for_datanode HEALTHY}} before running 
> {{debug/ozone-debug-tests.robot}}. {{wait_for_datanode}} confirms the SCM 
> heartbeat state (HEALTHY) but not that write pipelines have been 
> re-established. {{Write keys}} then writes a default RATIS THREE key, a RATIS 
> ONE key, a RATIS THREE key, and an EC rs-3-2 key; if it runs before an OPEN 
> pipeline is available after the mass restart, the {{ozone sh key put}} exits 
> non-zero (255) and the suite setup fails.
> Before HDDS-14225 the test backed up only datanode1 via {{docker cp}} without 
> stopping any datanode, and did not restart datanodes before {{Write keys}}, 
> so this race did not exist.
> h2. Fix
> After the datanode restart and before running the debug test, wait (bounded 
> at 180s) for at least one OPEN RATIS THREE pipeline via {{ozone admin 
> pipeline list --state OPEN --type RATIS --replication THREE --json}}. RATIS 
> ONE and EC writes are covered by all five datanodes already being HEALTHY; 
> the RATIS THREE pipeline being OPEN is the gap this closes.



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

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

Reply via email to