jackrabbit-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Thomas Mueller" <thomas.tom.muel...@gmail.com>
Subject Re: Lucene Indexing error
Date Fri, 28 Sep 2007 07:08:40 GMT
Hi,

I'm not sure if this is the problem, but createNewFile is problematic
on some operating system. In my machine (Windows XP) I get this
exception sometimes when doing this:

import java.io.*;
public class FileCreate {
    public static void main(String[] args) throws Exception {
        Runnable r = new Runnable() {
            public void run() {
                File f = new File("/temp/test.txt");
                while (true) {
                    try {
                        f.createNewFile();
                    } catch (IOException e) {
                        e.printStackTrace();
                    }
                    f.delete();
                }
            }
        };
        new Thread(r).start();
        new Thread(r).start();
    }
}

I also get the exception when running two processes with one thread each.

Thomas

On 9/28/07, Sridhar Raman <sridhar.raman@gmail.com> wrote:
> Hi
>
> I have been facing this one particular problem in Jackrabbit.  There are
> times when I do a save() after a huge import, a Lucene error is thrown:
> Caused by: java.io.IOException: Access is denied
>       at java.io.WinNTFileSystem.createFileExclusively(Native Method)
>       at java.io.File.createNewFile(File.java:850)
>
> Since my application needs the indexes, I need to do a re-import, and hope
> that the error doesn't crop up again.  The worst part is that this error
> comes once in a while, not all the time (which might help in finding the
> bug).
>
> Another thing I tried was to delete the contents of the index folder in the
> workspace, hoping that re-indexing that Jackrabbit will do might create the
> indexes properly.  But that is again hit-or-miss.
>
> I am attaching the stack that I get when I try to logon to a workspace
> called test_WS.  I cleared the contents of the index folder before I started
> the application.
>
> Can someone please help?  This is an issue that has been happening since
> Jackrabbit 1.2.  I am using version 1.3.
>
> ERROR STACK:
> ERROR org.apache.jackrabbit.core.RepositoryImpl - Unable to initialize
> workspace 'test_WS'
> javax.jcr.RepositoryException: Access is denied: Access is denied: Access is
> denied
>       at org.apache.jackrabbit.core.SearchManager.initializeQueryHandler(
> SearchManager.java:476)
>       at org.apache.jackrabbit.core.SearchManager.<init>(SearchManager.java
> :231)
>       at
> org.apache.jackrabbit.core.RepositoryImpl$WorkspaceInfo.getSearchManager(
> RepositoryImpl.java:1643)
>       at org.apache.jackrabbit.core.RepositoryImpl.initWorkspace(
> RepositoryImpl.java:633)
>       at org.apache.jackrabbit.core.RepositoryImpl.getWorkspaceInfo(
> RepositoryImpl.java:746)
>       at org.apache.jackrabbit.core.RepositoryImpl.login(RepositoryImpl.java
> :1232)
>       at org.apache.jackrabbit.core.jndi.BindableRepository.login(
> BindableRepository.java:185)
>       at com.taxila.editor.config.CoreRepoOps.logintoRepo(CoreRepoOps.java
> :2960)
>       at com.taxila.editor.user.action.LoginAction.validate(LoginAction.java
> :128)
>       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>       at sun.reflect.NativeMethodAccessorImpl.invoke(
> NativeMethodAccessorImpl.java:39)
>       at sun.reflect.DelegatingMethodAccessorImpl.invoke(
> DelegatingMethodAccessorImpl.java:25)
>       at java.lang.reflect.Method.invoke(Method.java:585)
>       at org.apache.struts.actions.DispatchAction.dispatchMethod(
> DispatchAction.java:280)
>       at org.apache.struts.actions.DispatchAction.execute(
> DispatchAction.java:220)
>       at org.apache.struts.action.RequestProcessor.processActionPerform(
> RequestProcessor.java:446)
>       at org.apache.struts.action.RequestProcessor.process(
> RequestProcessor.java:266)
>       at org.apache.struts.action.ActionServlet.process(ActionServlet.java
> :1292)
>       at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java
> :510)
>       at javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
>       at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
>       at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(
> ApplicationFilterChain.java:252)
>       at org.apache.catalina.core.ApplicationFilterChain.doFilter(
> ApplicationFilterChain.java:173)
>       at org.apache.catalina.core.StandardWrapperValve.invoke(
> StandardWrapperValve.java:213)
>       at org.apache.catalina.core.StandardContextValve.invoke(
> StandardContextValve.java:178)
>       at org.apache.catalina.authenticator.AuthenticatorBase.invoke(
> AuthenticatorBase.java:432)
>       at org.apache.catalina.core.StandardHostValve.invoke(
> StandardHostValve.java:126)
>       at org.apache.catalina.valves.ErrorReportValve.invoke(
> ErrorReportValve.java:105)
>       at org.apache.catalina.core.StandardEngineValve.invoke(
> StandardEngineValve.java:107)
>       at org.apache.catalina.connector.CoyoteAdapter.service(
> CoyoteAdapter.java:148)
>       at org.apache.coyote.http11.Http11Processor.process(
> Http11Processor.java:869)
>       at
> org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection
> (Http11BaseProtocol.java:664)
>       at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(
> PoolTcpEndpoint.java:527)
>       at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(
> LeaderFollowerWorkerThread.java:80)
>       at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(
> ThreadPool.java:684)
>       at java.lang.Thread.run(Thread.java:595)
> Caused by: java.io.IOException: Access is denied
>       at java.io.WinNTFileSystem.createFileExclusively(Native Method)
>       at java.io.File.createNewFile(File.java:850)
>       at org.apache.jackrabbit.core.query.lucene.FSDirectory$1.obtain(
> FSDirectory.java:119)
>       at org.apache.lucene.store.Lock.obtain(Lock.java:51)
>       at org.apache.lucene.store.Lock$With.run(Lock.java:98)
>       at org.apache.lucene.index.IndexReader.open(IndexReader.java:141)
>       at org.apache.lucene.index.IndexReader.open(IndexReader.java:136)
>       at
> org.apache.jackrabbit.core.query.lucene.AbstractIndex.getIndexReader(
> AbstractIndex.java:178)
>       at
> org.apache.jackrabbit.core.query.lucene.PersistentIndex.getNumDocuments(
> PersistentIndex.java:222)
>       at org.apache.jackrabbit.core.query.lucene.MultiIndex$AddIndex.execute
> (MultiIndex.java:1343)
>       at org.apache.jackrabbit.core.query.lucene.MultiIndex.executeAndLog(
> MultiIndex.java:858)
>       at
> org.apache.jackrabbit.core.query.lucene.MultiIndex.commitVolatileIndex(
> MultiIndex.java:912)
>       at
> org.apache.jackrabbit.core.query.lucene.MultiIndex.checkVolatileCommit(
> MultiIndex.java:883)
>       at org.apache.jackrabbit.core.query.lucene.MultiIndex.createIndex(
> MultiIndex.java:940)
>       at org.apache.jackrabbit.core.query.lucene.MultiIndex.createIndex(
> MultiIndex.java:945)
>       at org.apache.jackrabbit.core.query.lucene.MultiIndex.createIndex(
> MultiIndex.java:945)
>       at org.apache.jackrabbit.core.query.lucene.MultiIndex.<init>(
> MultiIndex.java:308)
>       at org.apache.jackrabbit.core.query.lucene.SearchIndex.doInit(
> SearchIndex.java:295)
>       at org.apache.jackrabbit.core.query.AbstractQueryHandler.init(
> AbstractQueryHandler.java:44)
>       at org.apache.jackrabbit.core.SearchManager.initializeQueryHandler(
> SearchManager.java:474)
>       ... 35 more
> java.io.IOException: Access is denied
>       at java.io.WinNTFileSystem.createFileExclusively(Native Method)
>       at java.io.File.createNewFile(File.java:850)
>       at org.apache.jackrabbit.core.query.lucene.FSDirectory$1.obtain(
> FSDirectory.java:119)
>       at org.apache.lucene.store.Lock.obtain(Lock.java:51)
>       at org.apache.lucene.store.Lock$With.run(Lock.java:98)
>       at org.apache.lucene.index.IndexReader.open(IndexReader.java:141)
>       at org.apache.lucene.index.IndexReader.open(IndexReader.java:136)
>       at
> org.apache.jackrabbit.core.query.lucene.AbstractIndex.getIndexReader(
> AbstractIndex.java:178)
>       at
> org.apache.jackrabbit.core.query.lucene.PersistentIndex.getNumDocuments(
> PersistentIndex.java:222)
>       at org.apache.jackrabbit.core.query.lucene.MultiIndex$AddIndex.execute
> (MultiIndex.java:1343)
>       at org.apache.jackrabbit.core.query.lucene.MultiIndex.executeAndLog(
> MultiIndex.java:858)
>       at
> org.apache.jackrabbit.core.query.lucene.MultiIndex.commitVolatileIndex(
> MultiIndex.java:912)
>       at
> org.apache.jackrabbit.core.query.lucene.MultiIndex.checkVolatileCommit(
> MultiIndex.java:883)
>       at org.apache.jackrabbit.core.query.lucene.MultiIndex.createIndex(
> MultiIndex.java:940)
>       at org.apache.jackrabbit.core.query.lucene.MultiIndex.createIndex(
> MultiIndex.java:945)
>       at org.apache.jackrabbit.core.query.lucene.MultiIndex.createIndex(
> MultiIndex.java:945)
>       at org.apache.jackrabbit.core.query.lucene.MultiIndex.<init>(
> MultiIndex.java:308)
>       at org.apache.jackrabbit.core.query.lucene.SearchIndex.doInit(
> SearchIndex.java:295)
>       at org.apache.jackrabbit.core.query.AbstractQueryHandler.init(
> AbstractQueryHandler.java:44)
>       at org.apache.jackrabbit.core.SearchManager.initializeQueryHandler(
> SearchManager.java:474)
>       at org.apache.jackrabbit.core.SearchManager.<init>(SearchManager.java
> :231)
>       at
> org.apache.jackrabbit.core.RepositoryImpl$WorkspaceInfo.getSearchManager(
> RepositoryImpl.java:1643)
>       at org.apache.jackrabbit.core.RepositoryImpl.initWorkspace(
> RepositoryImpl.java:633)
>       at org.apache.jackrabbit.core.RepositoryImpl.getWorkspaceInfo(
> RepositoryImpl.java:746)
>       at org.apache.jackrabbit.core.RepositoryImpl.login(RepositoryImpl.java
> :1232)
>       at org.apache.jackrabbit.core.jndi.BindableRepository.login(
> BindableRepository.java:185)
>       at com.taxila.editor.config.CoreRepoOps.logintoRepo(CoreRepoOps.java
> :2960)
>       at com.taxila.editor.user.action.LoginAction.validate(LoginAction.java
> :128)
>       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>       at sun.reflect.NativeMethodAccessorImpl.invoke(
> NativeMethodAccessorImpl.java:39)
>       at sun.reflect.DelegatingMethodAccessorImpl.invoke(
> DelegatingMethodAccessorImpl.java:25)
>       at java.lang.reflect.Method.invoke(Method.java:585)
>       at org.apache.struts.actions.DispatchAction.dispatchMethod(
> DispatchAction.java:280)
>       at org.apache.struts.actions.DispatchAction.execute(
> DispatchAction.java:220)
>       at org.apache.struts.action.RequestProcessor.processActionPerform(
> RequestProcessor.java:446)
>       at org.apache.struts.action.RequestProcessor.process(
> RequestProcessor.java:266)
>       at org.apache.struts.action.ActionServlet.process(ActionServlet.java
> :1292)
>       at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java
> :510)
>       at javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
>       at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
>       at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(
> ApplicationFilterChain.java:252)
>       at org.apache.catalina.core.ApplicationFilterChain.doFilter(
> ApplicationFilterChain.java:173)
>       at org.apache.catalina.core.StandardWrapperValve.invoke(
> StandardWrapperValve.java:213)
>       at org.apache.catalina.core.StandardContextValve.invoke(
> StandardContextValve.java:178)
>       at org.apache.catalina.authenticator.AuthenticatorBase.invoke(
> AuthenticatorBase.java:432)
>       at org.apache.catalina.core.StandardHostValve.invoke(
> StandardHostValve.java:126)
>       at org.apache.catalina.valves.ErrorReportValve.invoke(
> ErrorReportValve.java:105)
>       at org.apache.catalina.core.StandardEngineValve.invoke(
> StandardEngineValve.java:107)
>       at org.apache.catalina.connector.CoyoteAdapter.service(
> CoyoteAdapter.java:148)
>       at org.apache.coyote.http11.Http11Processor.process(
> Http11Processor.java:869)
>       at
> org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection
> (Http11BaseProtocol.java:664)
>       at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(
> PoolTcpEndpoint.java:527)
>       at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(
> LeaderFollowerWorkerThread.java:80)
>       at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(
> ThreadPool.java:684)
>       at java.lang.Thread.run(Thread.java:595)
> 70048 [http-8080-Processor24] ERROR com.taxila.editor.config.CoreRepoOps -
> Workspace test_WS does not exist
>
> Thanks,
> Sridhar
>

Mime
View raw message