Re: Shard splitting failure, with and without composite hashing
Hey guys, I filed a jira for this and apparently this problem has been fixed in Lucene but didn't make it into the 4.4 release. Please see jira for more info about patches: https://issues.apache.org/jira/browse/SOLR-5144. -- View this message in context: http://lucene.472066.n3.nabble.com/Shard-splitting-failure-with-and-without-composite-hashing-tp4083662p4084642.html Sent from the Solr - User mailing list archive at Nabble.com.
Re: Shard splitting failure, with and without composite hashing
I am also getting same error when performing shard splitting using solr 4.4.0 -- View this message in context: http://lucene.472066.n3.nabble.com/Shard-splitting-failure-with-and-without-composite-hashing-tp4083662p4084177.html Sent from the Solr - User mailing list archive at Nabble.com.
Re: Shard splitting failure, with and without composite hashing
Hi, I'm getting the same error on 4.4.0 (just downloaded) reproducibly with these steps: # curl 'http://localhost:8983/solr/admin/cores?action=CREATE&collection=sockmonkey&name=sockmonkeycore1&numShards=1&shard=shard1&replicationFactor=1' # curl 'http://localhost:8983/solr/admin/cores?action=CREATE&collection=sockmonkey&name=sockmonkeycore2&shard=shard2' # curl 'http://localhost:8983/solr/admin/cores?action=CREATE&collection=sockmonkey&name=sockmonkeycore3&shard=shard3' # cd exampledocs/ # java -Durl=http://localhost:8983/solr/sockmonkey/update -jar post.jar ipod_video.xml # java -Durl=http://localhost:8983/solr/sockmonkey/update -jar post.jar monitor.xml # java -Durl=http://localhost:8983/solr/sockmonkey/update -jar post.jar mem.xml # cd .. # curl 'http://localhost:8983/solr/admin/cores?core=sockmonkeycore1&action=SPLIT&targetCore=sockmonkeycore2&targetCore=sockmonkeycore3' -- View this message in context: http://lucene.472066.n3.nabble.com/Shard-splitting-failure-with-and-without-composite-hashing-tp4083662p4084143.html Sent from the Solr - User mailing list archive at Nabble.com.
Re: Shard splitting failure, with and without composite hashing
Oops, I somehow forgot to mention that. The errors I'm seeing are with the release version of Solr 4.4.0. I mentioned 4.1.0 as that's what we currently have in prod, and we want to upgrade to 4.4.0 so we can do shard splitting. Towards that end, I'm testing shard splitting in 4.4.0 and seeing these errors. -Greg On Sun, Aug 11, 2013 at 7:51 AM, Erick Erickson wrote: > The very first thing I'd do is go to Solr 4.4. There have been > a lot of improvements in this code in the intervening 3 > versions. > > If the problem still occurs in 4.4, it'll get a lot more attention > than 4.1 > > FWIW, > Erick > > > On Fri, Aug 9, 2013 at 7:32 PM, Greg Preston >wrote: > > > Howdy, > > > > I'm trying to test shard splitting, and it's not working for me. I've > got > > a 4 node cloud with a single collection and 2 shards. > > > > I've indexed 170k small documents, and I'm using the compositeId router, > > with an internal "client id" as the shard key, with 4 distinct values > > across the data set. For my testing, the values of the shard keys are 1 > > through 4. Before splitting, shard1 contains 100k docs (all of the docs > > for shard keys 1 and 4) and shard2 contains 70k docs (all of the docs for > > shard keys 2 and 3). > > > > In prod, we're going to have thousands of unique shard keys, but for now, > > I'm testing at a smaller scale. I attempt to split shard2 with > > > > > http://host0:8983/solr/admin/collections?action=SPLITSHARD&collection=coll&shard=shard2 > > > > I understand the shard splitting is on hash range, not document count, > and > > it shouldn't split up documents within a single shard key, so I'm ok with > > it if both shard keys end up in the same sub-shard. > > > > I see the following in the logs: > > > > 689524 [qtp259549756-119] ERROR > org.apache.solr.servlet.SolrDispatchFilter > > – null:java.lang.RuntimeException: java.lang.IllegalArgumentException: > > maxValue must be non-negative (got: -1) > > at > > > > > org.apache.solr.handler.admin.CoreAdminHandler.handleSplitAction(CoreAdminHandler.java:290) > > at > > > > > org.apache.solr.handler.admin.CoreAdminHandler.handleRequestBody(CoreAdminHandler.java:186) > > at > > > > > org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.java:135) > > at > > > > > org.apache.solr.servlet.SolrDispatchFilter.handleAdminRequest(SolrDispatchFilter.java:611) > > at > > > > > org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:209) > > at > > > > > org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:158) > > 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:368) > > 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.jett
Re: Shard splitting failure, with and without composite hashing
The very first thing I'd do is go to Solr 4.4. There have been a lot of improvements in this code in the intervening 3 versions. If the problem still occurs in 4.4, it'll get a lot more attention than 4.1 FWIW, Erick On Fri, Aug 9, 2013 at 7:32 PM, Greg Preston wrote: > Howdy, > > I'm trying to test shard splitting, and it's not working for me. I've got > a 4 node cloud with a single collection and 2 shards. > > I've indexed 170k small documents, and I'm using the compositeId router, > with an internal "client id" as the shard key, with 4 distinct values > across the data set. For my testing, the values of the shard keys are 1 > through 4. Before splitting, shard1 contains 100k docs (all of the docs > for shard keys 1 and 4) and shard2 contains 70k docs (all of the docs for > shard keys 2 and 3). > > In prod, we're going to have thousands of unique shard keys, but for now, > I'm testing at a smaller scale. I attempt to split shard2 with > > http://host0:8983/solr/admin/collections?action=SPLITSHARD&collection=coll&shard=shard2 > > I understand the shard splitting is on hash range, not document count, and > it shouldn't split up documents within a single shard key, so I'm ok with > it if both shard keys end up in the same sub-shard. > > I see the following in the logs: > > 689524 [qtp259549756-119] ERROR org.apache.solr.servlet.SolrDispatchFilter > – null:java.lang.RuntimeException: java.lang.IllegalArgumentException: > maxValue must be non-negative (got: -1) > at > > org.apache.solr.handler.admin.CoreAdminHandler.handleSplitAction(CoreAdminHandler.java:290) > at > > org.apache.solr.handler.admin.CoreAdminHandler.handleRequestBody(CoreAdminHandler.java:186) > at > > org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.java:135) > at > > org.apache.solr.servlet.SolrDispatchFilter.handleAdminRequest(SolrDispatchFilter.java:611) > at > > org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:209) > at > > org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:158) > 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:368) > 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:662) > Caused by: java.lang.IllegalArgumentException: maxValue must be > non-negative (got: -1) > at > org.apache.lucene.util.packed.PackedInts.bitsRequired(PackedInts.java:1184) > at > > org.apache.lucene.codecs.lucene42.Lucene42DocValuesConsumer.addNumericField(Lucene42DocValuesConsumer.java:140) > at > > org.apache.lucene.codecs.lucene42.Lucene42DocValuesConsumer.addNumericField(Lucene42DocValuesConsumer.java:92) > at > >
Shard splitting failure, with and without composite hashing
Howdy, I'm trying to test shard splitting, and it's not working for me. I've got a 4 node cloud with a single collection and 2 shards. I've indexed 170k small documents, and I'm using the compositeId router, with an internal "client id" as the shard key, with 4 distinct values across the data set. For my testing, the values of the shard keys are 1 through 4. Before splitting, shard1 contains 100k docs (all of the docs for shard keys 1 and 4) and shard2 contains 70k docs (all of the docs for shard keys 2 and 3). In prod, we're going to have thousands of unique shard keys, but for now, I'm testing at a smaller scale. I attempt to split shard2 with http://host0:8983/solr/admin/collections?action=SPLITSHARD&collection=coll&shard=shard2 I understand the shard splitting is on hash range, not document count, and it shouldn't split up documents within a single shard key, so I'm ok with it if both shard keys end up in the same sub-shard. I see the following in the logs: 689524 [qtp259549756-119] ERROR org.apache.solr.servlet.SolrDispatchFilter – null:java.lang.RuntimeException: java.lang.IllegalArgumentException: maxValue must be non-negative (got: -1) at org.apache.solr.handler.admin.CoreAdminHandler.handleSplitAction(CoreAdminHandler.java:290) at org.apache.solr.handler.admin.CoreAdminHandler.handleRequestBody(CoreAdminHandler.java:186) at org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.java:135) at org.apache.solr.servlet.SolrDispatchFilter.handleAdminRequest(SolrDispatchFilter.java:611) at org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:209) at org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:158) 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:368) 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:662) Caused by: java.lang.IllegalArgumentException: maxValue must be non-negative (got: -1) at org.apache.lucene.util.packed.PackedInts.bitsRequired(PackedInts.java:1184) at org.apache.lucene.codecs.lucene42.Lucene42DocValuesConsumer.addNumericField(Lucene42DocValuesConsumer.java:140) at org.apache.lucene.codecs.lucene42.Lucene42DocValuesConsumer.addNumericField(Lucene42DocValuesConsumer.java:92) at org.apache.lucene.codecs.DocValuesConsumer.mergeNumericField(DocValuesConsumer.java:112) at org.apache.lucene.index.SegmentMerger.mergeNorms(SegmentMerger.java:221) at org.apache.lucene.index.SegmentMerger.merge(SegmentMerger.java:119) at org.apache.lucene.index.IndexWriter.addIndexes(IndexWriter.java:2488) at org.apache.solr.update.SolrIndexSplitter.split(SolrIndexSplitter.java:125) at org.apache.solr.update.DirectUpdateHandler2.split(DirectUpdateHandler2.java:766)