Riak Java存储桶中的异常
我正在用riak客户机1.4.2运行下面的简单java程序,但它不起作用。该程序只运行大约3或4次迭代,然后出现异常而失败Riak Java存储桶中的异常,java,riak,Java,Riak,我正在用riak客户机1.4.2运行下面的简单java程序,但它不起作用。该程序只运行大约3或4次迭代,然后出现异常而失败 import com.basho.riak.client.IRiakClient; import com.basho.riak.client.RiakException; import com.basho.riak.client.RiakFactory; import com.basho.riak.client.bucket.Bucket; import com.basho
import com.basho.riak.client.IRiakClient;
import com.basho.riak.client.RiakException;
import com.basho.riak.client.RiakFactory;
import com.basho.riak.client.bucket.Bucket;
import com.basho.riak.client.raw.http.HTTPClientConfig;
public class TestRiak {
private static IRiakClient riakClient;
public static void main(String[] args) throws RiakException {
HTTPClientConfig config = new HTTPClientConfig.Builder().withPort(10028).build();
riakClient = RiakFactory.newClient(config);
for(int i = 0 ; i < 10000 ; i++){
Bucket bucket = riakClient.fetchBucket("bucket56").execute();
Pojo pojo = new Pojo();
pojo.id_2 = "550" + i;
pojo.value = "val";
System.out.println(i);
bucket.store(pojo).execute();
}
}
}
import com.basho.riak.client.convert.RiakKey;
public class Pojo{
@RiakKey
public String id_2;
public String value;
}
原因:com.basho.riak.client.http.response.RiakResponseRuntimeException:错误:
54767792
com.basho.riak.client.http.response.FetchResponse.(FetchResponse.java:121)
位于com.basho.riak.client.http.RiakClient.store(RiakClient.java:184)
位于com.basho.riak.client.raw.http.HTTPClientAdapter.store(HTTPClientAdapter.java:235)
位于com.basho.riak.client.operations.StoreObject$1.call(StoreObject.java:150)
位于com.basho.riak.client.operations.StoreObject$1.call(StoreObject.java:148)
在com.basho.riak.client.cap.DefaultRetrier.trunt(DefaultRetrier.java:72)上
... 还有6个
我的riak环只有1个节点,其反熵已关闭,存储桶属性为“dw”:“quorum”,“n_val”:3,“pw”:0,“r”:“quorum”,“rw”:“quorum”,“w”:“quorum”。如果您能回答这个问题,我们将不胜感激
谢谢。在源代码中,fetchBucket执行每个循环。每个循环提取Bucket有什么原因吗?代码本身没有问题(如上所述,您确实只想提取Bucket一次);错误消息来自Riak。不幸的是,我不能复制这个。我会看看Riak日志。是的,fetchBucket可以在循环之前添加,但它没有任何区别。抛出相同的异常。谢谢有时我的riak节点可能会出错,即使我执行以下两次查询,我也会得到完全不同的结果,键:[“0b774858-fa01-4310-a0ae-357856”、“cb549553-f9a1-497d-8441-edfeff”、“8dfda62b-8903-4313-ba04-c99697”、“89db11dc-3776-44ef-b197-e45f42”]“键”:“0b774858-fa01-4310-a0ae-357856”]通过一个接一个地执行相同的查询,我得到了以上两个结果。如果我再次执行它,那么我会再次得到第一个结果,几秒钟后,它会再次给出第二个结果。有什么建议吗。您正在运行的Riak版本是什么?2.你是怎么安装的?3.你能把Riak的console.log文件上传到gist或类似的文件吗?
at com.basho.riak.client.cap.DefaultRetrier.attempt(DefaultRetrier.java:79)
at com.basho.riak.client.cap.DefaultRetrier.attempt(DefaultRetrier.java:81)
at com.basho.riak.client.cap.DefaultRetrier.attempt(DefaultRetrier.java:81)
at com.basho.riak.client.cap.DefaultRetrier.attempt(DefaultRetrier.java:81)
at com.basho.riak.client.cap.DefaultRetrier.attempt(DefaultRetrier.java:53)
at com.basho.riak.client.operations.StoreObject.execute(StoreObject.java:148)
at TEstRiak.main(TEstRiak.java:23)
at com.basho.riak.client.http.response.FetchResponse.<init>(FetchResponse.java:121)
at com.basho.riak.client.http.RiakClient.store(RiakClient.java:184)
at com.basho.riak.client.raw.http.HTTPClientAdapter.store(HTTPClientAdapter.java:235)
at com.basho.riak.client.operations.StoreObject$1.call(StoreObject.java:150)
at com.basho.riak.client.operations.StoreObject$1.call(StoreObject.java:148)
at com.basho.riak.client.cap.DefaultRetrier.attempt(DefaultRetrier.java:72)
... 6 more