2010-12-11 2 views
2

카산드라에서 데이터를 가져 오는 데 약간의 문제가 있습니다. 주요한 문제는 다음과 같습니다.카산드라의 range_slices로드 문제가 있습니다.

ERROR 15:45:07,037 Internal error processing get_range_slices 
java.lang.AssertionError: (162293240116362681726824838407749997815,35552186147124906726154103286687761342] 
     at org.apache.cassandra.db.ColumnFamilyStore.getRangeSlice(ColumnFamilyStore.java:1251) 
     at org.apache.cassandra.service.StorageProxy.getRangeSlice(StorageProxy.java:428) 
     at org.apache.cassandra.thrift.CassandraServer.get_range_slices(CassandraServer.java:513) 
     at org.apache.cassandra.thrift.Cassandra$Processor$get_range_slices.process(Cassandra.java:2868) 
     at org.apache.cassandra.thrift.Cassandra$Processor.process(Cassandra.java:2555) 
     at org.apache.cassandra.thrift.CustomTThreadPoolServer$WorkerProcess.run(CustomTThreadPoolServer.java:167) 
     at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) 
     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) 
     at java.lang.Thread.run(Thread.java:619)

그래서 어떻게해야합니까? 네트워크의 토폴로지를 얻으려면 describe_ring을 사용하고 네트워크 범위의 각 노드에 묻습니다. describe_splits 범위를 가져 오는 데 사용해야하는 토큰을 제공하는 토큰을 제공 한 다음 해당 토큰을 요청하기 시작합니다. start_tokenend_token이 키 배열에 있습니다.

아이디어가 있으십니까?

+0

은 (는) 버그에 같은 모양입니다. 마음 좀 알려주시겠습니까? – Schildmeijer

+0

물론 :-) http://pastebin.com/dsdMGZjW 돼지 짐 LoadFunc의 일부입니다. 나중에이 코드를 사용하여 스플릿을로드합니다. http://pastebin.com/yGT5umYm – cdecker

답변

3

이것은 0.6.9 및 0.7rc2에 대해 수정 된 버그입니다.

+0

아주 좋습니다! 나는 물론이 일이 어떤 버전인지를 추가해야한다. – cdecker

관련 문제