2011-05-30 39 views
1

您好同胞開發商,IAM越來越錯誤時調用方法「addEqualsExpression」上面運行的代碼時:得到錯誤的赫克託,卡桑德拉

public void getConditioningQuery(String columnName,String value){ 
     QueryResult<OrderedRows<String, String, String>> result = 
     (QueryResult<OrderedRows<String, String, String>>) new IndexedSlicesQuery<String, String, String>(keyspace, serializer, serializer, serializer) 
     .addEqualsExpression("state", "TI") 
     .setReturnKeysOnly() 
     .setColumnFamily(CF_NAME) 
     .setStartKey("") 
     .execute(); 
     System.out.println("Result="+result.get().getList()); 
    } 

這種方法是找到排在那裏狀態= TI。 我已經在我的專欄的家人和如果卡桑德拉-CLI我手工查詢,數據顯示加索引,但如果使用即時通訊的代碼使用威嚇,即時得到這個錯誤:

在我的IDE

=

345 [main] INFO me.prettyprint.cassandra.service.JmxMonitor - Registering JMX me.prettyprint.cassandra.service_MyCluster:ServiceType=hector,MonitorType=hector 
867 [main] INFO me.prettyprint.cassandra.hector.TimingLogger - start[1306754734185] time[91] tag[WRITE.success_] 
10926 [main] INFO me.prettyprint.cassandra.hector.TimingLogger - start[1306754734314] time[10021] tag[READ.fail_] 
me.prettyprint.hector.api.exceptions.HTimedOutException: TimedOutException() 
     at me.prettyprint.cassandra.service.ExceptionsTranslatorImpl.translate(ExceptionsTranslatorImpl.java:32) 

和卡桑德拉數=

ERROR 18:25:34,326 Fatal exception in thread Thread[ReadStage:102,5,main] 
java.lang.AssertionError: No data found for NamesQueryFilter(columns=) in DecoratedKey(165611378069681836494944905825187619237, 73616e6a6f7578):QueryPath(columnFamilyName='user', superColumnName='null', columnName='null') (original filter NamesQueryFilter(columns=)) from expression 'user.state EQ TI' 
     at org.apache.cassandra.db.ColumnFamilyStore.scan(ColumnFamilyStore.java:1603) 
     at org.apache.cassandra.service.IndexScanVerbHandler.doVerb(IndexScanVerbHandler.java:42) 
     at org.apache.cassandra.net.MessageDeliveryTask.run(MessageDeliveryTask.java:72) 
     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:680) 

IM如此混淆,因爲錯誤是告訴我們,如果沒有找到在列家庭用戶列中的數據,但如果使用卡桑德拉-CLI IM,數據顯示。 。

即時通訊如此混亂,仍然卡在這裏..可能是我的方法是錯誤的?有人可以幫助我告訴我什麼是錯的?即時通訊仍谷歌解決這個問題..感謝您的關注和對我的英語不好:D ..

+1

您可能想試試hector用戶郵件列表 – Schildmeijer 2011-05-30 13:49:39

+0

@ Schildmeijer,感謝您的回覆:D,我認爲它是一個好主意,可以問問Hector郵件列表,也許有人可以幫助我,感謝:D .. – fahmi 2011-05-30 13:57:43

回答

0

您還不能將setReturnKeysOnly用於索引查詢。這將在未來的版本中得到修復(請參閱Tyler鏈接);同時,只需讓它返回一個或多個列作爲解決方法。

+0

你好jbelllis,謝謝你的迴應,它適用於我,非常感謝,Fahmi – fahmi 2011-06-01 04:39:52

1

如果您使用的是0.8-rc1或類似軟件,看起來您正在打CASSANDRA-2653。這應該在當前的0.8分支中修復。

+0

im不使用版本0.8-rc1,我使用0.7版本..謝謝你的答覆..:D – fahmi 2011-05-31 02:39:45