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

Ludovic Boutros commented on SOLR-8030:
---------------------------------------

I'm trying to fix this issue. 
But it seems to be even more complicated.

I have added the update chain name to the transaction log for the following 
operations:
add, delete, deleteByQuery

The 'finish' call can be done on each update chain used during the log replay.

But, actually commits are ignored and a final commit is fired at the end.
But if the update logic of the chain does something during the commit it will 
be ignored and it seems to be tricky to improve this.

The (de)serialization of the commands are done with element positions,
so, it's not really easy to add new elements to the transaction log. These 
positions must be updated in multiple places. Perhaps it should use at least 
some constant values...

Another thing, it seems that PeerSync uses the same (de)serialization, and is 
affected by the same issue. The bad thing is that the code is duplicated. It 
will have to take the update chain in account too.

> Transaction log does not store the update chain used for updates
> ----------------------------------------------------------------
>
>                 Key: SOLR-8030
>                 URL: https://issues.apache.org/jira/browse/SOLR-8030
>             Project: Solr
>          Issue Type: Bug
>          Components: SolrCloud
>    Affects Versions: 5.3
>            Reporter: Ludovic Boutros
>         Attachments: SOLR-8030-test.patch
>
>
> Transaction Log does not store the update chain used during updates.
> Therefore tLog uses the default update chain during log replay.
> If we implement custom update logic with multiple update chains, the log 
> replay could break this logic.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

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

Reply via email to