leizhiyuan commented on issue #1412:
URL: 
https://github.com/apache/rocketmq-clients/issues/1412#issuecomment-6307625432

   Update: two new issue/PR pairs, both based on #1404 and **to be merged after 
it**.
   
   - **#1422 / #1423**: defect 4a. `PushConsumer` / `LitePushConsumer` 
`shutdown()` took 208.7 s with 6 queues (`master` + #1404 + #1381). Workers 
kept issuing long polls after shutdown started, because of an unbiased 
`select!` against a 1 ms ticker, and actors were shut down one by one. The fix 
checks shutdown first, like `ProcessQueueImpl` checks `consumer.isRunning()`, 
and shuts actors down concurrently, like 
`PushConsumerImpl#waitingReceiveRequestFinished`. End-to-end, shutdown takes 
about 5 s. **Depends on #1404 and #1381.**
   - **#1424 / #1425**: new defect 13, found while testing #1423. In code added 
by #1404, `PushConsumer::apply_settings` sends the server 
`long_polling_timeout` (20 s) in the request, but the client deadline stays at 
the configured 40 s + 3 s. The fix also writes the shared value, as 
`SimpleConsumer` already does, so the deadline is 23 s like Java. With #1423 + 
#1425, all 6 end-to-end shutdown runs took 5.0 to 9.1 s; without #1425, 2 of 6 
took about 28 s. **Depends on #1404.**
   
   Each PR has one reviewable commit, touching `push_consumer.rs` only, on top 
of temporary merge commits of its dependencies. I will rebase both onto 
`master` once those are merged.
   
   Also noted in the conflict matrix: #1404's latest push (`b5cb4940`) now 
conflicts with #1411 in `client.rs`, because both add `MTX.lock()` to 
`client_get_session`. It is trivial to resolve.
   
   The body is updated (PR table, defects 4a and 13, conflicts, merge order). 
The only remaining item is 9, if it is still needed after #1404.
   


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