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

Jukka Zitting commented on JCR-3221:
------------------------------------

The isNew() method of NodePropBundle is managed internally by Jackrabbit. The 
flag is set to false if the bundle is loaded from the underlying persistence 
store, and to true if the bundle was created in memory and is now for the first 
time being persisted.

The SharedItemStateManager initialization code referenced in the stack trace 
above does the following:

        if (!hasNonVirtualItemState(rootNodeId)) {
            createRootNodeState(rootNodeId, ntReg);
        }

Since Jackrabbit is supposed to be the only instance accessing the underlying 
database, there should be no need to double-check this flag with a 
bundleSelectSQL instruction. The only case I can think of when something like 
this could happen is when another Jackrabbit instance is concurrently accessing 
the same database.

I suspect this might rather be a Sling problem instead of a Jackrabbit one. Can 
you check whether you can reproduce the problem with the following command when 
you have no other Java processes running:

    $ java -jar jackrabbit-standalone-2.2.10.jar --conf /path/to/repository.xml

If this also fails, please attach the repository.xml file (you can remove any 
sensitive database connection details) so we can try reproducing the problem. 
The above command certainly works with the default Jackrabbit configuration.
                
> Jackrabbit in Sling won't bootstrap against oracle
> --------------------------------------------------
>
>                 Key: JCR-3221
>                 URL: https://issues.apache.org/jira/browse/JCR-3221
>             Project: Jackrabbit Content Repository
>          Issue Type: Test
>          Components: config
>    Affects Versions: 2.2.10
>         Environment: Windows 7, Java JRE 1.6.0_29
>            Reporter: Rohit Nijhawan
>   Original Estimate: 48h
>  Remaining Estimate: 48h
>
> 1. Trying to use jackrabbit persistence config to Oracle under Sling 
> 2. Trying to run the jackrabbit standalone server against Oracle
> in Sling, seeing this error repeatedly. If I run a DELETE FROM 
> JCR_DEFAULT_BUNDLE, the server starts up in sling but only 28/75 bundles are 
> active and only 101/152 services launch after all the bundles are manually 
> made active by pressing the |>| play button beside them. 
> AuthenticationSupport service never runs. I can log in but not upload content.
> And in the the jackrabbit standalone server, if I delete from 
> JCR_DEFAULT_BUNDLE, the server never starts up fully. It stays at Starting 
> the server...
> I have tried both: the pool.OraclePersistenceManager and 
> bundle.OraclePersistenceManager classes. I've seen similar issues with 
> 'writing the bundle' error but not one that was enforced on a unique 
> constraint from an index.
> 2012-01-26 10:32:14.533 ERROR [main] BundleDbPersistenceManager.java:1108 
> FATAL error while writing the bundle: deadbeef-cafe-babe-cafe-babecafebabe
> java.sql.SQLException: ORA-00001: unique constraint 
> (MIC_COMMON_SB.JCR_DEFAULT_BUNDLE_IDX) violated
>       at 
> oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:113) 
> ~[na:Oracle JDBC Driver version - "10.2.0.5.0"]
>       at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:331) 
> ~[na:Oracle JDBC Driver version - "10.2.0.5.0"]
>       at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:288) 
> ~[na:Oracle JDBC Driver version - "10.2.0.5.0"]
>       at oracle.jdbc.driver.T4C8Oall.receive(T4C8Oall.java:754) ~[na:Oracle 
> JDBC Driver version - "10.2.0.5.0"]
>       at 
> oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:219)
>  ~[na:Oracle JDBC Driver version - "10.2.0.5.0"]
>       at 
> oracle.jdbc.driver.T4CPreparedStatement.executeForRows(T4CPreparedStatement.java:972)
>  ~[na:Oracle JDBC Driver version - "10.2.0.5.0"]
>       at 
> oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1192)
>  ~[na:Oracle JDBC Driver version - "10.2.0.5.0"]
>       at 
> oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3415)
>  ~[na:Oracle JDBC Driver version - "10.2.0.5.0"]
>       at 
> oracle.jdbc.driver.OraclePreparedStatement.execute(OraclePreparedStatement.java:3521)
>  ~[na:Oracle JDBC Driver version - "10.2.0.5.0"]
>       at 
> org.apache.commons.dbcp.DelegatingPreparedStatement.execute(DelegatingPreparedStatement.java:169)
>  ~[jackrabbit-standalone-2.2.10.jar:na]
>       at 
> org.apache.commons.dbcp.DelegatingPreparedStatement.execute(DelegatingPreparedStatement.java:169)
>  ~[jackrabbit-standalone-2.2.10.jar:na]
>       at 
> org.apache.jackrabbit.core.util.db.ConnectionHelper.execute(ConnectionHelper.java:474)
>  ~[jackrabbit-standalone-2.2.10.jar:na]
>       at 
> org.apache.jackrabbit.core.util.db.ConnectionHelper.reallyUpdate(ConnectionHelper.java:335)
>  ~[jackrabbit-standalone-2.2.10.jar:na]
>       at 
> org.apache.jackrabbit.core.util.db.ConnectionHelper$2.call(ConnectionHelper.java:323)
>  ~[jackrabbit-standalone-2.2.10.jar:na]
>       at 
> org.apache.jackrabbit.core.util.db.ConnectionHelper$2.call(ConnectionHelper.java:319)
>  ~[jackrabbit-standalone-2.2.10.jar:na]
>       at 
> org.apache.jackrabbit.core.util.db.ConnectionHelper$RetryManager.doTry(ConnectionHelper.java:487)
>  ~[jackrabbit-standalone-2.2.10.jar:na]
>       at 
> org.apache.jackrabbit.core.util.db.ConnectionHelper.update(ConnectionHelper.java:319)
>  ~[jackrabbit-standalone-2.2.10.jar:na]
>       at 
> org.apache.jackrabbit.core.persistence.pool.BundleDbPersistenceManager.storeBundle(BundleDbPersistenceManager.java:1095)
>  [jackrabbit-standalone-2.2.10.jar:na]
>       at 
> org.apache.jackrabbit.core.persistence.bundle.AbstractBundlePersistenceManager.putBundle(AbstractBundlePersistenceManager.java:699)
>  [jackrabbit-standalone-2.2.10.jar:na]
>       at 
> org.apache.jackrabbit.core.persistence.bundle.AbstractBundlePersistenceManager.storeInternal(AbstractBundlePersistenceManager.java:641)
>  [jackrabbit-standalone-2.2.10.jar:na]
>       at 
> org.apache.jackrabbit.core.persistence.bundle.AbstractBundlePersistenceManager.store(AbstractBundlePersistenceManager.java:518)
>  [jackrabbit-standalone-2.2.10.jar:na]
>       at 
> org.apache.jackrabbit.core.persistence.pool.BundleDbPersistenceManager.store(BundleDbPersistenceManager.java:479)
>  [jackrabbit-standalone-2.2.10.jar:na]
>       at 
> org.apache.jackrabbit.core.state.SharedItemStateManager.createRootNodeState(SharedItemStateManager.java:1679)
>  [jackrabbit-standalone-2.2.10.jar:na]
>       at 
> org.apache.jackrabbit.core.state.SharedItemStateManager.<init>(SharedItemStateManager.java:212)
>  [jackrabbit-standalone-2.2.10.jar:na]
>       at 
> org.apache.jackrabbit.core.RepositoryImpl.createItemStateManager(RepositoryImpl.java:1379)
>  [jackrabbit-standalone-2.2.10.jar:na]
>       at 
> org.apache.jackrabbit.core.RepositoryImpl$WorkspaceInfo.doInitialize(RepositoryImpl.java:2025)
>  [jackrabbit-standalone-2.2.10.jar:na]
>       at 
> org.apache.jackrabbit.core.RepositoryImpl$WorkspaceInfo.initialize(RepositoryImpl.java:1998)
>  [jackrabbit-standalone-2.2.10.jar:na]
>       at 
> org.apache.jackrabbit.core.RepositoryImpl.initStartupWorkspaces(RepositoryImpl.java:533)
>  [jackrabbit-standalone-2.2.10.jar:na]
>       at 
> org.apache.jackrabbit.core.RepositoryImpl.<init>(RepositoryImpl.java:342) 
> [jackrabbit-standalone-2.2.10.jar:na]
>       at 
> org.apache.jackrabbit.core.RepositoryImpl.create(RepositoryImpl.java:605) 
> [jackrabbit-standalone-2.2.10.jar:na]
>       at 
> org.apache.jackrabbit.servlet.jackrabbit.JackrabbitRepositoryServlet.init(JackrabbitRepositoryServlet.java:103)
>  [jackrabbit-standalone-2.2.10.jar:na]
>       at javax.servlet.GenericServlet.init(GenericServlet.java:241) 
> [jackrabbit-standalone-2.2.10.jar:na]
>       at 
> org.mortbay.jetty.servlet.ServletHolder.initServlet(ServletHolder.java:440) 
> [jackrabbit-standalone-2.2.10.jar:na]
>       at 
> org.mortbay.jetty.servlet.ServletHolder.doStart(ServletHolder.java:263) 
> [jackrabbit-standalone-2.2.10.jar:na]
>       at 
> org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50) 
> [jackrabbit-standalone-2.2.10.jar:na]
>       at 
> org.mortbay.jetty.servlet.ServletHandler.initialize(ServletHandler.java:685) 
> [jackrabbit-standalone-2.2.10.jar:na]
>       at org.mortbay.jetty.servlet.Context.startContext(Context.java:140) 
> [jackrabbit-standalone-2.2.10.jar:na]
>       at 
> org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1250) 
> [jackrabbit-standalone-2.2.10.jar:na]
>       at 
> org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:517) 
> [jackrabbit-standalone-2.2.10.jar:na]
>       at 
> org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:467) 
> [jackrabbit-standalone-2.2.10.jar:na]
>       at 
> org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50) 
> [jackrabbit-standalone-2.2.10.jar:na]
>       at 
> org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:130) 
> [jackrabbit-standalone-2.2.10.jar:na]
>       at 
> org.mortbay.jetty.handler.RequestLogHandler.doStart(RequestLogHandler.java:115)
>  [jackrabbit-standalone-2.2.10.jar:na]
>       at 
> org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50) 
> [jackrabbit-standalone-2.2.10.jar:na]
>       at 
> org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:130) 
> [jackrabbit-standalone-2.2.10.jar:na]
>       at org.mortbay.jetty.Server.doStart(Server.java:224) 
> [jackrabbit-standalone-2.2.10.jar:na]
>       at 
> org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50) 
> [jackrabbit-standalone-2.2.10.jar:na]

--
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