java.lang.IllegalArgumentException

There are no available Samebug tips for this exception. Do you have an idea how to solve this issue? A short tip would help users who saw this issue last week.

  • 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}}
    via by Fabrice Larcher,
  • 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}}
    via by Fabrice Larcher,
  • Cassandra Java request
    via Stack Overflow by John Doee
    ,
    • 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)

    Users with the same issue

    Unknown visitor1 times, last one,
    Unknown visitor1 times, last one,
    Unknown visitor1 times, last one,
    Unknown visitor2 times, last one,