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.

  • With the change for [JAVA-732] index metadata is now parsed for more than just CUSTOM types. When index_options for an index is null, it is actually a 'null' string instead of a null reference which causes problems in the parsing and yields the following error on connection: {noformat} 687 [main] ERROR com.datastax.driver.core.Metadata - Error parsing schema for table <ks>.<table>: Cluster.getMetadata().getKeyspace(<ks>).getTable(<table>) will be missing or incomplete java.lang.IllegalArgumentException: Not a JSON map: null at com.datastax.driver.core.SimpleJSONParser.parseStringMap(SimpleJSONParser.java:77) at com.datastax.driver.core.ColumnMetadata$IndexMetadata.build(ColumnMetadata.java:283) at com.datastax.driver.core.ColumnMetadata$IndexMetadata.access$000(ColumnMetadata.java:113) at com.datastax.driver.core.ColumnMetadata.<init>(ColumnMetadata.java:53) at com.datastax.driver.core.ColumnMetadata.fromRaw(ColumnMetadata.java:57) at com.datastax.driver.core.TableMetadata.build(TableMetadata.java:168) at com.datastax.driver.core.Metadata.buildTableMetadata(Metadata.java:187) at com.datastax.driver.core.Metadata.rebuildSchema(Metadata.java:119) at com.datastax.driver.core.ControlConnection.refreshSchema(ControlConnection.java:363) at com.datastax.driver.core.ControlConnection.tryConnect(ControlConnection.java:271) at com.datastax.driver.core.ControlConnection.reconnectInternal(ControlConnection.java:194) at com.datastax.driver.core.ControlConnection.connect(ControlConnection.java:82) at com.datastax.driver.core.Cluster$Manager.init(Cluster.java:1307) at com.datastax.driver.core.Cluster.init(Cluster.java:159) at com.datastax.driver.core.Cluster.connect(Cluster.java:249) {noformat} This prevents this index from being parsed, but does not have any other impact other than the log entry on connect / schema refresh. To fix this, we should explicitly check for 'null' string when parsing index options.
    via by Andy Tolbert,
  • With the change for [JAVA-732] index metadata is now parsed for more than just CUSTOM types. When index_options for an index is null, it is actually a 'null' string instead of a null reference which causes problems in the parsing and yields the following error on connection: {noformat} 687 [main] ERROR com.datastax.driver.core.Metadata - Error parsing schema for table <ks>.<table>: Cluster.getMetadata().getKeyspace(<ks>).getTable(<table>) will be missing or incomplete java.lang.IllegalArgumentException: Not a JSON map: null at com.datastax.driver.core.SimpleJSONParser.parseStringMap(SimpleJSONParser.java:77) at com.datastax.driver.core.ColumnMetadata$IndexMetadata.build(ColumnMetadata.java:283) at com.datastax.driver.core.ColumnMetadata$IndexMetadata.access$000(ColumnMetadata.java:113) at com.datastax.driver.core.ColumnMetadata.<init>(ColumnMetadata.java:53) at com.datastax.driver.core.ColumnMetadata.fromRaw(ColumnMetadata.java:57) at com.datastax.driver.core.TableMetadata.build(TableMetadata.java:168) at com.datastax.driver.core.Metadata.buildTableMetadata(Metadata.java:187) at com.datastax.driver.core.Metadata.rebuildSchema(Metadata.java:119) at com.datastax.driver.core.ControlConnection.refreshSchema(ControlConnection.java:363) at com.datastax.driver.core.ControlConnection.tryConnect(ControlConnection.java:271) at com.datastax.driver.core.ControlConnection.reconnectInternal(ControlConnection.java:194) at com.datastax.driver.core.ControlConnection.connect(ControlConnection.java:82) at com.datastax.driver.core.Cluster$Manager.init(Cluster.java:1307) at com.datastax.driver.core.Cluster.init(Cluster.java:159) at com.datastax.driver.core.Cluster.connect(Cluster.java:249) {noformat} This prevents this index from being parsed, but does not have any other impact other than the log entry on connect / schema refresh. To fix this, we should explicitly check for 'null' string when parsing index options.
    via by Andy Tolbert,
    • java.lang.IllegalArgumentException: Not a JSON map: null at com.datastax.driver.core.SimpleJSONParser.parseStringMap(SimpleJSONParser.java:77) at com.datastax.driver.core.ColumnMetadata$IndexMetadata.build(ColumnMetadata.java:283) at com.datastax.driver.core.ColumnMetadata$IndexMetadata.access$000(ColumnMetadata.java:113) at com.datastax.driver.core.ColumnMetadata.<init>(ColumnMetadata.java:53) at com.datastax.driver.core.ColumnMetadata.fromRaw(ColumnMetadata.java:57) at com.datastax.driver.core.TableMetadata.build(TableMetadata.java:168) at com.datastax.driver.core.Metadata.buildTableMetadata(Metadata.java:187) at com.datastax.driver.core.Metadata.rebuildSchema(Metadata.java:119) at com.datastax.driver.core.ControlConnection.refreshSchema(ControlConnection.java:363) at com.datastax.driver.core.ControlConnection.tryConnect(ControlConnection.java:271) at com.datastax.driver.core.ControlConnection.reconnectInternal(ControlConnection.java:194) at com.datastax.driver.core.ControlConnection.connect(ControlConnection.java:82) at com.datastax.driver.core.Cluster$Manager.init(Cluster.java:1307) at com.datastax.driver.core.Cluster.init(Cluster.java:159) at com.datastax.driver.core.Cluster.connect(Cluster.java:249)

    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,