Can't run ODE with Oracle and internal connection pool or external jencks pool.
-------------------------------------------------------------------------------

                 Key: ODE-353
                 URL: https://issues.apache.org/jira/browse/ODE-353
             Project: ODE
          Issue Type: Bug
          Components: JBI Integration
    Affects Versions: 1.2
         Environment: Servicemix 3.2.1
            Reporter: Rafal Rusin


During startup I have a dead lock with a following stack trace:
Thread [pool-4-thread-1] (Suspended)    
        SocketInputStream.socketRead0(FileDescriptor, byte[], int, int, int) 
line: not available [native method]        
        SocketInputStream.read(byte[], int, int) line: 129      
        DataPacket(Packet).receive() line: not available        
        DataPacket.receive() line: not available        
        NetInputStream.getNextPacket() line: not available      
        NetInputStream.read(byte[], int, int) line: not available       
        NetInputStream.read(byte[]) line: not available 
        NetInputStream.read() line: not available       
        T4CMAREngine.unmarshalUB1() line: 1104  
        T4CMAREngine.unmarshalSB1() line: 1075  
        T4C8Oall.receive() line: 480    
        T4CPreparedStatement.doOall8(boolean, boolean, boolean, boolean) line: 
219      
        T4CPreparedStatement.executeForDescribe() line: 813     
        T4CPreparedStatement(OracleStatement).executeMaybeDescribe() line: 1049 
        T4CPreparedStatement.executeMaybeDescribe() line: 854   
        T4CPreparedStatement(OracleStatement).doExecuteWithTimeout() line: 1154 
        T4CPreparedStatement(OraclePreparedStatement).executeInternal() line: 
3370      
        T4CPreparedStatement(OraclePreparedStatement).executeQuery() line: 3415 
        PreparedStatementHandle.executeQuery() line: 49 
        
LoggingConnectionDecorator$LoggingConnection$LoggingPreparedStatement(DelegatingPreparedStatement).executeQuery(boolean)
 line: 264      
        
LoggingConnectionDecorator$LoggingConnection$LoggingPreparedStatement.executeQuery(boolean)
 line: 850   
        
JDBCStoreManager$CancelPreparedStatement(DelegatingPreparedStatement).executeQuery(boolean)
 line: 262   
        JDBCStoreManager$CancelPreparedStatement.executeQuery(boolean) line: 
1407       
        
JDBCStoreManager$CancelPreparedStatement(DelegatingPreparedStatement).executeQuery()
 line: 252  
        TableJDBCSeq.executeQuery(JDBCConfiguration, Connection, 
PreparedStatement, SQLBuffer) line: 728        
        TableJDBCSeq.getSequence(ClassMapping, Connection) line: 470    
        TableJDBCSeq.setSequence(ClassMapping, TableJDBCSeq$Status, int, 
boolean, Connection) line: 510 
        TableJDBCSeq.allocateSequence(JDBCStore, ClassMapping, 
TableJDBCSeq$Status, int, boolean) line: 368     
        TableJDBCSeq.nextInternal(JDBCStore, ClassMapping) line: 266    
        TableJDBCSeq(AbstractJDBCSeq).next(StoreContext, ClassMetaData) line: 
60        
        ImplHelper.generateValue(StoreContext, ClassMetaData, FieldMetaData, 
int) line: 160     
        ImplHelper.generateFieldValue(StoreContext, FieldMetaData) line: 144    
        JDBCStoreManager.assignField(OpenJPAStateManager, int, boolean) line: 
592       
        ApplicationIds.assign(OpenJPAStateManager, StoreManager, 
FieldMetaData[], boolean) line: 464    
        ApplicationIds.assign(OpenJPAStateManager, StoreManager, boolean) line: 
440     
        JDBCStoreManager.assignObjectId(OpenJPAStateManager, boolean) line: 576 
        
ROPStoreManager(DelegatingStoreManager).assignObjectId(OpenJPAStateManager, 
boolean) line: 134  
        StateManagerImpl.assignObjectId(boolean, boolean) line: 517     
        StateManagerImpl.preFlush(boolean, OpCallbacks) line: 2814      
        PNewState.beforeFlush(StateManagerImpl, boolean, OpCallbacks) line: 39  
        StateManagerImpl.beforeFlush(int, OpCallbacks) line: 957        
        FinalizingBrokerImpl(BrokerImpl).flush(int) line: 1945  
        FinalizingBrokerImpl(BrokerImpl).flushSafe(int) line: 1905      
        FinalizingBrokerImpl(BrokerImpl).beforeCompletion() line: 1823  
        TransactionImpl.beforeCompletion(List) line: 514        
        TransactionImpl.beforeCompletion() line: 498    
        TransactionImpl.beforePrepare() line: 400       
        TransactionImpl.commit() line: 257      
        GeronimoPlatformTransactionManager(TransactionManagerImpl).commit() 
line: 238   
        SimpleScheduler.execTransaction(Callable<T>) line: 181  
        SimpleScheduler$1.call() line: 155      
        FutureTask$Sync.innerRun() line: 269    
        FutureTask<V>.run() line: 123   
        ThreadPoolExecutor$Worker.runTask(Runnable) line: 650   
        ThreadPoolExecutor$Worker.run() line: 675       
        Thread.run() line: 595  


On a following query:
SELECT SEQUENCE_VALUE FROM OPENJPA_SEQUENCE_TABLE WHERE ID = :1 FOR UPDATE


As I saw logs, I notices that OpenJPA starts twice (maybe that's the issue):

10:34:49,697 | INFO  | ProcessStoreImpl-1 | Runtime                  | 
log.Log4JLogFactory$LogAdapter   80 | Starting OpenJPA 1.1.0
10:34:49,940 | INFO  | ProcessStoreImpl-1 | JDBC                     | 
log.Log4JLogFactory$LogAdapter   80 | Using dictionary class 
"org.apache.openjpa.jdbc.sql.OracleDictionary" (Oracle Oracle Database 10g 
Express Edition Release 10.2.0.1.0 - Production ,Oracle JDBC driver 10.2.0.4.0).

10:35:24,488 | INFO  | pool-4-thread-1 | Runtime                  | 
log.Log4JLogFactory$LogAdapter   80 | Starting OpenJPA 1.1.0
10:35:24,490 | INFO  | pool-4-thread-1 | JDBC                     | 
log.Log4JLogFactory$LogAdapter   80 | Using dictionary class 
"org.apache.openjpa.jdbc.sql.OracleDictionary" (Oracle Oracle Database 10g 
Express Edition Release 10.2.0.1.0 - Production ,Oracle JDBC driver 10.2.0.4.0).

Can you give me some suggestions about possible fix? 

Regards

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to