[jira] [Updated] (LUCENE-4975) Add Replication module to Lucene
[ https://issues.apache.org/jira/browse/LUCENE-4975?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Shai Erera updated LUCENE-4975: --- Attachment: LUCENE-4975.patch New patch changes how handlers work: * Beasting found a seed which uncovered a major problem with their current operation. They were trying to be too honest with the index and e.g. revert/delete upon any exception that occurred. * Thanks to MDW, Mike and I decided to keep the handlers simple -- if a handler successfully copies + syncs the revision files, then this is considered the new revision. * Kissing the index is now done not through IndexWriter, but rather deleting all files not referenced by last commit. ** That cleanup is a best-effort only ... if it fails, it just logs this information and not act on it. Cleanup can happen later too. * That means that if you have a really nasty crazy IO system (like MDW sometimes acts), the Replicator is not the one that's going to care about it. The app will hit those weird errors in other places too, e.g. when it tries to refresh SearcherManager or perform search. ** These errors are not caused by the Replicator or bad handler operation. I.e. if the handler successfully called fsync(), yet the IO system decides to fail later ... that's really not the handler's problem. * Therefore the handlers are now simpler, don't use IW (and the crazy need to rollback()), and once files were successfully copied + sync'd, no more exceptions can occur by the handler (except callback may fail, but that's ok). * I also removed the timeout behavior the test employed -- now that ReplicationClient has isUpdateThreadAlive(), assertHandlerRevision loops as long as the client is alive. If there's a serious bug, test-framework will terminate the test after 2 hours ... * ReplicationClient.startUpdateThread is nicer -- allows starting the thread if updateThread != null, but !isAlive. Now beasting this patch. Add Replication module to Lucene Key: LUCENE-4975 URL: https://issues.apache.org/jira/browse/LUCENE-4975 Project: Lucene - Core Issue Type: New Feature Reporter: Shai Erera Assignee: Shai Erera Attachments: LUCENE-4975.patch, LUCENE-4975.patch, LUCENE-4975.patch, LUCENE-4975.patch, LUCENE-4975.patch, LUCENE-4975.patch, LUCENE-4975.patch, LUCENE-4975.patch, LUCENE-4975.patch, LUCENE-4975.patch, LUCENE-4975.patch, LUCENE-4975.patch I wrote a replication module which I think will be useful to Lucene users who want to replicate their indexes for e.g high-availability, taking hot backups etc. I will upload a patch soon where I'll describe in general how it works. -- 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-unsubscr...@lucene.apache.org For additional commands, e-mail: dev-h...@lucene.apache.org
[jira] [Updated] (LUCENE-4975) Add Replication module to Lucene
[ https://issues.apache.org/jira/browse/LUCENE-4975?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Shai Erera updated LUCENE-4975: --- Attachment: LUCENE-4975.patch Patch adds instance InfoStream members instead of relying on the static default. Beasted 10K+ iterations for both IndexReplicationClientTest and IndexAndTaxonomyReplicationClientTest, all pass. I think it's ready. I plan to commit it tomorrow. Add Replication module to Lucene Key: LUCENE-4975 URL: https://issues.apache.org/jira/browse/LUCENE-4975 Project: Lucene - Core Issue Type: New Feature Reporter: Shai Erera Assignee: Shai Erera Attachments: LUCENE-4975.patch, LUCENE-4975.patch, LUCENE-4975.patch, LUCENE-4975.patch, LUCENE-4975.patch, LUCENE-4975.patch, LUCENE-4975.patch, LUCENE-4975.patch, LUCENE-4975.patch, LUCENE-4975.patch, LUCENE-4975.patch, LUCENE-4975.patch, LUCENE-4975.patch I wrote a replication module which I think will be useful to Lucene users who want to replicate their indexes for e.g high-availability, taking hot backups etc. I will upload a patch soon where I'll describe in general how it works. -- 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-unsubscr...@lucene.apache.org For additional commands, e-mail: dev-h...@lucene.apache.org
[jira] [Updated] (LUCENE-4975) Add Replication module to Lucene
[ https://issues.apache.org/jira/browse/LUCENE-4975?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Shai Erera updated LUCENE-4975: --- Attachment: LUCENE-4975.patch Good idea Mike. I factored out touchIndex, cleanupFilesOnFailure and copyFiles to static utilities on IndexReplHandler. Maybe instead of the static utilities, we can have an abstract IRH with two impls: SingleIndexReplicationHandler and IndexAndTaxoReplHandler. It can provide the utility methods as protected, plus implement the general framework for index replication, using abstract callbacks that are implemented by the concrete handlers. But perhaps we should do it later. Add Replication module to Lucene Key: LUCENE-4975 URL: https://issues.apache.org/jira/browse/LUCENE-4975 Project: Lucene - Core Issue Type: New Feature Reporter: Shai Erera Assignee: Shai Erera Attachments: LUCENE-4975.patch, LUCENE-4975.patch, LUCENE-4975.patch, LUCENE-4975.patch, LUCENE-4975.patch, LUCENE-4975.patch, LUCENE-4975.patch, LUCENE-4975.patch, LUCENE-4975.patch, LUCENE-4975.patch I wrote a replication module which I think will be useful to Lucene users who want to replicate their indexes for e.g high-availability, taking hot backups etc. I will upload a patch soon where I'll describe in general how it works. -- 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-unsubscr...@lucene.apache.org For additional commands, e-mail: dev-h...@lucene.apache.org
[jira] [Updated] (LUCENE-4975) Add Replication module to Lucene
[ https://issues.apache.org/jira/browse/LUCENE-4975?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Shai Erera updated LUCENE-4975: --- Attachment: LUCENE-4975.patch Mike tripped a seed which was reproducible only on Linux which uncovered a bug in the handlers -- writing the segments.gen file should be done only after updateHandlerState() is called, and from what the handler says is its last state. Otherwise, we could write segments.gen w/ gen=7, but kissing the index, or updating the state (reading commits) trips an error, the handler is reset back to the last revision it knows is good, and we end up w/ a segments.gen file from the future. This then causes DirReader.open to fail w/ FNFE looking for a futuristic segments_N file. MockDirWrapper is a nasty bitch. It should be called WhackoIOSubSystemDirectory! :) Patch improves the handlers + make the tests more resilient so they don't enter an infinite loop (that's part of what Mike hit). I'm beasting more. Please review the handlers' segments.gen writing logic. Add Replication module to Lucene Key: LUCENE-4975 URL: https://issues.apache.org/jira/browse/LUCENE-4975 Project: Lucene - Core Issue Type: New Feature Reporter: Shai Erera Assignee: Shai Erera Attachments: LUCENE-4975.patch, LUCENE-4975.patch, LUCENE-4975.patch, LUCENE-4975.patch, LUCENE-4975.patch, LUCENE-4975.patch, LUCENE-4975.patch, LUCENE-4975.patch, LUCENE-4975.patch, LUCENE-4975.patch, LUCENE-4975.patch I wrote a replication module which I think will be useful to Lucene users who want to replicate their indexes for e.g high-availability, taking hot backups etc. I will upload a patch soon where I'll describe in general how it works. -- 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-unsubscr...@lucene.apache.org For additional commands, e-mail: dev-h...@lucene.apache.org
[jira] [Updated] (LUCENE-4975) Add Replication module to Lucene
[ https://issues.apache.org/jira/browse/LUCENE-4975?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Shai Erera updated LUCENE-4975: --- Attachment: LUCENE-4975.patch Mike found a seed which tripped a test bug. Fixed it and on the way made the test less sensitive to time changes (i.e. it waited up to 20 seconds for the index to get updated, otherwise failed) and added some other improvements (to the test only). Let's search for more seeds :). Add Replication module to Lucene Key: LUCENE-4975 URL: https://issues.apache.org/jira/browse/LUCENE-4975 Project: Lucene - Core Issue Type: New Feature Reporter: Shai Erera Assignee: Shai Erera Attachments: LUCENE-4975.patch, LUCENE-4975.patch, LUCENE-4975.patch, LUCENE-4975.patch, LUCENE-4975.patch, LUCENE-4975.patch, LUCENE-4975.patch, LUCENE-4975.patch I wrote a replication module which I think will be useful to Lucene users who want to replicate their indexes for e.g high-availability, taking hot backups etc. I will upload a patch soon where I'll describe in general how it works. -- 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-unsubscr...@lucene.apache.org For additional commands, e-mail: dev-h...@lucene.apache.org
[jira] [Updated] (LUCENE-4975) Add Replication module to Lucene
[ https://issues.apache.org/jira/browse/LUCENE-4975?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Shai Erera updated LUCENE-4975: --- Attachment: LUCENE-4975.patch Forgot to include one change -- handleUpdateEx should fail if the exception it hits is not IOE. Previous patch called super.handle(), which only logged it. But I think it's fair to say that the test shouldn't hit any exception, and terminate the client if it does. Add Replication module to Lucene Key: LUCENE-4975 URL: https://issues.apache.org/jira/browse/LUCENE-4975 Project: Lucene - Core Issue Type: New Feature Reporter: Shai Erera Assignee: Shai Erera Attachments: LUCENE-4975.patch, LUCENE-4975.patch, LUCENE-4975.patch, LUCENE-4975.patch, LUCENE-4975.patch, LUCENE-4975.patch, LUCENE-4975.patch, LUCENE-4975.patch, LUCENE-4975.patch I wrote a replication module which I think will be useful to Lucene users who want to replicate their indexes for e.g high-availability, taking hot backups etc. I will upload a patch soon where I'll describe in general how it works. -- 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-unsubscr...@lucene.apache.org For additional commands, e-mail: dev-h...@lucene.apache.org
[jira] [Updated] (LUCENE-4975) Add Replication module to Lucene
[ https://issues.apache.org/jira/browse/LUCENE-4975?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Shai Erera updated LUCENE-4975: --- Attachment: LUCENE-4975.patch Patch resolves all remaining noocmmits. I made both IndexReplicationHandler and IndexAndTaxonomyReplicationHandler more resilient to errors but carefully reverting any changes made to the target indexes on errors. Also ensure that segments_N files are written last. I also added code to write segments.gen. To do that I factored out SegmentInfos.writeSegmentsGen which takes a Directory and generation. It is now used by SIS.finishCommit and the handlers. Would appreciate if someone can review the handlers, and whether they can be written in a more resilient ways. I want to beast IndexReplicationClientTest and IndexAndTaxonomyReplictionClientTest checkConsistencyOnExceptions before committing. If anyone's interested to help, just fire {{ant test -Dtestcase=IndexReplicationHandlerTest -Dtestsm.method=testConsistencyOnExceptions -Dtests.iters=1000}} (and same for IndexAndTaxonomyReplicationClientTest) and let me know the seeds that failed. Add Replication module to Lucene Key: LUCENE-4975 URL: https://issues.apache.org/jira/browse/LUCENE-4975 Project: Lucene - Core Issue Type: New Feature Reporter: Shai Erera Assignee: Shai Erera Attachments: LUCENE-4975.patch, LUCENE-4975.patch, LUCENE-4975.patch, LUCENE-4975.patch, LUCENE-4975.patch, LUCENE-4975.patch, LUCENE-4975.patch I wrote a replication module which I think will be useful to Lucene users who want to replicate their indexes for e.g high-availability, taking hot backups etc. I will upload a patch soon where I'll describe in general how it works. -- 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-unsubscr...@lucene.apache.org For additional commands, e-mail: dev-h...@lucene.apache.org
[jira] [Updated] (LUCENE-4975) Add Replication module to Lucene
[ https://issues.apache.org/jira/browse/LUCENE-4975?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Shai Erera updated LUCENE-4975: --- Attachment: LUCENE-4975.patch Patch fixes a bug in IndexReplicationHandler (still need to fix in IndexAndTaxonomy) and adds some nocommits which I want to take care before I commit it. However, I hit a new test failure, which reproduces with the following command {{ant test -Dtestcase=IndexReplicationClientTest -Dtests.method=testConsistencyOnExceptions -Dtests.seed=EAF5294292642F1:6EE70BB59A9FC3CA}}. The error is weird. I ran the test w/ -Dtests.verbose=true and here's the troubling parts from the log: {noformat} ReplicationThread-index: MockDirectoryWrapper: now throw random exception during open file=segments_a java.lang.Throwable at org.apache.lucene.store.MockDirectoryWrapper.maybeThrowIOExceptionOnOpen(MockDirectoryWrapper.java:364) at org.apache.lucene.store.MockDirectoryWrapper.openInput(MockDirectoryWrapper.java:522) at org.apache.lucene.index.SegmentInfos.read(SegmentInfos.java:281) at org.apache.lucene.index.SegmentInfos$1.doBody(SegmentInfos.java:340) at org.apache.lucene.index.SegmentInfos$FindSegmentsFile.run(SegmentInfos.java:668) at org.apache.lucene.index.SegmentInfos$FindSegmentsFile.run(SegmentInfos.java:515) at org.apache.lucene.index.SegmentInfos.read(SegmentInfos.java:343) at org.apache.lucene.index.IndexWriter.init(IndexWriter.java:682) at org.apache.lucene.replicator.IndexReplicationHandler.revisionReady(IndexReplicationHandler.java:208) at org.apache.lucene.replicator.ReplicationClient.doUpdate(ReplicationClient.java:248) at org.apache.lucene.replicator.ReplicationClient.access$1(ReplicationClient.java:188) at org.apache.lucene.replicator.ReplicationClient$ReplicationThread.run(ReplicationClient.java:76) IFD 0 [Wed May 08 22:47:46 WST 2013; ReplicationThread-index]: init: current segments file is segments_9; deletionPolicy=org.apache.lucene.index.KeepOnlyLastCommitDeletionPolicy@117da39a IFD 0 [Wed May 08 22:47:46 WST 2013; ReplicationThread-index]: init: load commit segments_9 IFD 0 [Wed May 08 22:47:46 WST 2013; ReplicationThread-index]: init: load commit segments_a IFD 0 [Wed May 08 22:47:46 WST 2013; ReplicationThread-index]: now checkpoint _0(5.0):C1 _1(5.0):C1 _2(5.0):c1 _3(5.0):c1 _4(5.0):c1 _5(5.0):c1 _6(5.0):c1 _7(5.0):c1 _8(5.0):c1 [9 segments ; isCommit = false] IFD 0 [Wed May 08 22:47:46 WST 2013; ReplicationThread-index]: 0 msec to checkpoint IFD 0 [Wed May 08 22:47:46 WST 2013; ReplicationThread-index]: deleteCommits: now decRef commit segments_9 IFD 0 [Wed May 08 22:47:46 WST 2013; ReplicationThread-index]: delete segments_9 IW 0 [Wed May 08 22:47:46 WST 2013; ReplicationThread-index]: init: create=false IW 0 [Wed May 08 22:47:46 WST 2013; ReplicationThread-index]: startCommit(): start IW 0 [Wed May 08 22:47:46 WST 2013; ReplicationThread-index]: startCommit index=_0(5.0):C1 _1(5.0):C1 _2(5.0):c1 _3(5.0):c1 _4(5.0):c1 _5(5.0):c1 _6(5.0):c1 _7(5.0):c1 _8(5.0):c1 changeCount=1 IW 0 [Wed May 08 22:47:46 WST 2013; ReplicationThread-index]: done all syncs: [_2.si, _7.si, _5.cfs, _1.fnm, _4.cfs, _8.si, _4.cfe, _5.cfe, _0.si, _0.fnm, _6.cfe, _8.cfs, _3.cfs, _4.si, _7.cfe, _2.cfs, _5.si, _6.cfs, _1.fdx, _8.cfe, _1.fdt, _1.si, _7.cfs, _0.fdx, _3.si, _6.si, _3.cfe, _2.cfe, _0.fdt] IW 0 [Wed May 08 22:47:46 WST 2013; ReplicationThread-index]: commit: pendingCommit != null IW 0 [Wed May 08 22:47:46 WST 2013; ReplicationThread-index]: commit: wrote segments file segments_a IFD 0 [Wed May 08 22:47:46 WST 2013; ReplicationThread-index]: now checkpoint _0(5.0):C1 _1(5.0):C1 _2(5.0):c1 _3(5.0):c1 _4(5.0):c1 _5(5.0):c1 _6(5.0):c1 _7(5.0):c1 _8(5.0):c1 [9 segments ; isCommit = true] IFD 0 [Wed May 08 22:47:46 WST 2013; ReplicationThread-index]: deleteCommits: now decRef commit segments_a IFD 0 [Wed May 08 22:47:46 WST 2013; ReplicationThread-index]: delete _9.cfe IFD 0 [Wed May 08 22:47:46 WST 2013; ReplicationThread-index]: delete _9.cfs IFD 0 [Wed May 08 22:47:46 WST 2013; ReplicationThread-index]: delete _9.si IFD 0 [Wed May 08 22:47:46 WST 2013; ReplicationThread-index]: 0 msec to checkpoint IW 0 [Wed May 08 22:47:46 WST 2013; ReplicationThread-index]: commit: done IW 0 [Wed May 08 22:47:46 WST 2013; ReplicationThread-index]: at close: _0(5.0):C1 _1(5.0):C1 _2(5.0):c1 _3(5.0):c1 _4(5.0):c1 _5(5.0):c1 _6(5.0):c1 _7(5.0):c1 _8(5.0):c1 IndexReplicationHandler 0 [Wed May 08 22:47:46 WST 2013; ReplicationThread-index]: updateHandlerState(): currentVersion=a currentRevisionFiles={index=[Lorg.apache.lucene.replicator.RevisionFile;@9bc2e26e} IndexReplicationHandler 0 [Wed May 08 22:47:46 WST 2013; ReplicationThread-index]: {version=9} {noformat} I debug traced it and here's what I think is happening: * MDW throws FNFE for segments_a on
[jira] [Updated] (LUCENE-4975) Add Replication module to Lucene
[ https://issues.apache.org/jira/browse/LUCENE-4975?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Shai Erera updated LUCENE-4975: --- Attachment: LUCENE-4975.patch bq. maybe also call MDW.setRandomIOExceptionRateOnOpen Thanks Mike! I added that and a slew of problems surfaced, most of them in the test, but I improved the handlers' implementation to cleanup after themselves if e.g. a copy or sync to the handlerDir failed. While this wasn't a bug, it leaves the target index directory clean. There's one nocommit which bugs me though -- I had to add dir.setPreventDoubleWrite(false) because when the handler fails during copying of say _2.fdt to the index dir, the file is deleted from the indexDir, and the client re-attemts to upgrade. At this point, MDW complains that _2.fdt was already written to, even though I deleted it. Adding this setPrevent was the only way I could make MDW happy, but I don't like it since I do want to catch errors in the handler/client if they e.g. attempt to copy over an existing file. Maybe we can make MDW respond somehow to delete()? I know that has bad implications on its own, e.g. code which deletes and then accidentally recreates files with older names ... any ideas? Add Replication module to Lucene Key: LUCENE-4975 URL: https://issues.apache.org/jira/browse/LUCENE-4975 Project: Lucene - Core Issue Type: New Feature Reporter: Shai Erera Assignee: Shai Erera Attachments: LUCENE-4975.patch, LUCENE-4975.patch, LUCENE-4975.patch, LUCENE-4975.patch, LUCENE-4975.patch I wrote a replication module which I think will be useful to Lucene users who want to replicate their indexes for e.g high-availability, taking hot backups etc. I will upload a patch soon where I'll describe in general how it works. -- 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-unsubscr...@lucene.apache.org For additional commands, e-mail: dev-h...@lucene.apache.org
[jira] [Updated] (LUCENE-4975) Add Replication module to Lucene
[ https://issues.apache.org/jira/browse/LUCENE-4975?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Shai Erera updated LUCENE-4975: --- Attachment: LUCENE-4975.patch Added testConsistencyOnException to test the client and handlers' behavior when they encounter exceptions (I use MockDirWrapp diskFull and randomIOE to simulate that). I think this module is basically ready. I.e. it comes with tests, javadocs and pretty much does what it was written to do. I'm sure there's room for improvement, but I don't think this should hold off the commit. So unless there are any objections, I intend to commit in by Tuesday. If people want to do a thorough review, I don't mind waiting with the commit, but just drop a comment on the issue to let me know. Add Replication module to Lucene Key: LUCENE-4975 URL: https://issues.apache.org/jira/browse/LUCENE-4975 Project: Lucene - Core Issue Type: New Feature Reporter: Shai Erera Assignee: Shai Erera Attachments: LUCENE-4975.patch, LUCENE-4975.patch, LUCENE-4975.patch, LUCENE-4975.patch I wrote a replication module which I think will be useful to Lucene users who want to replicate their indexes for e.g high-availability, taking hot backups etc. I will upload a patch soon where I'll describe in general how it works. -- 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-unsubscr...@lucene.apache.org For additional commands, e-mail: dev-h...@lucene.apache.org
[jira] [Updated] (LUCENE-4975) Add Replication module to Lucene
[ https://issues.apache.org/jira/browse/LUCENE-4975?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Shai Erera updated LUCENE-4975: --- Attachment: LUCENE-4975.patch Patch contains the Replicator code + all needed stuff to make it a valid module (ivy, maven, licenses etc.). A big portion of the patch is due to the ivy/maven/licenses things, so if you focus on the code, it's not that big. I ran precommit and it fails with this cryptic error: {noformat} -documentation-lint: [echo] checking for broken html... [jtidy] Checking for broken html (such as invalid tags)... [delete] Deleting directory D:\dev\lucene\lucene-replicator\lucene\build\jtidy_tmp [echo] Checking for broken links... [exec] Traceback (most recent call last): [exec] File D:\dev\lucene\lucene-replicator\dev-tools/scripts/checkJavadocLinks.py, line 260, in [exec] Crawl/parse... [exec] module [exec] if checkAll(sys.argv[1]): [exec] File D:\dev\lucene\lucene-replicator\dev-tools/scripts/checkJavadocLinks.py, line 160, in checkAll [exec] allFiles[fullPath] = parse(fullPath, open('%s/%s' % (root, f), encoding='UTF-8').read()) [exec] File D:\dev\lucene\lucene-replicator\dev-tools/scripts/checkJavadocLinks.py, line 110, in parse [exec] parser.feed(html) [exec] File /usr/lib/python3.2/html/parser.py, line 142, in feed [exec] self.goahead(0) [exec] File /usr/lib/python3.2/html/parser.py, line 188, in goahead [exec] k = self.parse_endtag(i) [exec] File /usr/lib/python3.2/html/parser.py, line 454, in parse_endtag [exec] self.handle_endtag(elem.lower()) [exec] File D:\dev\lucene\lucene-replicator\dev-tools/scripts/checkJavadocLinks.py, line 92, in handle_endtag [exec] raise RuntimeError('%s %s:%s: saw /%s but expected /%s' % (self.baseURL, self.getpos()[0], self.getpos()[1], tag, self.stack[-1])) [exec] RuntimeError: file:///build/docs/core/allclasses-frame.html 680:0: saw /body but expected /div {noformat} Does anyone know what this is? I searched for div and I don't have any. Also, if I run 'ant documentation' from top-level, it passes. I ran this w/ Oracle 1.7. I did find a closing /body tag with no opening tag under the jetty license, but I don't think it's related? Otherwise, maven check passes, and tests compile and run successfully. Add Replication module to Lucene Key: LUCENE-4975 URL: https://issues.apache.org/jira/browse/LUCENE-4975 Project: Lucene - Core Issue Type: New Feature Reporter: Shai Erera Assignee: Shai Erera Attachments: LUCENE-4975.patch I wrote a replication module which I think will be useful to Lucene users who want to replicate their indexes for e.g high-availability, taking hot backups etc. I will upload a patch soon where I'll describe in general how it works. -- 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-unsubscr...@lucene.apache.org For additional commands, e-mail: dev-h...@lucene.apache.org
[jira] [Updated] (LUCENE-4975) Add Replication module to Lucene
[ https://issues.apache.org/jira/browse/LUCENE-4975?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Shai Erera updated LUCENE-4975: --- Attachment: LUCENE-4975.patch Patch updates IndexRevision and IndexAndTaxonomyRevision following the recent changes to SDP (not requiring snapshot ID). I also noticed I put grouping in pom.template rather than facet - fixed. As for this weird error I got, I noticed that the offending files under test-framework had an extra line none of the other modules seemed to have: div role=navigation title=All Classes. I have no idea how it got there. So I ran 'ant clean documentation' and it passed! I will run precommit tomorrow. Add Replication module to Lucene Key: LUCENE-4975 URL: https://issues.apache.org/jira/browse/LUCENE-4975 Project: Lucene - Core Issue Type: New Feature Reporter: Shai Erera Assignee: Shai Erera Attachments: LUCENE-4975.patch, LUCENE-4975.patch I wrote a replication module which I think will be useful to Lucene users who want to replicate their indexes for e.g high-availability, taking hot backups etc. I will upload a patch soon where I'll describe in general how it works. -- 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-unsubscr...@lucene.apache.org For additional commands, e-mail: dev-h...@lucene.apache.org
[jira] [Updated] (LUCENE-4975) Add Replication module to Lucene
[ https://issues.apache.org/jira/browse/LUCENE-4975?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Shai Erera updated LUCENE-4975: --- Attachment: LUCENE-4975.patch Patch adds @lucene.experimental to all classes. I also excluded all the licesne files from the patch, so that it's smaller and easier to review. Add Replication module to Lucene Key: LUCENE-4975 URL: https://issues.apache.org/jira/browse/LUCENE-4975 Project: Lucene - Core Issue Type: New Feature Reporter: Shai Erera Assignee: Shai Erera Attachments: LUCENE-4975.patch, LUCENE-4975.patch, LUCENE-4975.patch I wrote a replication module which I think will be useful to Lucene users who want to replicate their indexes for e.g high-availability, taking hot backups etc. I will upload a patch soon where I'll describe in general how it works. -- 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-unsubscr...@lucene.apache.org For additional commands, e-mail: dev-h...@lucene.apache.org