Uploaded image for project: 'Apache Cassandra'
  1. Apache Cassandra
  2. CASSANDRA-13289

Make it possible to monitor an ideal consistency level separate from actual consistency level

    XMLWordPrintableJSON

Details

    • New Feature
    • Status: Resolved
    • Normal
    • Resolution: Fixed
    • 4.0-alpha1, 4.0
    • Legacy/Core
    • None

    Description

      As an operator there are several issues related to multi-datacenter replication and consistency you may want to have more information on from your production database.

      For instance. If your application writes at LOCAL_QUORUM how often are those writes failing to achieve EACH_QUORUM at other data centers. If you failed your application over to one of those data centers roughly how inconsistent might it be given the number of writes that didn't propagate since the last incremental repair?

      You might also want to know roughly what the latency of writes would be if you switched to a different consistency level. For instance you are writing at LOCAL_QUORUM and want to know what would happen if you switched to EACH_QUORUM.

      The proposed change is to allow an ideal_consistency_level to be specified in cassandra.yaml as well as get/set via JMX. If no ideal consistency level is specified no additional tracking is done.

      if an ideal consistency level is specified then the AbstractWriteResponesHandler will contain a delegate WriteResponseHandler that tracks whether the ideal consistency level is met before a write times out. It also tracks the latency for achieving the ideal CL of successful writes.

      These two metrics would be reported on a per keyspace basis.

      Attachments

        Issue Links

          Activity

            People

              aweisberg Ariel Weisberg
              aweisberg Ariel Weisberg
              Ariel Weisberg
              Jason Brown
              Votes:
              1 Vote for this issue
              Watchers:
              10 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: