hubcio commented on issue #4273:
URL: https://github.com/apache/iggy/issues/4273#issuecomment-5831355217

   @almostintuitive thanks for repro and diagnosis. only the killed node would 
submit the disconnect `Logout`, and since `Register` is replicated, survivors 
keep the dead session, so a client-table check can't catch it.
   
   #4283 uses leases instead. every `consumer_group.heartbeat_interval` (5s), 
each node reports the sessions it holds to the metadata primary, which commits 
a `Logout` for any member nobody reported for `consumer_group.session_timeout` 
(30s). both settings are new, `rebalancing_timeout` isn't involved.
   
   on your "crashed node must stop deferring expiry" point: silence doesn't 
defer anything, only an explicit "incomplete client list" report does. a new 
primary gives every member a fresh timeout, so with defaults the dead member is 
gone ~40-45s after the kill (~5s election, 30s timeout, up to one report 
interval).
   
   i ran your gist unchanged except for `--ulimit memlock=-1:-1` in 
`cluster.sh`, since my docker daemon caps locked memory at 8 MB and iggy (stock 
edge too) panics on io_uring setup without it.
   
   with your `85a397d0e5fd` go sdk pin, stock `apache/iggy:edge` exits 1 
exactly like yours. musl (`core/server/Dockerfile`) and glibc builds of the 
branch exit 0, 2 of 2 runs each. member `0` was gone by 53s, the live consumer 
got `[0 1 2]`, and nothing came back after `docker start iggy-0`.
   
   to try it from the PR branch (ignore the `RepoDigests` template error 
`run.sh` prints for local images):
   
   ```bash
   docker build -f core/server/Dockerfile --target runtime --build-arg 
RUST_VERSION=1.98.0 -t iggy-4273 .
   ./run.sh stale-member iggy-4273 85a397d0e5fd36262a3bbc203165c7a5e01b9029
   ```
   
   the PR also adds a cluster test for this case: kill the primary hosting the 
member, wait for expiry, restart the node, check the member stays gone.


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