試圖改變卡桑德拉時碰到了以下問題: 我改變表直截了當:更改列家族在卡桑德拉在多節點拓撲
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
PS - 創造降由於我無法刪除表中包含的數據,因此keyspace不是我的可能性。
你可以在所有節點上通過cqlsh查詢該列嗎? – Aaron
@ BryceAtNetwork23是的,我可以在每個節點上處理每個數據的變換。 – Nativ
它可能與datastax驅動程序的緩存的元數據有關。您可能會嘗試重新啓動應用程序服務器以清除緩存? – kris433