You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@jackrabbit.apache.org by "Alex Parvulescu (Commented) (JIRA)" <ji...@apache.org> on 2012/02/22 15:07:52 UTC

[jira] [Commented] (JCR-3242) Update to Lucene 3.5

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

Alex Parvulescu commented on JCR-3242:
--------------------------------------

thanks for the patch Sascha, good work!

I took it for a spin and there are some problems with replacing Searcher with IndexSearcher. I'm afraid that you are no longer overriding the method. (just add @Override to any of the #createWeight methods you've changed and you'll see what I mean). 
I think it would be safer to stick with the old Searcher class, even if it is marked as deprecated.

Concerning your last error, there's a quick fix for that. Change ReadOnlyIndexReader's #doCommit method with the following:

    @Override
    protected void doCommit(Map<String, String> commitUserData)
            throws IOException {
        if (!hasChanges) {
            return;
        }
        throw new UnsupportedOperationException("IndexReader is read-only");
    }

I'll include that in a patch soon, but I wanted to include other changes as well, so until then, just copy/paste the snippet and you are good to go.

Other observations on the patch:
 - skipped because there were no changes, just reorganised imports: WildcardQuery, AbstractWeight
 - AbstractIndex was using 2 versions of lucene, I've updated the LUCENE_31 one to LUCENE_35
 - ChainedTermEnumTest was using LUCENE_31 as version

thanks

                
> 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
>            Reporter: Sascha Rodekamp
>         Attachments: JCR-3242_lucene_update_3.5.patch, 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