java.lang.IllegalArgumentException: replicate_on_write is not a column defined in this metadata

DataStax JIRA | Fabrice Larcher | 2 years ago
  1. 0

    Using 2 nodes on a cluster, I get several times the following logs ; {code} 5857 [Cassandra Java Driver worker-7] WARN com.datastax.driver.core.ControlConnection - Cannot find Cassandra version for host 192.168.xx.yy:9042 to parse the schema, using 2.0.0 based on protocol version in use. If parsing the schema fails, this could be the cause (...) 8188 [Cassandra Java Driver worker-5] ERROR com.datastax.driver.core.TableMetadata - Error parsing schema options for table ks.table: Cluster.getMetadata().getKeyspace("ks").getTable("table").getOptions() will return null java.lang.IllegalArgumentException: replicate_on_write is not a column defined in this metadata at com.datastax.driver.core.ColumnDefinitions.getAllIdx(ColumnDefinitions.java:273) at com.datastax.driver.core.ColumnDefinitions.getFirstIdx(ColumnDefinitions.java:279) at com.datastax.driver.core.ArrayBackedRow.getIndexOf(ArrayBackedRow.java:69) at com.datastax.driver.core.AbstractGettableData.isNull(AbstractGettableData.java:125) at com.datastax.driver.core.TableMetadata$Options.<init>(TableMetadata.java:530) at com.datastax.driver.core.TableMetadata.build(TableMetadata.java:119) at com.datastax.driver.core.Metadata.buildTableMetadata(Metadata.java:164) at com.datastax.driver.core.Metadata.rebuildSchema(Metadata.java:108) at com.datastax.driver.core.ControlConnection.refreshSchema(ControlConnection.java:305) at com.datastax.driver.core.ControlConnection.refreshSchema(ControlConnection.java:251) at com.datastax.driver.core.Cluster$Manager$8.runMayThrow(Cluster.java:1659) {code} By reading the code, it appears to me that because we have no C* version provided, it breaks with <'replicate_on_write' not found> (the driver sets "2.0.0" as default version). In class 'ControlConnection' at line 273, it sets the version "2.0.0" as the unknown version and in class 'TableMetadata' at line 530, it tries to get the column through the 'isNull' method because the version is 2.0.0 and not 2.1.0-rc1. I called {{./nodetool version}} on both nodes and they return : {{ReleaseVersion: 2.1.0-rc1}}

    DataStax JIRA | 2 years ago | Fabrice Larcher
    java.lang.IllegalArgumentException: replicate_on_write is not a column defined in this metadata
  2. 0

    Using 2 nodes on a cluster, I get several times the following logs ; {code} 5857 [Cassandra Java Driver worker-7] WARN com.datastax.driver.core.ControlConnection - Cannot find Cassandra version for host 192.168.xx.yy:9042 to parse the schema, using 2.0.0 based on protocol version in use. If parsing the schema fails, this could be the cause (...) 8188 [Cassandra Java Driver worker-5] ERROR com.datastax.driver.core.TableMetadata - Error parsing schema options for table ks.table: Cluster.getMetadata().getKeyspace("ks").getTable("table").getOptions() will return null java.lang.IllegalArgumentException: replicate_on_write is not a column defined in this metadata at com.datastax.driver.core.ColumnDefinitions.getAllIdx(ColumnDefinitions.java:273) at com.datastax.driver.core.ColumnDefinitions.getFirstIdx(ColumnDefinitions.java:279) at com.datastax.driver.core.ArrayBackedRow.getIndexOf(ArrayBackedRow.java:69) at com.datastax.driver.core.AbstractGettableData.isNull(AbstractGettableData.java:125) at com.datastax.driver.core.TableMetadata$Options.<init>(TableMetadata.java:530) at com.datastax.driver.core.TableMetadata.build(TableMetadata.java:119) at com.datastax.driver.core.Metadata.buildTableMetadata(Metadata.java:164) at com.datastax.driver.core.Metadata.rebuildSchema(Metadata.java:108) at com.datastax.driver.core.ControlConnection.refreshSchema(ControlConnection.java:305) at com.datastax.driver.core.ControlConnection.refreshSchema(ControlConnection.java:251) at com.datastax.driver.core.Cluster$Manager$8.runMayThrow(Cluster.java:1659) {code} By reading the code, it appears to me that because we have no C* version provided, it breaks with <'replicate_on_write' not found> (the driver sets "2.0.0" as default version). In class 'ControlConnection' at line 273, it sets the version "2.0.0" as the unknown version and in class 'TableMetadata' at line 530, it tries to get the column through the 'isNull' method because the version is 2.0.0 and not 2.1.0-rc1. I called {{./nodetool version}} on both nodes and they return : {{ReleaseVersion: 2.1.0-rc1}}

    DataStax JIRA | 2 years ago | Fabrice Larcher
    java.lang.IllegalArgumentException: replicate_on_write is not a column defined in this metadata
  3. 0

    YCSB cassandra-cql IllegalArgumentException: replicate_on_write

    GitHub | 1 year ago | cgara
    com.yahoo.ycsb.DBException: java.lang.IllegalArgumentException: replicate_on_write is not a column defined in this metadata
  4. Speed up your debug routine!

    Automated exception search integrated into your IDE

  5. 0

    [jira] [Commented] (CASSANDRA-6631) cassandra-stress failing in trunk

    apache.org | 2 years ago
    java.lang.RuntimeException: java.lang.IllegalArgumentException: replicate_on_write is not a column defined in this metadata
  6. 0

    [CASSANDRA-6631] cassandra-stress failing in trunk - ASF JIRA

    apache.org | 1 year ago
    java.lang.RuntimeException: java.lang.IllegalArgumentException: replicate_on_write is not a column defined in this metadata

    Not finding the right solution?
    Take a tour to get the most out of Samebug.

    Tired of useless tips?

    Automated exception search integrated into your IDE

    Root Cause Analysis

    1. java.lang.IllegalArgumentException

      replicate_on_write is not a column defined in this metadata

      at com.datastax.driver.core.ColumnDefinitions.getAllIdx()
    2. DataStax Java Driver for Apache Cassandra - Core
      Cluster$Manager$8.runMayThrow
      1. com.datastax.driver.core.ColumnDefinitions.getAllIdx(ColumnDefinitions.java:273)
      2. com.datastax.driver.core.ColumnDefinitions.getFirstIdx(ColumnDefinitions.java:279)
      3. com.datastax.driver.core.ArrayBackedRow.getIndexOf(ArrayBackedRow.java:69)
      4. com.datastax.driver.core.AbstractGettableData.isNull(AbstractGettableData.java:125)
      5. com.datastax.driver.core.TableMetadata$Options.<init>(TableMetadata.java:530)
      6. com.datastax.driver.core.TableMetadata.build(TableMetadata.java:119)
      7. com.datastax.driver.core.Metadata.buildTableMetadata(Metadata.java:164)
      8. com.datastax.driver.core.Metadata.rebuildSchema(Metadata.java:108)
      9. com.datastax.driver.core.ControlConnection.refreshSchema(ControlConnection.java:305)
      10. com.datastax.driver.core.ControlConnection.refreshSchema(ControlConnection.java:251)
      11. com.datastax.driver.core.Cluster$Manager$8.runMayThrow(Cluster.java:1659)
      11 frames