2014-10-10 65 views
0

我在我的機器上安裝了riak 2.0.1。我正試圖用一把鑰匙存放一個物件放在耙鬥中。但我陷入了一個奇怪的問題。無法在原始riak桶中存儲數據

我的實際存儲桶名稱爲「abc-client」。

當我嘗試將數據保存在這個桶裏,我得到下面的錯誤控制檯上:

[error] ! step error 
[error] RiakRetryFailedException: com.basho.riak.client.http.response.RiakResponseRuntimeException: <html><head><title>500 Internal Server Error</title></head><body><h1>Internal Server Error</h1>The server encountered an error while processing this request:<br><pre>{error, 
[error]  {error,badarg, 
[error]   [{erlang,iolist_to_binary, 
[error]    [{hook_crashed,{riak_search_kv_hook,precommit,error,badarg}}], 
[error]    []}, 
[error]   {wrq,append_to_response_body,2,[{file,"src/wrq.erl"},{line,215}]}, 
[error]   {riak_kv_wm_object,handle_common_error,3, 
[error]    [{file,"src/riak_kv_wm_object.erl"},{line,1144}]}, 
[error]   {webmachine_resource,resource_call,3, 
[error]    [{file,"src/webmachine_resource.erl"},{line,186}]}, 
[error]   {webmachine_resource,do,3, 
[error]    [{file,"src/webmachine_resource.erl"},{line,142}]}, 
[error]   {webmachine_decision_core,resource_call,1, 
[error]    [{file,"src/webmachine_decision_core.erl"},{line,48}]}, 
[error]   {webmachine_decision_core,accept_helper,1, 
[error]    [{file,"src/webmachine_decision_core.erl"},{line,612}]}, 
[error]   {webmachine_decision_core,decision,1, 
[error]    [{file,"src/webmachine_decision_core.erl"},{line,580}]}]}}</pre><P><HR><ADDRESS>mochiweb+webmachine web server</ADDRESS></body></html> (DefaultRetrier.java:81) 
[error] com.basho.riak.client.cap.DefaultRetrier.attempt(DefaultRetrier.java:79) 
[error] com.basho.riak.client.cap.DefaultRetrier.attempt(DefaultRetrier.java:81) 
[error] com.basho.riak.client.cap.DefaultRetrier.attempt(DefaultRetrier.java:81) 
[error] com.basho.riak.client.cap.DefaultRetrier.attempt(DefaultRetrier.java:81) 
[error] com.basho.riak.client.cap.DefaultRetrier.attempt(DefaultRetrier.java:53) 
[error] com.basho.riak.client.operations.StoreObject.execute(StoreObject.java:148) 

但是當我改變桶的名字從「ABC-客戶」到「ABC-客戶端1 「,我能夠成功地存儲數據。

這裏是源代碼

val bucketName = "abc-client" client.createBucket(bucketName).execute() 
val abc = new ABC(id, "abc") 
val bucket = client.fetchBucket(bucketName).execute() 
bucket.store(abc).execute() 

誰能幫我解決一些這方面的一部分?由於事先

回答

0

此日誌位

[error]  {error,badarg, 
[error]   [{erlang,iolist_to_binary, 
[error]    [{hook_crashed,{riak_search_kv_hook,precommit,error,badarg}}], 

被指示存在在屬性定義abc-client預提交鉤,和與你試圖存儲對象執行定義的函數拋出一個badarg錯誤。

簡單修復 - 刪除預提交掛鉤。

更多涉及修復 - 發佈函數的來源,我們來看看。

+0

這可能是原因。因爲我也嘗試多次卸載並安裝riak。您能否讓我知道如何刪除預提交掛鉤。我已經添加了上面的源代碼。請檢查。 – 2014-10-11 03:37:09

相關問題