Hi All, 

Apologies if you received this message twice - my submission through
Nabble seems to have failed. 

I've been a moderate user of early versions of Riak and now I'm back to
Riak land to try version 2.0 and Riak Search with Solr (after seeing
Eric Redmond presenting in Dublin, this is exciting stuff!). 

I was following the instructions in 'Using Search'
(http://docs.basho.com/riak/2.0.0/dev/using/search/ [1]) but was unable
so far to make Riak Search working. When I try to insert the first
document ("liono"), it gets inserted into Riak successfully, but I'm
getting the following error when it tries to index it: 

**** 
_failed to index object {{<<"animals">>,<<"cats">>},<<"liono">>} with
error {"Failed to index docs"_ ...
**** 

(see full error + stack trace from Solr below) 

ENVIRONMENT:

OS: OS X 10.9.5 
Erlang: R16B02-basho5 
Riak: 2.0.1 

Development nodes set up as per 'Five-Minute Install' tutorial + enabled
search + changed storage backend to LevelDB + enabled Riak Control: 

STEPS TAKEN:

1) Create an index using Python client: 

from riak import RiakClient 
client = RiakClient(host='127.0.0.1', protocol='pbc', pb_port=10017) 
client.create_search_index('famous') 

2) Create new bucket type: 

dev1/bin/riak-admin bucket-type create animals
'{"props":{"search_index":"famous"}}' 
dev1/bin/riak-admin bucket-type activate animals 

3) Then, through Python client: 

from riak import RiakClient 
client = RiakClient(host='127.0.0.1', protocol='pbc', pb_port=10017) 
bucket = client.bucket_type('animals').bucket('cats') 
cat = bucket.new('liono', {'name_s': 'Lion-o', 'age_i': 30, 'leader_b':
True}) 
cat.store() 

The last statement exists successfully and returns a Riak object
(<riak.riak_object.RiakObject at 0x106acdd10>) but it produces an error
in Riak and Solr: 

ERROR IN DEV1/LOG/CONSOLE.LOG:

2014-11-11 22:59:25.171 [error] <0.770.0>@yz_kv:index:215 failed to
index object {{<<"animals">>,<<"cats">>},<<"liono">>} with error
{"Failed to index docs",{ok,"500",[{"Content-Type","application/json;
charset=UTF-8"},{"Transfer-Encoding","chunked"}],"{"responseHeader":{"status":500,"QTime":1},"error":{"msg":"Expected
key,value separator ':': char=(EOF),position=9
BEFORE=''","trace":"org.noggit.JSONParser$ParseException: Expected
key,value separator ':': char=(EOF),position=9 BEFORE=''\n\tat
org.noggit.JSONParser.err(JSONParser.java:223)\n\tat
org.noggit.JSONParser.nextEvent(JSONParser.java:679)\n\tat
org.apache.solr.handler.loader.JsonLoader$SingleThreadedJsonLoader.handleDeleteCommand(JsonLoader.java:187)\n\tat
org.apache.solr.handler.loader.JsonLoader$SingleThreadedJsonLoader.processUpdate(JsonLoader.java:146)\n\tat
org.apache.solr.handler.loader.JsonLoader$SingleThreadedJsonLoader.load(JsonLoader.java:101)\n\tat
org.apache.solr.handler.loader.JsonLoader.load(JsonLoader.java:65)\n\tat
org.apache.solr.handler.UpdateRequestHandler$1.load(UpdateRequestHandler.java:92)\n\tat
org.apache.solr.handler.ContentStreamHandlerBase.handleRequestBody(ContentStreamHandlerBase.java:74)\n\tat
org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.java:135)\n\tat
org.apache.solr.core.SolrCore.execute(SolrCore.java:1916)\n\tat
org.apache.solr.servlet.SolrDispatchFilter.execute(SolrDispatchFilter.java:780)\n\tat
org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:427)\n\tat
org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:217)\n\tat
org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1419)\n\tat
org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:455)\n\tat
org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:137)\n\tat
org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:557)\n\tat
org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:231)\n\tat
org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandl..."}}
because
[{yz_solr,index,3,[{file,"src/yz_solr.erl"},{line,192}]},{yz_kv,index,7,[{file,"src/yz_kv.erl"},{line,267}]},{yz_kv,index,3,[{file,"src/yz_kv.erl"},{line,202}]},{riak_kv_vnode,actual_put,6,[{file,"src/riak_kv_vnode.erl"},{line,1418}]},{riak_kv_vnode,perform_put,3,[{file,"src/riak_kv_vnode.erl"},{line,1406}]},{riak_kv_vnode,do_put,7,[{file,"src/riak_kv_vnode.erl"},{line,1201}]},{riak_kv_vnode,handle_command,3,[{file,"src/riak_kv_vnode.erl"},{line,486}]},{riak_core_vnode,vnode_command,3,[{file,"src/riak_core_vnode.erl"},{line,345}]}]


ERROR IN DEV1/LOG/SOLR.LOG:

2014-11-11 22:59:25,164 [DEBUG] <qtp1972588681-18 -
/internal_solr/famous/update>@Server.java:363 REQUEST
/internal_solr/famous/update on BlockingHttpConn 
ection@3b9f051a,g=HttpGenerator{s=0,h=-1,b=-1,c=-1},p=HttpParser{s=2,l=1,c=9},r=1263

2014-11-11 22:59:25,164 [DEBUG] <qtp1972588681-18 -
/internal_solr/famous/update>@ContextHandler.java:931 scope
null||/internal_solr/famous/update @ o.e.j 
.w.WebAppContext{/internal_solr,file:/Users/kazarena/riak-2.0.1/dev/dev1/lib/yokozuna-2.0.0-1-g6ac3a63/priv/solr/solr-webapp/webapp/},/Us

