0
votes

I'm facing issue in running wso2 5.10. I have configured connection to Oracle autonomous DB, and seems connection is ok, but when starting the server, I'm getting this error : "cannot modify an object in parallel after modifying it".

Config:

0- Prerequisites: add autonomous Oracle Jars to wso2 lib, run wso2 dbscripts to create tables, comment deployment.toml

1- add below to wso2server.sh

-Doracle.net.tns_admin=/home/Wallet_DBTest2 -Doracle.net.wallet_location=/home/Wallet_DBTest2

2- configure DB in wso2is-5.10.0/repository/conf/datasources/master-datasources.xml

<datasource>
<name>WSO2_SHARED_DB</name>
<description>Shared Database for user and registry data</description>
<jndiConfig>
<name>jdbc/SHARED_DB</name>
</jndiConfig>
<definition type="RDBMS">
<configuration>
<url>jdbc:oracle:thin:@DBTest2_high</url>
<username>testidam</username>
<password>testidam</password>
<driverClassName>oracle.jdbc.OracleDriver</driverClassName>
</configuration>
</definition>
</datasource>

Error Logs:

[2020-12-28 16:45:32,524] [] ERROR {org.wso2.carbon.registry.core.jdbc.dao.JDBCResourceDAO} - Failed to update the content id: /_system/config/repository/components/org.wso2.carbon.security.mgt/policy/scenario1. ORA-12839: cannot modify an object in parallel after modifying it java.sql.SQLException: ORA-12839: cannot modify an object in parallel after modifying it

at oracle.jdbc.driver.T4CTTIoer11.processError(T4CTTIoer11.java:494)
at oracle.jdbc.driver.T4CTTIoer11.processError(T4CTTIoer11.java:446)
        at oracle.jdbc.driver.T4C8Oall.processError(T4C8Oall.java:1052)
        at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:537)
        at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:255)
        at oracle.jdbc.driver.T4C8Oall.doOALL(T4C8Oall.java:610)
        at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:253)
        at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:86)
        at oracle.jdbc.driver.T4CPreparedStatement.executeForRows(T4CPreparedStatement.java:928)
1

1 Answers

0
votes

The issue was coming from Oracle ATP JDBC driver, which launch Paralleled DML that is not compatible with wso2. In my case I want to disable it, so I changed the service name in datasourse.xml and use TP instead of High.

New URL: jdbc:oracle:thin:@DBTest2_tp