You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@lucene.apache.org by "ludovic Boutros (JIRA)" <ji...@apache.org> on 2013/09/11 17:45:52 UTC
[jira] [Comment Edited] (SOLR-5235) Update Log replay does not use
the processor chain for commit
[ https://issues.apache.org/jira/browse/SOLR-5235?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13764381#comment-13764381 ]
ludovic Boutros edited comment on SOLR-5235 at 9/11/13 3:45 PM:
----------------------------------------------------------------
The code of UpdateLog.java for reference :
{code:title=UpdateLog.java|borderStyle=solid}
CommitUpdateCommand cmd = new CommitUpdateCommand(req, false);
cmd.setVersion(commitVersion);
cmd.softCommit = false;
cmd.waitSearcher = true;
cmd.setFlags(UpdateCommand.REPLAY);
try {
if (debug) log.debug("commit " + cmd);
uhandler.commit(cmd); // this should cause a commit to be added to the incomplete log and avoid it being replayed again after a restart.
} catch (IOException ex) {
recoveryInfo.errors++;
loglog.error("Replay exception: final commit.", ex);
}
{code}
was (Author: lboutros):
The portion code of UpdateLog.java for reference :
{code:title=UpdateLog.java|borderStyle=solid}
CommitUpdateCommand cmd = new CommitUpdateCommand(req, false);
cmd.setVersion(commitVersion);
cmd.softCommit = false;
cmd.waitSearcher = true;
cmd.setFlags(UpdateCommand.REPLAY);
try {
if (debug) log.debug("commit " + cmd);
uhandler.commit(cmd); // this should cause a commit to be added to the incomplete log and avoid it being replayed again after a restart.
} catch (IOException ex) {
recoveryInfo.errors++;
loglog.error("Replay exception: final commit.", ex);
}
{code}
> Update Log replay does not use the processor chain for commit
> -------------------------------------------------------------
>
> Key: SOLR-5235
> URL: https://issues.apache.org/jira/browse/SOLR-5235
> Project: Solr
> Issue Type: Bug
> Components: SolrCloud
> Affects Versions: 4.3.1, 4.4
> Reporter: ludovic Boutros
>
> The update log replay process commit commands directly with the Update Handler.
> The update processor chain is not used. I may be wrong but I think this is to prevent to log this commit command again in the LogUpdateProcessor.
> But this commit command is flagged with the flag UpdateCommand.REPLAY. I think this flag should be checked in the LogUpdateProcessor in order to adapt its behavior.
> Currently, commit actions in custom Update Processors are not applied in case of a crash without an explicit commit.
> A workaround can be done with the finish function but this is not ideal.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@lucene.apache.org
For additional commands, e-mail: dev-help@lucene.apache.org