void-ptr974 opened a new pull request, #25950: URL: https://github.com/apache/pulsar/pull/25950
### Motivation `ReplicatorTest.testResumptionAfterBacklogRelaxed` can time out after the remote backlog quota is relaxed. The test previously set the namespace backlog quota to `1` byte. That reliably forces the remote topic over quota, but it also leaves too little room for the pending replicated message after the existing backlog is drained. As a result, the replicator producer can keep being rejected with `TopicBacklogQuotaExceededException` and wait for another reconnect backoff window, causing a false test failure. ### Modifications - Seed the remote cluster with two replicated messages and derive the test quota from the actual remote backlog size. - Set the quota just below the current remote backlog so replication is stopped while the existing backlog is present, but can resume after the backlog is drained. - Replace the fixed sleep with explicit Awaitility checks for the remote topic entering and leaving the backlog quota exceeded state. - Nudge the replicator with the idempotent `startProducer()` call after the quota is relaxed, then wait until the replication backlog is cleared before consuming the final message. - Keep the existing OpenTelemetry backlog and delay metric assertions around the stopped and recovered states. ### Verifying this change - `./gradlew :pulsar-broker:test --tests org.apache.pulsar.broker.service.ReplicatorTest.testResumptionAfterBacklogRelaxed` - `./gradlew :pulsar-broker:test --tests org.apache.pulsar.broker.service.ReplicatorTest.testResumptionAfterBacklogRelaxed --rerun-tasks` -- 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]
