我在尝试更改cassandra时遇到以下问题: 我正在改变表格:
ALTER TABLE posts ADD is_black BOOLEAN;
在单节点环境中,无论是在EC2服务器还是在localhost上,一切都运行得很完美 - 选择,删除等等。
当我在具有3个节点的群集上进行更改时 - 东西变得越来越大。 当我表演时
select().all().from(tableName).where..
我收到以下异常:
java.lang.IllegalArgumentException: is_black 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.getString(AbstractGettableData.java:137)
显然,我并不是唯一一个有这种行为的人: reference
p.s - drop我不可能创建密钥空间,因为我无法删除表中包含的数据。
答案 0 :(得分:0)
错误已解决: - )
我发现DataStax维护在包含每个节点配置的内存缓存中,当我更改表时,此缓存没有更新,因为我使用的是cqlsh而不是他们的SDK。
重新启动所有节点后,内存缓存被删除,错误已解决。