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.

  • User application had a v2.0.2 Java driver connecting to Cassandra 2.1.11.872 (DSE v4.8.2). This "older" driver expected a table metadata column populate_io_cache_on_flush, which had been recently removed. The driver logged an error in the user application, copied below. A better error message would inform the user of of the version/protocol mismatch, eg that this driver version x.x.x is incompatible with Cassandra version y.y.y. Upon upgrading to Java driver v2.1.5, the error disappeared. {code} [2015-11-26 08:58:08,991]ERROR 436[Cod(cod)] - com.datastax.driver.core.TableMetadata.build(TableMetadata.java:123) - Error parsing schema options for table dse_system.encrypted_keys: Cluster.getMetadata().getKeyspace("dse_system").getTable("encrypted_keys").getOptions() will return null java.lang.IllegalArgumentException: populate_io_cache_on_flush 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.isNull(ArrayBackedRow.java:56) at com.datastax.driver.core.TableMetadata$Options.<init>(TableMetadata.java:529) at com.datastax.driver.core.TableMetadata.build(TableMetadata.java:119) at com.datastax.driver.core.Metadata.buildTableMetadata(Metadata.java:150) at com.datastax.driver.core.Metadata.rebuildSchema(Metadata.java:94) at com.datastax.driver.core.ControlConnection.refreshSchema(ControlConnection.java:294) at com.datastax.driver.core.ControlConnection.tryConnect(ControlConnection.java:231) at com.datastax.driver.core.ControlConnection.reconnectInternal(ControlConnection.java:171) at com.datastax.driver.core.ControlConnection.connect(ControlConnection.java:79) at com.datastax.driver.core.Cluster$Manager.init(Cluster.java:1104) at com.datastax.driver.core.Cluster.getMetadata(Cluster.java:271) [redacted] [2015-11-26 08:58:08,995]ERROR 440[Cod(cod)] - com.datastax.driver.core.TableMetadata.build(TableMetadata.java:123) - Error parsing schema options for table dse_system.leases: Cluster.getMetadata().getKeyspace("dse_system").getTable("leases").getOptions() will return null java.lang.IllegalArgumentException: populate_io_cache_on_flush 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.isNull(ArrayBackedRow.java:56) at com.datastax.driver.core.TableMetadata$Options.<init>(TableMetadata.java:529) at com.datastax.driver.core.TableMetadata.build(TableMetadata.java:119) at com.datastax.driver.core.Metadata.buildTableMetadata(Metadata.java:150) at com.datastax.driver.core.Metadata.rebuildSchema(Metadata.java:94) at com.datastax.driver.core.ControlConnection.refreshSchema(ControlConnection.java:294) at com.datastax.driver.core.ControlConnection.tryConnect(ControlConnection.java:231) at com.datastax.driver.core.ControlConnection.reconnectInternal(ControlConnection.java:171) at com.datastax.driver.core.ControlConnection.connect(ControlConnection.java:79) at com.datastax.driver.core.Cluster$Manager.init(Cluster.java:1104) at com.datastax.driver.core.Cluster.getMetadata(Cluster.java:271) [redacted] [2015-11-26 08:58:08,996]ERROR 441[Cod(cod)] - com.datastax.driver.core.TableMetadata.build(TableMetadata.java:123) - Error parsing schema options for table dse_system.real_leaders: Cluster.getMetadata().getKeyspace("dse_system").getTable("real_leaders").getOptions() will return null java.lang.IllegalArgumentException: populate_io_cache_on_flush 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.isNull(ArrayBackedRow.java:56) at com.datastax.driver.core.TableMetadata$Options.<init>(TableMetadata.java:529) at com.datastax.driver.core.TableMetadata.build(TableMetadata.java:119) at com.datastax.driver.core.Metadata.buildTableMetadata(Metadata.java:150) at com.datastax.driver.core.Metadata.rebuildSchema(Metadata.java:94) at com.datastax.driver.core.ControlConnection.refreshSchema(ControlConnection.java:294) at com.datastax.driver.core.ControlConnection.tryConnect(ControlConnection.java:231) at com.datastax.driver.core.ControlConnection.reconnectInternal(ControlConnection.java:171) at com.datastax.driver.core.ControlConnection.connect(ControlConnection.java:79) at com.datastax.driver.core.Cluster$Manager.init(Cluster.java:1104) at com.datastax.driver.core.Cluster.getMetadata(Cluster.java:271) [redacted] [2015-11-25 22:00:58,080]ERROR 458[Cod(cod)] - com.datastax.driver.core.TableMetadata.build(TableMetadata.java:123) - Error parsing schema options for table system.schema_columnfamilies: Cluster.getMetadata().getKeyspace("system").getTable("schema_columnfamilies").getOptions() will return null java.lang.IllegalArgumentException: populate_io_cache_on_flush 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.isNull(ArrayBackedRow.java:56) at com.datastax.driver.core.TableMetadata$Options.<init>(TableMetadata.java:529) at com.datastax.driver.core.TableMetadata.build(TableMetadata.java:119) at com.datastax.driver.core.Metadata.buildTableMetadata(Metadata.java:150) at com.datastax.driver.core.Metadata.rebuildSchema(Metadata.java:94) at com.datastax.driver.core.ControlConnection.refreshSchema(ControlConnection.java:294) at com.datastax.driver.core.ControlConnection.tryConnect(ControlConnection.java:231) at com.datastax.driver.core.ControlConnection.reconnectInternal(ControlConnection.java:171) at com.datastax.driver.core.ControlConnection.connect(ControlConnection.java:79) at com.datastax.driver.core.Cluster$Manager.init(Cluster.java:1104) at com.datastax.driver.core.Cluster.getMetadata(Cluster.java:271) [redacted] {code}
    via by Daniel Cohen,
  • User application had a v2.0.2 Java driver connecting to Cassandra 2.1.11.872 (DSE v4.8.2). This "older" driver expected a table metadata column populate_io_cache_on_flush, which had been recently removed. The driver logged an error in the user application, copied below. A better error message would inform the user of of the version/protocol mismatch, eg that this driver version x.x.x is incompatible with Cassandra version y.y.y. Upon upgrading to Java driver v2.1.5, the error disappeared. {code} [2015-11-26 08:58:08,991]ERROR 436[Cod(cod)] - com.datastax.driver.core.TableMetadata.build(TableMetadata.java:123) - Error parsing schema options for table dse_system.encrypted_keys: Cluster.getMetadata().getKeyspace("dse_system").getTable("encrypted_keys").getOptions() will return null java.lang.IllegalArgumentException: populate_io_cache_on_flush 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.isNull(ArrayBackedRow.java:56) at com.datastax.driver.core.TableMetadata$Options.<init>(TableMetadata.java:529) at com.datastax.driver.core.TableMetadata.build(TableMetadata.java:119) at com.datastax.driver.core.Metadata.buildTableMetadata(Metadata.java:150) at com.datastax.driver.core.Metadata.rebuildSchema(Metadata.java:94) at com.datastax.driver.core.ControlConnection.refreshSchema(ControlConnection.java:294) at com.datastax.driver.core.ControlConnection.tryConnect(ControlConnection.java:231) at com.datastax.driver.core.ControlConnection.reconnectInternal(ControlConnection.java:171) at com.datastax.driver.core.ControlConnection.connect(ControlConnection.java:79) at com.datastax.driver.core.Cluster$Manager.init(Cluster.java:1104) at com.datastax.driver.core.Cluster.getMetadata(Cluster.java:271) [redacted] [2015-11-26 08:58:08,995]ERROR 440[Cod(cod)] - com.datastax.driver.core.TableMetadata.build(TableMetadata.java:123) - Error parsing schema options for table dse_system.leases: Cluster.getMetadata().getKeyspace("dse_system").getTable("leases").getOptions() will return null java.lang.IllegalArgumentException: populate_io_cache_on_flush 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.isNull(ArrayBackedRow.java:56) at com.datastax.driver.core.TableMetadata$Options.<init>(TableMetadata.java:529) at com.datastax.driver.core.TableMetadata.build(TableMetadata.java:119) at com.datastax.driver.core.Metadata.buildTableMetadata(Metadata.java:150) at com.datastax.driver.core.Metadata.rebuildSchema(Metadata.java:94) at com.datastax.driver.core.ControlConnection.refreshSchema(ControlConnection.java:294) at com.datastax.driver.core.ControlConnection.tryConnect(ControlConnection.java:231) at com.datastax.driver.core.ControlConnection.reconnectInternal(ControlConnection.java:171) at com.datastax.driver.core.ControlConnection.connect(ControlConnection.java:79) at com.datastax.driver.core.Cluster$Manager.init(Cluster.java:1104) at com.datastax.driver.core.Cluster.getMetadata(Cluster.java:271) [redacted] [2015-11-26 08:58:08,996]ERROR 441[Cod(cod)] - com.datastax.driver.core.TableMetadata.build(TableMetadata.java:123) - Error parsing schema options for table dse_system.real_leaders: Cluster.getMetadata().getKeyspace("dse_system").getTable("real_leaders").getOptions() will return null java.lang.IllegalArgumentException: populate_io_cache_on_flush 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.isNull(ArrayBackedRow.java:56) at com.datastax.driver.core.TableMetadata$Options.<init>(TableMetadata.java:529) at com.datastax.driver.core.TableMetadata.build(TableMetadata.java:119) at com.datastax.driver.core.Metadata.buildTableMetadata(Metadata.java:150) at com.datastax.driver.core.Metadata.rebuildSchema(Metadata.java:94) at com.datastax.driver.core.ControlConnection.refreshSchema(ControlConnection.java:294) at com.datastax.driver.core.ControlConnection.tryConnect(ControlConnection.java:231) at com.datastax.driver.core.ControlConnection.reconnectInternal(ControlConnection.java:171) at com.datastax.driver.core.ControlConnection.connect(ControlConnection.java:79) at com.datastax.driver.core.Cluster$Manager.init(Cluster.java:1104) at com.datastax.driver.core.Cluster.getMetadata(Cluster.java:271) [redacted] [2015-11-25 22:00:58,080]ERROR 458[Cod(cod)] - com.datastax.driver.core.TableMetadata.build(TableMetadata.java:123) - Error parsing schema options for table system.schema_columnfamilies: Cluster.getMetadata().getKeyspace("system").getTable("schema_columnfamilies").getOptions() will return null java.lang.IllegalArgumentException: populate_io_cache_on_flush 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.isNull(ArrayBackedRow.java:56) at com.datastax.driver.core.TableMetadata$Options.<init>(TableMetadata.java:529) at com.datastax.driver.core.TableMetadata.build(TableMetadata.java:119) at com.datastax.driver.core.Metadata.buildTableMetadata(Metadata.java:150) at com.datastax.driver.core.Metadata.rebuildSchema(Metadata.java:94) at com.datastax.driver.core.ControlConnection.refreshSchema(ControlConnection.java:294) at com.datastax.driver.core.ControlConnection.tryConnect(ControlConnection.java:231) at com.datastax.driver.core.ControlConnection.reconnectInternal(ControlConnection.java:171) at com.datastax.driver.core.ControlConnection.connect(ControlConnection.java:79) at com.datastax.driver.core.Cluster$Manager.init(Cluster.java:1104) at com.datastax.driver.core.Cluster.getMetadata(Cluster.java:271) [redacted] {code}
    via by Daniel Cohen,
  • Cassandra Java request
    via Stack Overflow by John Doee
    ,
    • java.lang.IllegalArgumentException: populate_io_cache_on_flush 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.isNull(ArrayBackedRow.java:56) at com.datastax.driver.core.TableMetadata$Options.<init>(TableMetadata.java:529) at com.datastax.driver.core.TableMetadata.build(TableMetadata.java:119) at com.datastax.driver.core.Metadata.buildTableMetadata(Metadata.java:150) at com.datastax.driver.core.Metadata.rebuildSchema(Metadata.java:94) at com.datastax.driver.core.ControlConnection.refreshSchema(ControlConnection.java:294) at com.datastax.driver.core.ControlConnection.tryConnect(ControlConnection.java:231) at com.datastax.driver.core.ControlConnection.reconnectInternal(ControlConnection.java:171) at com.datastax.driver.core.ControlConnection.connect(ControlConnection.java:79) at com.datastax.driver.core.Cluster$Manager.init(Cluster.java:1104) at com.datastax.driver.core.Cluster.getMetadata(Cluster.java:271)

    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,