Caideyipi opened a new pull request, #18363:
URL: https://github.com/apache/iotdb/pull/18363

   ## Description
   
   Fix the remaining setup race in `IoTDBPipeIdempotentIT` after #18316.
   
   The pipe applies configuration events asynchronously. Waiting for the 
initial database snapshot does not guarantee that the statements in 
`beforeSqlList` (for example, `CREATE USER`) have reached the receiver. The 
test can therefore create the receiver-side idempotent conflict too early and 
fail with errors such as `User newUser does not exist`.
   
   Queue a database marker after the setup statements and wait until it is 
visible on the receiver before creating the conflict. Queue a second marker 
after the conflict to verify that the pipe continues processing subsequent 
events.
   
   ## Tests
   
   - `mvn spotless:check -pl integration-test -P with-integration-tests`
   - `mvn '-Ddevelocity.off=true' -P 
'with-integration-tests,MultiClusterIT2DualTableManualEnhanced' -pl 
integration-test -am '-DskipUTs' '-DintegrationTest.forkCount=1' 
'-Dit.test=IoTDBPipeIdempotentIT#testTableAlterUserIdempotent3' 
'-Dfailsafe.failIfNoSpecifiedTests=false' verify`
   
   <hr>
   
   This PR has:
   - [x] been self-reviewed.
   - [x] added comments explaining the synchronization point.
   - [x] modified an existing integration test to cover the race.
   - [x] been tested in a local dual-cluster IoTDB environment.


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