[ 
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

        

Reply via email to