使用Data-stax Java驱动程序版本1.0.2连接到Cassandra 1.2.1时,我收到错误:
Exception in thread "main" java.lang.IllegalArgumentException: populate_io_cache_on_flush is not a column defined in this metadata
at com.datastax.driver.core.ColumnDefinitions.getIdx(ColumnDefinitions.java:268)
at com.datastax.driver.core.Row.isNull(Row.java:84)
at com.datastax.driver.core.TableMetadata$Options.<init>(TableMetadata.java:440)
at com.datastax.driver.core.TableMetadata.build(TableMetadata.java:107)
at com.datastax.driver.core.Metadata.buildTableMetadata(Metadata.java:124)
at com.datastax.driver.core.Metadata.rebuildSchema(Metadata.java:88)
at com.datastax.driver.core.ControlConnection.refreshSchema(ControlConnection.java:265)
at com.datastax.driver.core.ControlConnection.tryConnect(ControlConnection.java:220)
在以下行:
cluster = Cluster.builder().addContactPoint("localhost").build();
我尝试删除了文件夹\ var \ lib \ cassandra,然后重新启动了cassandra服务器,这意味着没有以前的数据。服务器启动没有任何错误,但我在尝试连接时仍然遇到上述错误。
答案 0 :(得分:2)
OHK。刚刚发现当我使用最新版本的Cassandra(1.2.8)时它就消失了。所以可能是因为版本不兼容。