On 12-Feb-09, at 16:17 , Alexander Klimetschek wrote:

What version of Jackrabbit are you using?


Hi Alex,

I am using Jackrabbit version 1.4.2.

Any clues on how I should go about debugging the situation?

Thanks,
Rogue

Regards,
Alex

On Wed, Feb 11, 2009 at 8:48 AM, Rogue <[email protected]> wrote:
Hi All,

I have spent the last week going through the setup of our cluster
configuration, and I think I might have an issue with its configuration and
need your help in rectifying it.

Ok here is a little bit of history... The system has been running absolutely fine for quite some time and we have been seeing issues only lately. The
current configuration is:

1. Two servers - each running JBoss 4.2.2
2. Jackrabbit JCA has been deployed on each node. The applications access
JCR via JNDI / RMI lookups
3. Each instance has its own home directory, but the workspace content is on
a shared NAS.
4. The repository uses a hybrid of FileStore and DBStore (information
available in the files)

Now, for some time I keep having occasional issues of content being
available from one node and not being available from another node. I keep
seeing exceptions like:

Caused by: javax.jcr.RepositoryException: failed to resolve name of
47901c42-8187-497f-bbd2-10e61e65966a
      at
org .apache .jackrabbit .rmi.server.ServerObject.getRepositoryException(ServerObject.java: 136)
      at
org.apache.jackrabbit.rmi.server.ServerItem.getName(ServerItem.java: 71) at sun.reflect.GeneratedMethodAccessor466.invoke(Unknown Source)
      at
sun .reflect .DelegatingMethodAccessorImpl .invoke(DelegatingMethodAccessorImpl.java:25)
      at java.lang.reflect.Method.invoke(Method.java:585)
      at
sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:294)
      at sun.rmi.transport.Transport$1.run(Transport.java:153)
      at java.security.AccessController.doPrivileged(Native Method)
      at sun.rmi.transport.Transport.serviceCall(Transport.java:149)
      at
sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java: 466)
      at
sun.rmi.transport.tcp.TCPTransport $ConnectionHandler.run(TCPTransport.java:707)
      at java.lang.Thread.run(Thread.java:595)
      at
sun .rmi .transport .StreamRemoteCall.exceptionReceivedFromServer(StreamRemoteCall.java: 247)
      at
sun .rmi.transport.StreamRemoteCall.executeCall(StreamRemoteCall.java: 223)
      at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:126)
at org.apache.jackrabbit.rmi.server.ServerNode_Stub.getName(Unknown
Source)
      at
org.apache.jackrabbit.rmi.client.ClientItem.getName(ClientItem.java: 85)


From all the reading that I have been doing, I am guessing this is a case of broken search indexes (please correct me if I am wrong). If that is the case, then how do I go about cleaning up this mess? I guess I am extreme novice and am not sure about the guy who set this up in the first place, but
any help on this front would be greatly appreciated.

Thanks,
Rogue

p.s.: Sorry for the HTML mail.
--------------------------

My repository.xml file

<?xml version="1.0"?>
<!DOCTYPE Repository PUBLIC "-//The Apache Software Foundation//DTD
Jackrabbit 1.2//EN"

"http://jackrabbit.apache.org/dtd/repository-1.2.dtd";>
<Repository>
<FileSystem class="org.apache.jackrabbit.core.fs.local.LocalFileSystem">
      <param name="path"
value="/apps/jboss/jcr_repositories/ugc_repository/shared/content"/>
  </FileSystem>

  <Security appName="Jackrabbit">
      <AccessManager
class="org.apache.jackrabbit.core.security.SimpleAccessManager" />
      <LoginModule
class="org.apache.jackrabbit.core.security.SimpleLoginModule">
          <param name="anonymousId" value="anonymous"/>
      </LoginModule>
  </Security>

  <Workspaces
rootPath="/apps/jboss/jcr_repositories/ugc_repository/shared/ content/"
defaultWorkspace="default"/>
  <Workspace name="default">
      <FileSystem
class="org.apache.jackrabbit.core.fs.local.LocalFileSystem">
          <param name="path" value="${wsp.home}"/>
      </FileSystem>
      <PersistenceManager
class = "org .apache.jackrabbit.core.persistence.bundle.OraclePersistenceManager">
          <param name="driver" value="oracle.jdbc.OracleDriver"/>
          <param name="url" value="db-connect-details"/>
          <param name="user" value="db-username"/>
          <param name="password" value="db-password"/>
          <param name="schema" value="oracle"/>
          <param name="schemaObjectPrefix" value="J_PM_DEFAULT_"/>
          <param name="externalBLOBs" value="true"/>
          <param name="blobFSBlockSize" value="0"/>
          <param name="minBlobSize" value="0"/>
      </PersistenceManager>
  </Workspace>

  <Versioning rootPath="${rep.home}/version">
      <FileSystem
class="org.apache.jackrabbit.core.fs.local.LocalFileSystem">
          <param name="path" value="${rep.home}/version" />
      </FileSystem>
      <PersistenceManager
class = "org .apache.jackrabbit.core.persistence.bundle.OraclePersistenceManager">
          <param name="driver" value="oracle.jdbc.OracleDriver"/>
          <param name="url" value="db-connect-details"/>
          <param name="user" value="db-username"/>
          <param name="password" value="db-password"/>
          <param name="schema" value="oracle"/>
          <param name="schemaObjectPrefix" value="J_V_PM_"/>
          <param name="externalBLOBs" value="true"/>
          <param name="blobFSBlockSize" value="0"/>
          <param name="minBlobSize" value="0"/>
      </PersistenceManager>
  </Versioning>

  <Cluster id="node1">
      <Journal
class="org.apache.jackrabbit.core.journal.OracleDatabaseJournal">
          <param name="revision" value="${rep.home}/revision.log" />
          <param name="driver" value="oracle.jdbc.OracleDriver" />
          <param name="url" value="db-connect-details" />
          <param name="user" value="db-username" />
          <param name="password" value="db-password" />
      </Journal>
  </Cluster>
</Repository>





--
Alexander Klimetschek
[email protected]

Reply via email to