Skip to content

Retirement helper masks NodeNotRetiredCommitted after an election as an invalid transaction ID #8439

Description

@cjen1-msft

nodes_test failed during rotation / test_retire_primary in this Debug CI job, reporting:

ValueError: None.None is not a valid transaction ID

The preceding response was 400 NodeNotRetiredCommitted from DELETE /node/network/nodes/{id}.

Probable cause: after ~3-second ledger I/O stalls, another election occurred. The helper continued polling the previously selected primary, now a follower. Its local GET reported the node removable, but the DELETE forwarded to the new primary, whose committed watermark had not caught up. The helper ignored the error status and passed the absent transaction ID to the commit checker.

Suggested fix: refresh the primary and retry NodeNotRetiredCommitted within the existing timeout; check response success before waiting for commit.

Diagnosed from logs and source; not reproduced locally. The retirement code is unchanged by #8435, and a causal link to that PR is not established.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions