jackrabbit-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Andreas Mucha" <sing...@gmx.net>
Subject Re: Re: unable to start repository because of missing DEFAULT_NAMES table in derby backend
Date Fri, 07 Aug 2009 12:26:03 GMT
Ok,

i will trigger it :) .
Btw. i switched from the derby persistance manager to the filesystem 
persictance manager. This works .

-------- Original-Nachricht --------
> Datum: Fri, 7 Aug 2009 10:02:41 +0200
> Von: Stefan Guggisberg <stefan.guggisberg@gmail.com>
> An: users@jackrabbit.apache.org
> Betreff: Re: unable to start repository because of missing DEFAULT_NAMES table 	in derby
backend

> hi andreas
> 
> On Thu, Aug 6, 2009 at 10:02 PM, Andreas Mucha<singtur@gmx.net> wrote:
> > Hello ,
> >
> > i try to start a jackrabbit repository. I use the 1.5.7 standalone jar.
> > My code looks like this :
> >
> > Repository repository = new TransientRepository();
> > Session session = repository.login();
> > try
> > {
> >  String user = session.getUserID();
> >  String name = repository.getDescriptor(Repository.REP_NAME_DESC);
> >  System.out.println("Logged in as " + user + " to a " + name +
>  "repository.");
> > }
> > finally
> > {
> >  session.logout();
> > }
> >
> > So if i run this, the initial default repository setup and file
> > structure is created. I have a repository directory, repository.xml
> > and the sub directories.
> > The code above fails with the following exception :
> >
> > javax.jcr.RepositoryException: failed to instantiate shared item state
> manager: failed to write bundle: cafebabe-cafe-babe-cafe-babecafebabe:
> failed to write bundle: cafebabe-cafe-babe-cafe-babecafebabe
> >        at
> org.apache.jackrabbit.core.RepositoryImpl$WorkspaceInfo.doInitialize(RepositoryImpl.java:1881)
> >        at
> org.apache.jackrabbit.core.RepositoryImpl$WorkspaceInfo.initialize(RepositoryImpl.java:1834)
> >        at
> org.apache.jackrabbit.core.RepositoryImpl.initStartupWorkspaces(RepositoryImpl.java:483)
> >        at
> org.apache.jackrabbit.core.RepositoryImpl.<init>(RepositoryImpl.java:324)
> >        at
> org.apache.jackrabbit.core.RepositoryImpl.create(RepositoryImpl.java:621)
> >        at
> org.apache.jackrabbit.core.TransientRepository$2.getRepository(TransientRepository.java:235)
> >        at
> org.apache.jackrabbit.core.TransientRepository.startRepository(TransientRepository.java:255)
> >        at
> org.apache.jackrabbit.core.TransientRepository.login(TransientRepository.java:323)
> >        at
> org.apache.jackrabbit.core.TransientRepository.login(TransientRepository.java:378)
> >        ...
> >        at java.lang.Thread.run(Thread.java:619)
> > Caused by: org.apache.jackrabbit.core.state.ItemStateException: failed
> to write bundle: cafebabe-cafe-babe-cafe-babecafebabe
> >        at
> org.apache.jackrabbit.core.persistence.bundle.BundleDbPersistenceManager.store(BundleDbPersistenceManager.java:544)
> >        at
> org.apache.jackrabbit.core.state.SharedItemStateManager.createRootNodeState(SharedItemStateManager.java:1311)
> >        at
> org.apache.jackrabbit.core.state.SharedItemStateManager.<init>(SharedItemStateManager.java:204)
> >        at
> org.apache.jackrabbit.core.RepositoryImpl.createItemStateManager(RepositoryImpl.java:1317)
> >        at
> org.apache.jackrabbit.core.RepositoryImpl$WorkspaceInfo.doInitialize(RepositoryImpl.java:1863)
> >        ... 14 more
> >
> > I did not found any hint in the documentation. So i stepped through the
> code. And i found that the following call fails :
> > In class org.apache.jackrabbit.core.persistence.bundle.util.DbNameIndex
> > in method getIndex(String) :
> >
> >    protected int getIndex(String string) {
> >        try {
> >            Statement stmt = connectionManager.executeStmt(
> >                    indexSelectSQL, new Object[] { string });
> >            ResultSet rs = stmt.getResultSet();
> >            try {
> >                if (rs.next()) {
> >                    return rs.getInt(1);
> >                } else {
> >                    return -1;
> >                }
> >            } finally {
> >                rs.close();
> >            }
> >        } catch (Exception e) {
> >            IllegalStateException ise = new IllegalStateException(
> >                    "Unable to read index for string: " +
> string);
> >            ise.initCause(e);
> >            throw ise;
> >        }
> >    }
> >
> > The indexSelectSQL string is 'select ID from DEFAULT_NAMES where NAME =
> ?'.
> > The call fails with java.sql.SQLException: Table/View 'DEFAULT_NAMES'
> does not exist. (btw. why is this not logged ???)
> 
> good point. feel free to create a jira issue. and, of course, patches
> are welcome! :)
> 
> > So the big question is : How do i have to initialize the default
> > derby instance correctly ??? Is there an init() to call or something
> like that ?
> 
> there's no need to setup/initialize the backend. that should be all
> taken care of automatically.
> 
> please create a jira issue and provide as much information as possible
> (logs, environment,
> steps to reproduce, etc).
> 
> thanks
> stefan
> 
> >
> > Many many thanks for help in advance .
> >
> > Andreas .
> >
> > --
> > GRATIS für alle GMX-Mitglieder: Die maxdome Movie-FLAT!
> > Jetzt freischalten unter http://portal.gmx.net/de/go/maxdome01
> >

-- 
Neu: GMX Doppel-FLAT mit Internet-Flatrate + Telefon-Flatrate
für nur 19,99 Euro/mtl.!* http://portal.gmx.net/de/go/dsl02

Mime
View raw message