ers/kazarena/riak-2.0.1/dev/dev1/lib/yokozuna-2.0.0-1-g6ac3a63/priv/solr/webapps/solr.war

2014-11-11 22:59:25,164 [DEBUG] <qtp1972588681-18 -
/internal_solr/famous/update>@ContextHandler.java:1003
context=/internal_solr||/famous/update @ o.e.j. 
w.WebAppContext{/internal_solr,file:/Users/kazarena/riak-2.0.1/dev/dev1/lib/yokozuna-2.0.0-1-g6ac3a63/priv/solr/solr-webapp/webapp/},/Use

rs/kazarena/riak-2.0.1/dev/dev1/lib/yokozuna-2.0.0-1-g6ac3a63/priv/solr/webapps/solr.war

2014-11-11 22:59:25,164 [DEBUG] <qtp1972588681-18 -
/internal_solr/famous/update>@SessionHandler.java:187
sessionManager=org.eclipse.jetty.server.session. 
HashSessionManager@75197422 
2014-11-11 22:59:25,165 [DEBUG] <qtp1972588681-18 -
/internal_solr/famous/update>@SessionHandler.java:188 session=null 
2014-11-11 22:59:25,165 [DEBUG] <qtp1972588681-18 -
/internal_solr/famous/update>@ServletHandler.java:370 servlet
/internal_solr|/famous/update|null -> de 
fault 
2014-11-11 22:59:25,165 [DEBUG] <qtp1972588681-18 -
/internal_solr/famous/update>@ServletHandler.java:432
chain=SolrRequestFilter->default 
2014-11-11 22:59:25,165 [DEBUG] <qtp1972588681-18 -
/internal_solr/famous/update>@ServletHandler.java:1416 call filter
SolrRequestFilter 
2014-11-11 22:59:25,165 [DEBUG] <qtp1972588681-18 -
/internal_solr/famous/update>@LogUpdateProcessorFactory.java:178
PRE_UPDATE FINISH {{params(),defaults 
(wt=json)}} 
2014-11-11 22:59:25,166 [INFO] <qtp1972588681-18 -
/internal_solr/famous/update>@LogUpdateProcessorFactory.java:198
[famous] webapp=/internal_solr path=/u 
pdate params={} {} 0 1 
2014-11-11 22:59:25,167 [ERROR] <qtp1972588681-18 -
/internal_solr/famous/update>@SolrException.java:109
org.noggit.JSONParser$ParseException: Expected key,value separator ':':
char=(EOF),position=9 BEFORE='' 
 at org.noggit.JSONParser.err(JSONParser.java:223) 
 at org.noggit.JSONParser.nextEvent(JSONParser.java:679) 
 at
org.apache.solr.handler.loader.JsonLoader$SingleThreadedJsonLoader.handleDeleteCommand(JsonLoader.java:187)

 at
org.apache.solr.handler.loader.JsonLoader$SingleThreadedJsonLoader.processUpdate(JsonLoader.java:146)

 at
org.apache.solr.handler.loader.JsonLoader$SingleThreadedJsonLoader.load(JsonLoader.java:101)

 at org.apache.solr.handler.loader.JsonLoader.load(JsonLoader.java:65) 
 at
org.apache.solr.handler.UpdateRequestHandler$1.load(UpdateRequestHandler.java:92)

 at
org.apache.solr.handler.ContentStreamHandlerBase.handleRequestBody(ContentStreamHandlerBase.java:74)

 at
org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.java:135)

 at org.apache.solr.core.SolrCore.execute(SolrCore.java:1916) 
 at
org.apache.solr.servlet.SolrDispatchFilter.execute(SolrDispatchFilter.java:780)

 at
org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:427)

 at
org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:217)

 at
org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1419)

 at
org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:455)

 at
org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:137)

 at
org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:557)

 at
org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:231)

 at
org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1075)

 at
org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:384)

 at
org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:193)

 at
org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1009)

 at
org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:135)

 at
org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:255)

 at
org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:154)

 at
org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:116)

 at org.eclipse.jetty.server.Server.handle(Server.java:364) 
 at
org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:489)

 at
org.eclipse.jetty.server.BlockingHttpConnection.handleRequest(BlockingHttpConnection.java:53)

 at
org.eclipse.jetty.server.AbstractHttpConnection.content(AbstractHttpConnection.java:953)

 at
org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.content(AbstractHttpConnection.java:1014)

 at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:861) 
 at
org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:240) 
 at
org.eclipse.jetty.server.BlockingHttpConnection.handle(BlockingHttpConnection.java:72)

 at
org.eclipse.jetty.server.bio.SocketConnector$ConnectorEndPoint.run(SocketConnector.java:264)

 at
org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:608)

 at
org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:543)

 at java.lang.Thread.run(Thread.java:745) 

FROM ETC/DEV1/RISK.CONF:

## Specifies the storage engine used for Riak's key-value data 
## and secondary indexes (if supported). 
## 
## Default: bitcask 
## 
## Acceptable values: 
## - one of: bitcask, leveldb, memory, multi 
storage_backend = leveldb 
... 
## Set to 'off' to disable the admin panel. 
## 
## Default: off 
## 
## Acceptable values: 
## - on or off 
riak_control = on 
... 
## To enable Search set this 'on'. 
## 
## Default: off 
## 
## Acceptable values: 
## - on or off 
search = on 
... 

Any help would be really appreciated. 

Kind Regards, 
Stan Nazarenko 
 

Links:
------
[1] http://docs.basho.com/riak/2.0.0/dev/using/search/
_______________________________________________
riak-users mailing list
riak-users@lists.basho.com
http://lists.basho.com/mailman/listinfo/riak-users_lists.basho.com

Reply via email to