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

Running ALTER TABLE cql statement asynchronously results in failure

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Normal
    • Resolution: Duplicate
    • None
    • None
    • None
    • Singe cluster environment

    • Normal

    Description

      When running 'ALTER TABLE' cql statements asynchronously, we notice that often certain columns are missing, causing subsequent queries to fail.
      The code snippet below can be used to reproduce the problem.

      cassandra is a com.datastax.driver.core.Session reference.
      We construct the table synchronously and then alter it (adding five columns) with the cassandra async API. We synchronize to ensure the table is properly altered before continuing. Preparing the statement at the bottom of the code snippet often fails:

       com.datastax.driver.core.exceptions.InvalidQueryException: Unknown identifier columnf 
       @Test
          public void testCassandraAsyncAlterTable() throws Exception {
              ResultSet rs = cassandra.execute("CREATE TABLE device ( columnA text, columnB text, columnC timestamp, PRIMARY KEY ((columnA, columnB)));");
      
              List<ResultSetFuture> futures = new ArrayList<>();
              futures.add(cassandra.executeAsync("ALTER TABLE device ADD columnD text;"));
              futures.add(cassandra.executeAsync("ALTER TABLE device ADD columnE text;"));
              futures.add(cassandra.executeAsync("ALTER TABLE device ADD columnF text;"));
              futures.add(cassandra.executeAsync("ALTER TABLE device ADD columnG text;"));
              futures.add(cassandra.executeAsync("ALTER TABLE device ADD columnH text;"));
      
              for(ResultSetFuture resultfuture : futures){ resultfuture.get(); }
                
              /* discard the result; only interested to see if it works or not */
              cassandra.prepare("INSERT INTO device (columnA, columnB, columnC,columnD,columnE,columnF,columnG,columnH) VALUES (?,?,?,?,?,?,?,?);");
      
          }
      
      
      

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              praetp Paul Praet
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: