【问题标题】:populate_io_cache_on_flush is not a column defined in this metadatapopulate_io_cache_on_flush 不是此元数据中定义的列
【发布时间】:2013-09-01 13:44:25
【问题描述】:

使用 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 服务器,这意味着没有以前的数据。服务器启动时没有任何错误,但我在尝试连接时仍然收到上述错误。

【问题讨论】:

    标签: cassandra cql3 datastax-java-driver


    【解决方案1】:

    哦。刚刚发现当我使用最新版本的 Cassandra(1.2.8) 时它消失了。所以可能是因为版本不兼容。

    【讨论】:

    • hmm ...我们如何解决这个问题?我的意思是这更像是一个解释而不是一个解决方案。
    • 所以解决方案是使用与服务器相同的客户端库。即在 ubuntu 更新服务器后(今天发生的事情),您的所有客户端程序也必须升级驱动程序。
    猜你喜欢
    • 2015-09-10
    • 2016-06-24
    • 2019-12-08
    • 2019-07-13
    • 2018-07-22
    • 2016-12-18
    • 2016-09-19
    • 2021-04-01
    • 2021-05-25
    相关资源
    最近更新 更多