Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

core: remove all traces of unused protocol version #11600

Merged
merged 2 commits into from
Feb 22, 2022

Commits on Feb 19, 2022

  1. core: remove all traces of unused protocol version

    Nomad inherited protocol version numbering configuration from Consul and
    Serf, but unlike those projects Nomad has never used it. Nomad's
    `protocol_version` has always been `1`.
    
    While the code is effectively unused and therefore poses no runtime
    risks to leave, I felt like removing it was best because:
    
    1. Nomad's RPC subsystem has been able to evolve extensively without
       needing to increment the version number.
    2. Nomad's HTTP API has evolved extensively without increment
       `API{Major,Minor}Version`. If we want to version the HTTP API in the
       future, I doubt this is the mechanism we would choose.
    3. The presence of the `server.protocol_version` configuration
       parameter is confusing since `server.raft_protocol` *is* an important
       parameter for operators to consider. Even more confusing is that
       there is a distinct Serf protocol version which is included in `nomad
       server members` output under the heading `Protocol`. `raft_protocol`
       is the *only* protocol version relevant to Nomad developers and
       operators. The other protocol versions are either deadcode or have
       never changed (Serf).
    4. If we were to need to version the RPC, HTTP API, or Serf protocols, I
       don't think these configuration parameters and variables are the best
       choice. If we come to that point we should choose a versioning scheme
       based on the use case and modern best practices -- not this 6+ year
       old dead code.
    schmichael committed Feb 19, 2022
    Configuration menu
    Copy the full SHA
    2411d3a View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    62ea60d View commit details
    Browse the repository at this point in the history