[ 
https://issues.apache.org/jira/browse/SOLR-13813?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16971240#comment-16971240
 ] 

Yonik Seeley commented on SOLR-13813:
-------------------------------------

OK, so I re-added the live split test, updated to reflect the 
non-shared-storage live split test used to fix the previous errors.
Unfortunately, this shared-storage version still fails with a NPE.

{code}
8946 ERROR (qtp1977170964-191) [n:127.0.0.1:52014_solr c:livesplit1 s:shard1_0 
r:core_node5 x:livesplit1_shard1_0_replica_s3 ] o.a.s.h.RequestHandlerBase 
org.apache.solr.common.SolrException: Error trying to push to blob store
        at 
org.apache.solr.store.blob.process.CoreUpdateTracker.persistShardIndexToSharedStore(CoreUpdateTracker.java:74)
        at 
org.apache.solr.update.processor.DistributedZkUpdateProcessor.writeToSharedStore(DistributedZkUpdateProcessor.java:1104)
        at 
org.apache.solr.update.processor.DistributedZkUpdateProcessor.doDistribFinish(DistributedZkUpdateProcessor.java:1251)
        at 
org.apache.solr.update.processor.DistributedUpdateProcessor.finish(DistributedUpdateProcessor.java:1097)
        at 
org.apache.solr.update.processor.LogUpdateProcessorFactory$LogUpdateProcessor.finish(LogUpdateProcessorFactory.java:182)
        at 
org.apache.solr.handler.ContentStreamHandlerBase.handleRequestBody(ContentStreamHandlerBase.java:78)
        at 
org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.java:198)
        at org.apache.solr.core.SolrCore.execute(SolrCore.java:2576)
        at org.apache.solr.servlet.HttpSolrCall.execute(HttpSolrCall.java:844)
        at org.apache.solr.servlet.HttpSolrCall.call(HttpSolrCall.java:623)
        at 
org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:425)
        at 
org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:352)
        at 
org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1610)
        at 
org.apache.solr.client.solrj.embedded.JettySolrRunner$DebugFilter.doFilter(JettySolrRunner.java:167)
        at 
org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1610)
        at 
org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:540)
        at 
org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:255)
        at 
org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1711)
        at 
org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:255)
        at 
org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1347)
        at 
org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:203)
        at 
org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:480)
        at 
org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1678)
        at 
org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:201)
        at 
org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1249)
        at 
org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:144)
        at 
org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
        at 
org.eclipse.jetty.rewrite.handler.RewriteHandler.handle(RewriteHandler.java:335)
        at 
org.eclipse.jetty.server.handler.gzip.GzipHandler.handle(GzipHandler.java:703)
        at 
org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
        at org.eclipse.jetty.server.Server.handle(Server.java:505)
        at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:370)
        at org.eclipse.jetty.server.HttpChannel.run(HttpChannel.java:311)
        at 
org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:781)
        at 
org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:917)
        at java.base/java.lang.Thread.run(Thread.java:834)
Caused by: org.apache.solr.common.SolrException: CorePusher failed to push 
shard index for shard1_0 due to unexpected exception
        at 
org.apache.solr.store.blob.process.CorePusher.pushCoreToBlob(CorePusher.java:184)
        at 
org.apache.solr.store.blob.process.CoreUpdateTracker.persistShardIndexToSharedStore(CoreUpdateTracker.java:71)
        ... 35 more
Caused by: java.lang.NullPointerException
        at 
org.apache.solr.store.blob.process.CorePusher.pushCoreToBlob(CorePusher.java:96)
        ... 36 more
{code}

> Shared storage online split support
> -----------------------------------
>
>                 Key: SOLR-13813
>                 URL: https://issues.apache.org/jira/browse/SOLR-13813
>             Project: Solr
>          Issue Type: Sub-task
>            Reporter: Yonik Seeley
>            Priority: Major
>          Time Spent: 0.5h
>  Remaining Estimate: 0h
>
> The strategy for online shard splitting is the same as that for normal (non 
> SHARED shards.)
> During a split, the leader will forward updates to sub-shard leaders, those 
> updates will be buffered by the transaction log while the split is in 
> progress, and then the buffered updates are replayed.
> One change that was added was to push the local index to blob store after 
> buffered updates are applied (but before it is marked as ACTIVE):
> See 
> https://github.com/apache/lucene-solr/commit/fe17c813f5fe6773c0527f639b9e5c598b98c7d4#diff-081b7c2242d674bb175b41b6afc21663
> This issue is about adding tests and ensuring that online shard splitting 
> (while updates are flowing) works reliably.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to