Skip to content

Pending requests should be resolved when heartbeat eviction removes a dead node #27

@GenFlogi

Description

@GenFlogi

Description

When a server node dies, fetchSockets() (and serverSideEmitWithAck()) requests that are
already in-flight will always wait the full requestsTimeout before failing — even if the
dead node is evicted from nodesMap during the wait due to heartbeat timeout.

This happens because expectedResponseCount is computed once at the start of
fetchSockets() via serverCount() and never updated:

const expectedResponseCount = (await this.serverCount()) - 1;

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions