Skip to content

Checking the state of the Node in NotifyLeave #293

@krivoguzovVlad

Description

@krivoguzovVlad

I would like to check whether the service was stopped gracefully in NotifyLeave. The callback accepts a Node with a State field, but it is always equal to StateAlive.

Having looked at the code, I believe that the problem is that the State field is simultaneously declared in both Node and nodeState structs, while Node is nested in nodeState. Could someone explain if there are reasons to do this?

I see several solutions, but unfortunately they are not backwards compatible:

  • add a getter and setter for nodeState, which will also change Node.State. At the same time, make the State field private.
  • remove State field from nodeState
  • remove the State field from Node, and add a separate parameter with the state to NotifyLeave

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