Hi,

I have just found out what the problem was: Solr does not support non
native types like BigDecimals.

Moving my schema fields to plain float solved the problem.

Regards,
Ugo


On Thu, Feb 6, 2014 at 12:32 PM, Ugo Matrangolo <ugo.matrang...@gmail.com>wrote:

> Hi,
>
> ran in a weird error while replicating the index using SolrCloud.
>
> On a 4.6.1 cluster the indexing replica process fails for most of the
> documents with an error like this (on the replica side):
>
> 2014-02-06 11:55:45,249 [qtp-75] DEBUG
> org.apache.solr.update.processor.LogUpdateProcessor  - PRE_UPDATE FINISH
> {distrib.from=
> http://192.168.255.1:9765/skus/&update.distrib=FROMLEADER&wt=javabin&version=2&update.chain=custom
> }
> 2014-02-06 11:55:45,250 [qtp-75] INFO
>  org.apache.solr.update.processor.LogUpdateProcessor  - [skus] webapp=
> path=/update params={distrib.from=
> http://192.168.255.1:9765/skus/&update.distrib=FROMLEADER&wt=javabin&version=2&update.chain=custom}
> {} 0 12
> *2014-02-06 11:55:45,251 [qtp-75] ERROR org.apache.solr.core.SolrCore  -
> org.apache.solr.common.SolrException: ERROR: [doc=sku_2832884_0] Error
> adding field 'sku_max_sale_price'='java.math.BigDecimal:109.0' msg=For
> input string: "java.math.BigDecimal:109.0"*
>  at
> org.apache.solr.update.DocumentBuilder.toDocument(DocumentBuilder.java:167)
> at
> org.apache.solr.update.AddUpdateCommand.getLuceneDocument(AddUpdateCommand.java:77)
>  at
> org.apache.solr.update.DirectUpdateHandler2.addDoc(DirectUpdateHandler2.java:215)
> at
> org.apache.solr.update.processor.RunUpdateProcessor.processAdd(RunUpdateProcessorFactory.java:69)
>  at
> org.apache.solr.update.processor.UpdateRequestProcessor.processAdd(UpdateRequestProcessor.java:51)
> at
> org.apache.solr.update.processor.DistributedUpdateProcessor.doLocalAdd(DistributedUpdateProcessor.java:571)
>  at
> org.apache.solr.update.processor.DistributedUpdateProcessor.versionAdd(DistributedUpdateProcessor.java:707)
> at
> org.apache.solr.update.processor.DistributedUpdateProcessor.processAdd(DistributedUpdateProcessor.java:437)
>  at
> org.apache.solr.handler.loader.JavabinLoader$1.update(JavabinLoader.java:96)
> at
> org.apache.solr.client.solrj.request.JavaBinUpdateRequestCodec$1.readOuterMostDocIterator(JavaBinUpdateRequestCodec.java:166)
>  at
> org.apache.solr.client.solrj.request.JavaBinUpdateRequestCodec$1.readIterator(JavaBinUpdateRequestCodec.java:136)
> at org.apache.solr.common.util.JavaBinCodec.readVal(JavaBinCodec.java:225)
>  at
> org.apache.solr.client.solrj.request.JavaBinUpdateRequestCodec$1.readNamedList(JavaBinUpdateRequestCodec.java:121)
> at org.apache.solr.common.util.JavaBinCodec.readVal(JavaBinCodec.java:190)
>  at
> org.apache.solr.common.util.JavaBinCodec.unmarshal(JavaBinCodec.java:116)
> at
> org.apache.solr.client.solrj.request.JavaBinUpdateRequestCodec.unmarshal(JavaBinUpdateRequestCodec.java:173)
>  at
> org.apache.solr.handler.loader.JavabinLoader.parseAndLoadDocs(JavabinLoader.java:106)
> at org.apache.solr.handler.loader.JavabinLoader.load(JavabinLoader.java:58)
>  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:1859)
>  at
> org.apache.solr.servlet.SolrDispatchFilter.execute(SolrDispatchFilter.java:721)
> at
> com.ugo.search.solr.SolrDispatchFilter.execute(SolrDispatchFilter.java:63)
>  at
> org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:417)
> at
> org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:201)
>  at
> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1419)
> at com.ugo.search.solr.UnProxyFilter.doFilter(UnProxyFilter.java:34)
>  at
> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1419)
> at
> org.eclipse.jetty.servlets.UserAgentFilter.doFilter(UserAgentFilter.java:82)
>  at org.eclipse.jetty.servlets.GzipFilter.doFilter(GzipFilter.java:256)
> at
> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1419)
>  at
> com.yammer.metrics.web.WebappMetricsFilter.doFilter(WebappMetricsFilter.java:76)
> at
> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1419)
>  at
> com.ugo.service.core.servlet.ServiceHeadersFilter.doFilter(ServiceHeadersFilter.java:33)
> 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.HandlerWrapper.handle(HandlerWrapper.java:116)
>  at
> org.eclipse.jetty.server.handler.StatisticsHandler.handle(StatisticsHandler.java:126)
> at
> org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:116)
>  at
> com.yammer.metrics.jetty.InstrumentedHandler.handle(InstrumentedHandler.java:200)
> at
> com.ugo.service.core.JettyHttpService$3.handle(JettyHttpService.java:450)
>  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:370)
>  at
> org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:489)
> at
> org.eclipse.jetty.server.AbstractHttpConnection.content(AbstractHttpConnection.java:960)
>  at
> org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.content(AbstractHttpConnection.java:1021)
> at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:957)
>  at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:240)
> at
> org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:82)
>  at
> org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:668)
> at
> org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:52)
>  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:722)
> *Caused by: java.lang.NumberFormatException: For input string:
> "java.math.BigDecimal:109.0"*
>  at
> sun.misc.FloatingDecimal.readJavaFormatString(FloatingDecimal.java:1241)
> at java.lang.Float.parseFloat(Float.java:452)
>  at org.apache.solr.schema.TrieField.createField(TrieField.java:593)
> at org.apache.solr.schema.TrieField.createFields(TrieField.java:650)
>  at
> org.apache.solr.update.DocumentBuilder.addField(DocumentBuilder.java:47)
> at
> org.apache.solr.update.DocumentBuilder.toDocument(DocumentBuilder.java:118)
>  ... 64 more
>
>
> Looks like I'm not the first one running in this issue: I have just found
> this (
> http://mail-archives.apache.org/mod_mbox/lucene-solr-user/201312.mbox/%3c52a90560.8070...@elyograg.org%3E)
> on the SOLR ml archives.
>
> Any update on how to fix this? Do I need to revert to 4.5.1 as suggested
> in the last post in the above discussion on the ML ?
>
> Regards,
> Ugo
>

Reply via email to