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

Add SERIAL and LOCAL_SERIAL consistency levels to cqlsh

    XMLWordPrintableJSON

Details

    • Low

    Description

      cqlsh does not support setting the serial consistency level. The default CL.SERIAL does not let users safely execute LWT alongside an app that runs at LOCAL_SERIAL, and can prevent any LWT from running when a DC is down (e.g. with 2 DCs, RF=3 in each.)

      Implementing this well is a bit tricky. A user setting the serial CL will probably not want all of their statements to have a serial CL attached, but only the conditional updates. At the same time it would be useful to support serial reads. "WITH CONSISTENCY LEVEL" used to provide this flexibility.

      I believe that it is currently impossible to run a SELECT at SERIAL or LOCAL_SERIAL; the only workaround seems to be to run a conditional update with a predicate that always resolves to False, and to rely on the CAS response to read the data.

      Attachments

        1. python-driver-fix.txt
          0.5 kB
          Stefania Alborghetti
        2. log-statements-2.1.txt
          3 kB
          Stefania Alborghetti
        3. log-statements-2.0.txt
          3 kB
          Stefania Alborghetti
        4. 8051-2.1-v3.txt
          467 kB
          Carl Yeksigian
        5. 8051-2.1-v2.txt
          467 kB
          Carl Yeksigian
        6. 8051-2.1.txt
          4 kB
          Carl Yeksigian
        7. 8051-2.0.txt
          233 kB
          Carl Yeksigian

        Activity

          People

            carlyeks Carl Yeksigian
            nff Nicolas Favre-Felix
            Carl Yeksigian
            Stefania Alborghetti
            Votes:
            0 Vote for this issue
            Watchers:
            6 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: