Skip to content

Port ID V2 to the Ranger 2.x ranger-id module #116

Open

Description

@r0goyal

Context

The ID V2 work in #109 and #112 currently sits on the 1.x-oriented id-v2 branch. Ranger 2.x is at 2.0.0-RC5 and already has a dedicated ranger-id module, making it the appropriate release line and module for the new ID API.

A direct retarget or rebase is not suitable: the branches have diverged substantially, and the ID sources were moved from ranger-discovery-bundle into ranger-id on 2.x. The implementation should be ported from a fresh 2.x branch.

Scope

  • Port the ID V2 domain, request, formatter, parser, decorator, nonce, generator, and constraint changes into ranger-id.
  • Preserve legacy ID behavior where required while introducing the V2 path on the 2.x API boundary.
  • Update both the standard and Dropwizard 5 discovery bundles with equivalent V2 wiring.
  • Address the review findings identified on the existing change:
    • support node ID 0 as a valid assigned node;
    • make V2 requests and decorator state defensively immutable;
    • require full-input parser matches and validate suffix grammar;
    • make node lifecycle and cleanup behavior consistent;
    • avoid raw null failures from unsupported builder combinations;
    • fix interrupt handling, executor cleanup, and shared parser state in tests;
    • add missing license headers and remove stale generated/performance artifacts and formatting noise.
  • Add or port focused tests for all corrected behavior.

Validation

  • Compile ranger-id after each production change.
  • Run the complete ranger-id test suite.
  • Run tests for both discovery bundle variants.
  • Run the full Ranger 2.x Maven reactor.
  • Confirm CI passes on the exact pull-request head.

Delivery

Open a new pull request targeting 2.x and mark #109 as superseded only after the replacement is available and validated.

Out of scope

Extracting ranger-id into a standalone repository is tracked separately in #115 and is intentionally deferred.

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