2013-01-22 75 views
3

我們將集羣遷移到Cassandra 1.2(從1.1.7開始),我們試圖在遷移後運行修復(我們按照建議定期運行它們)。Cassandra 1.2遷移:破管

由於SSTable版本不同,修復失敗,因此我們使用nodetool upgradesstablesnodetool scrub並重試。

但隨後的修復失敗與此異常:

java.io.IOException: Broken pipe 
    at com.google.common.base.Throwables.propagate(Throwables.java:160) 
    at org.apache.cassandra.utils.WrappedRunnable.run(WrappedRunnable.java:32) 
    at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) 
    at java.lang.Thread.run(Unknown Source) 
Caused by: java.io.IOException: Broken pipe 
    at sun.nio.ch.FileChannelImpl.transferTo0(Native Method) 
    at sun.nio.ch.FileChannelImpl.transferToDirectly(Unknown Source) 
    at sun.nio.ch.FileChannelImpl.transferTo(Unknown Source) 
    at org.apache.cassandra.streaming.compress.CompressedFileStreamTask.stream(CompressedFileStreamTask.java:90) 
    at org.apache.cassandra.streaming.FileStreamTask.runMayThrow(FileStreamTask.java:91) 
    at org.apache.cassandra.utils.WrappedRunnable.run(WrappedRunnable.java:28) 

我們還注意到,在臨死之前,nodetool netstats顯示怪異的統計數據(傳輸的SSTable處於756845%...)。

編輯

這似乎是與compressend SSTables的轉移問題,我會嘗試在這個ColumnFamily中禁用壓縮,然後重試。

重新編輯

禁用壓縮解決了這個問題,所以我們試圖重新啓用它,並得到了

java.lang.RuntimeException: 
    Last written key DecoratedKey(97115[...]3136) >= current key DecoratedKey(8... 

任何想法?

回答

2

該問題是由Cassandra 1.2中的錯誤引起的,影響了節點間壓縮列族的傳輸。它被固定在1.2.2 =>Jira entry for this bug