[ https://issues.apache.org/jira/browse/SOLR-9922?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15833624#comment-15833624 ]
Mark Miller commented on SOLR-9922: ----------------------------------- This looks pretty good to me. I do see testDropBuffered in TestRecovery failing, but I had to add a little fuzz to apply the patch to UpdateLog, so I don't know if that caused some problem or if it was a later commit or it's a real issue with the patch. Some nit pick notes: TestRecovery:702 - we should look into this closely - is there any good use cases we currently count on that tests wouldn't catch for example? // The updates that were buffered (but never applied) still appear in recent versions! // This is good for some uses, but may not be good for others. UpdateLog:959 Maybe add a comment why ensureLog calls deleteOldBufferLog TestRecovery:752 bad javadoc - returns exception HdfsUpdateLog - unused imports RecoveryStrategy:289 - comment still talks about gap field HdfsUpdateLog has commented out dropBufferedUpdates method we should remove as well TransactionLog:154 source code formatting > Write buffering updates to another tlog > --------------------------------------- > > Key: SOLR-9922 > URL: https://issues.apache.org/jira/browse/SOLR-9922 > Project: Solr > Issue Type: Improvement > Security Level: Public(Default Security Level. Issues are Public) > Reporter: Cao Manh Dat > Attachments: SOLR-9922.patch, SOLR-9922.patch, SOLR-9922.patch > > > Currently, we write buffering logs to current tlog and not apply that updates > to index. Then we rely on replay log to apply that updates to index. But at > the same time there are some updates also write to current tlog and applied > to the index. > For example, during peersync, if new updates come to replica we will end up > with this tlog > tlog : old1, new1, new2, old2, new3, old3 > old updates belong to peersync, and these updates are applied to the index. > new updates belong to buffering updates, and these updates are not applied to > the index. > But writing all the updates to same current tlog make code base very complex. > We should write buffering updates to another tlog file. > By doing this, it will help our code base simpler. It also makes replica > recovery for SOLR-9835 more easier. Because after peersync success we can > copy new updates from temporary file to current tlog, for example > tlog : old1, old2, old3 > temporary tlog : new1, new2, new3 > --> > tlog : old1, old2, old3, new1, new2, new3 -- This message was sent by Atlassian JIRA (v6.3.4#6332) --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org For additional commands, e-mail: dev-h...@lucene.apache.org