Uploaded image for project: 'Sidecar for Apache Cassandra'
  1. Sidecar for Apache Cassandra
  2. CASSSIDECAR-151

Sidecar endpoint to support node decommission operation

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Open
    • Normal
    • Resolution: Unresolved
    • None
    • Rest API
    • None
    • Semantic
    • Normal

    Description

      This proposal is part of an effort to introduce bespoke Sidecar APIs to support key operational functionality currently managed through nodetool commands. Introducing these APIs offers several benefits:
       

      • Strong Contract Definition: APIs provide a well-defined contract for both request and response structures, reducing errors in operational tooling by eliminating the need to parse command results.
      • Error Handling: A clear response contract allows for meaningful error messages to be communicated to clients, without exposing internal implementation details.
      • Input Validation: APIs can incorporate input validation to enhance security by protecting against command injection attacks.
      • Version Compatibility: By exposing a standardized interface, APIs ensure compatibility across different Cassandra versions, through the sidecar's abstraction.
      • Access Control: APIs enable fine-grained access control, leveraging permissions and roles associated with client identities for precise authorization.

       

      This specific task introduces an endpoint that performs the node decommission operation on the corresponding Cassandra node. Since decommissioning is a long-running operation, this API will leverage the async job management framework tracked in CASSANDRASC-150.

      Attachments

        Issue Links

          Activity

            People

              arjunashok Arjun Ashok
              arjunashok Arjun Ashok
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

                Created:
                Updated:

                Time Tracking

                  Estimated:
                  Original Estimate - Not Specified
                  Not Specified
                  Remaining:
                  Remaining Estimate - 0h
                  0h
                  Logged:
                  Time Spent - 0.5h
                  0.5h