You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@lucene.apache.org by "Yonik Seeley (Jira)" <ji...@apache.org> on 2019/11/10 21:44:00 UTC

[jira] [Commented] (SOLR-13813) Shared storage online split support

    [ 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: issues-unsubscribe@lucene.apache.org
For additional commands, e-mail: issues-help@lucene.apache.org