[
https://issues.apache.org/jira/browse/JCR-3242?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Alex Parvulescu updated JCR-3242:
---------------------------------
Attachment: JCR-3242_lucene_update_3.6_v2.patch
Hi Emmanuel, thanks for pushing this forward.
I'm attaching a slightly better version of the patch. It applies to
jackrabbit-core directly and assumes that you've updated the lucene version to
3.6.0 in the parent pom.
This is still work in progress.
Feedback on the initial version:
- please don't reformat the code unless you make some changes to it. it is
really hard to keep track of all the changes already, we don't need additional
noise.
- RefCountingIndexReader: removing the getRefCount method can mess with the
index #release call, so it is better to just rename it.
- IndexFormatVersion: we can just use ReaderUtil.getIndexedFields(indexReader).
Remaining work: I think the index deletes behavior has changed in the newer
lucene versions. That could explain why it is so hard to have builds that
pass (or fail) consistently. (there are a lot of ItemNotFound errors in the
test logs)
I'm still not sure how this can be fixed.
Until we figure out what exactly is going on with the deletes it's too risky
to apply this patch, even if the tests are passing.
> Update to Lucene 3.5
> --------------------
>
> Key: JCR-3242
> URL: https://issues.apache.org/jira/browse/JCR-3242
> Project: Jackrabbit Content Repository
> Issue Type: Improvement
> Components: jackrabbit-core
> Affects Versions: 2.4.1
> Reporter: Sascha Rodekamp
> Labels: patch
> Attachments: JCR-3242-jr-core-v0.patch,
> JCR-3242_lucene_update_3.5.patch, JCR-3242_lucene_update_3.5.patch,
> JCR-3242_lucene_update_3.6.patch, JCR-3242_lucene_update_3.6_v2.patch,
> lucene_3.6.0_updated.patch, surefire-reports.7z, surefire-reports.7z
>
>
> Hi,
> i want to update lucene to version 3.5. After making a few code changes the
> tests fail.
> I'll attach the patch with the changes plus the surfire logs. It would be
> great if someone found the time to have a short look and have an idea how to
> fix this issue.
> Main Problem:
> Caused by: java.lang.UnsupportedOperationException: IndexReader is read-only
> at
> org.apache.jackrabbit.core.query.lucene.ReadOnlyIndexReader.doCommit(ReadOnlyIndexReader.java:175)
> at org.apache.lucene.index.IndexReader.commit(IndexReader.java:1464)
> at org.apache.lucene.index.MultiReader.doCommit(MultiReader.java:413)
> at org.apache.lucene.index.IndexReader.commit(IndexReader.java:1464)
> at org.apache.lucene.index.IndexReader.commit(IndexReader.java:1450)
> at org.apache.lucene.index.IndexReader.decRef(IndexReader.java:273)
> at org.apache.lucene.index.IndexReader.close(IndexReader.java:1479)
> at
> org.apache.jackrabbit.core.query.lucene.CachingMultiIndexReader.release(CachingMultiIndexReader.java:157)
> at
> org.apache.jackrabbit.core.query.lucene.MultiIndex.releaseMultiReader(MultiIndex.java:1001)
> at
> org.apache.jackrabbit.core.query.lucene.MultiIndex.safeFlush(MultiIndex.java:1318)
> at
> org.apache.jackrabbit.core.query.lucene.Recovery.run(Recovery.java:170)
> at
> org.apache.jackrabbit.core.query.lucene.Recovery.run(Recovery.java:84)
> at
> org.apache.jackrabbit.core.query.lucene.MultiIndex.<init>(MultiIndex.java:314)
> at
> org.apache.jackrabbit.core.query.lucene.SearchIndex.doInit(SearchIndex.java:555)
> at
> org.apache.jackrabbit.core.query.AbstractQueryHandler.init(AbstractQueryHandler.java:78)
> at
> org.apache.jackrabbit.core.config.RepositoryConfigurationParser$1.getQueryHandler(RepositoryConfigurationParser.java:655)
> at
> org.apache.jackrabbit.core.config.RepositoryConfig.getQueryHandler(RepositoryConfig.java:1037)
> at
> org.apache.jackrabbit.core.SearchManager.<init>(SearchManager.java:171)
> at
> org.apache.jackrabbit.core.RepositoryImpl.getSystemSearchManager(RepositoryImpl.java:607)
> at
> org.apache.jackrabbit.core.RepositoryImpl.access$100(RepositoryImpl.java:124)
> at
> org.apache.jackrabbit.core.RepositoryImpl$WorkspaceInfo.getSearchManager(RepositoryImpl.java:1855)
> at
> org.apache.jackrabbit.core.RepositoryImpl$WorkspaceInfo.doPostInitialize(RepositoryImpl.java:2092)
> at
> org.apache.jackrabbit.core.RepositoryImpl$WorkspaceInfo.initialize(RepositoryImpl.java:1997)
> at
> org.apache.jackrabbit.core.RepositoryImpl.initStartupWorkspaces(RepositoryImpl.java:510)
> at
> org.apache.jackrabbit.core.RepositoryImpl.<init>(RepositoryImpl.java:318)
> at
> org.apache.jackrabbit.core.RepositoryImpl.create(RepositoryImpl.java:582)
> at
> org.apache.jackrabbit.core.JackrabbitRepositoryStub.createRepository(JackrabbitRepositoryStub.java:185)
> at
> org.apache.jackrabbit.core.JackrabbitRepositoryStub.getOrCreateRepository(JackrabbitRepositoryStub.java:193)
> at
> org.apache.jackrabbit.core.JackrabbitRepositoryStub.getRepository(JackrabbitRepositoryStub.java:156)
> ... 19 more
> Best Regards,
> Sascha
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira