Hi,

I'm getting this when I try to cluster two wso2 appservers.

Both are on '*/mnt/wso2as-5.2.0*' in two separate virtual servers.



TID: [0] [AS] [2014-03-09 23:42:58,460] ERROR
{org.wso2.carbon.registry.core.jdbc.dao.JDBCResourceDAO} -  Failed to add
resource to path /. Referential integrity constraint violation:
"REG_RESOURCE_FK_BY_PATH_ID: PUBLIC.REG_RESOURCE FOREIGN KEY(REG_PATH_ID,
REG_TENANT_ID) REFERENCES PUBLIC.REG_PATH(REG_PATH_ID, REG_TENANT_ID)"; SQL
statement:
INSERT INTO REG_RESOURCE (REG_PATH_ID, REG_NAME, REG_MEDIA_TYPE,
REG_CREATOR, REG_CREATED_TIME, REG_LAST_UPDATOR, REG_LAST_UPDATED_TIME,
REG_DESCRIPTION, REG_TENANT_ID, REG_UUID) VALUES (?, ?, ?, ?, ?, ?, ?, ?,
?, ?) [23002-140] {org.wso2.carbon.registry.core.jdbc.dao.JDBCResourceDAO}
org.h2.jdbc.JdbcSQLException: Referential integrity constraint violation:
"REG_RESOURCE_FK_BY_PATH_ID: PUBLIC.REG_RESOURCE FOREIGN KEY(REG_PATH_ID,
REG_TENANT_ID) REFERENCES PUBLIC.REG_PATH(REG_PATH_ID, REG_TENANT_ID)"; SQL
statement:
INSERT INTO REG_RESOURCE (REG_PATH_ID, REG_NAME, REG_MEDIA_TYPE,
REG_CREATOR, REG_CREATED_TIME, REG_LAST_UPDATOR, REG_LAST_UPDATED_TIME,
REG_DESCRIPTION, REG_TENANT_ID, REG_UUID) VALUES (?, ?, ?, ?, ?, ?, ?, ?,
?, ?) [23002-140]
 at org.h2.message.DbException.getJdbcSQLException(DbException.java:327)
at org.h2.message.DbException.get(DbException.java:167)
 at org.h2.message.DbException.get(DbException.java:144)
at
org.h2.constraint.ConstraintReferential.checkRowOwnTable(ConstraintReferential.java:329)
 at
org.h2.constraint.ConstraintReferential.checkRow(ConstraintReferential.java:271)
 at org.h2.table.Table.fireConstraints(Table.java:801)
at org.h2.table.Table.fireAfterRow(Table.java:818)
 at org.h2.command.dml.Insert.insertRows(Insert.java:122)
at org.h2.command.dml.Insert.update(Insert.java:82)
 at org.h2.command.CommandContainer.update(CommandContainer.java:70)
at org.h2.command.Command.executeUpdate(Command.java:199)
 at
org.h2.jdbc.JdbcPreparedStatement.executeUpdateInternal(JdbcPreparedStatement.java:141)
 at
org.h2.jdbc.JdbcPreparedStatement.executeUpdate(JdbcPreparedStatement.java:127)
at
org.wso2.carbon.registry.core.jdbc.dao.JDBCResourceDAO.addResourceWithoutContentId(JDBCResourceDAO.java:1391)
 at
org.wso2.carbon.registry.core.jdbc.dao.JDBCResourceDAO.addRoot(JDBCResourceDAO.java:445)
 at
org.wso2.carbon.registry.core.session.UserRegistry.addRootCollection(UserRegistry.java:365)
at
org.wso2.carbon.registry.core.session.UserRegistry.init(UserRegistry.java:299)
 at
org.wso2.carbon.registry.core.session.UserRegistry.<init>(UserRegistry.java:226)
 at
org.wso2.carbon.registry.core.session.UserRegistry.<init>(UserRegistry.java:205)
at
org.wso2.carbon.registry.core.jdbc.EmbeddedRegistryService.getUserRegistry(EmbeddedRegistryService.java:427)
 at
org.wso2.carbon.registry.core.jdbc.EmbeddedRegistryService.getSystemRegistry(EmbeddedRegistryService.java:292)
 at
org.wso2.carbon.registry.core.jdbc.EmbeddedRegistryService.getConfigSystemRegistry(EmbeddedRegistryService.java:485)
 at
org.wso2.carbon.core.multitenancy.utils.TenantAxisUtils.createTenantConfigurationContext(TenantAxisUtils.java:295)
 at
org.wso2.carbon.core.multitenancy.utils.TenantAxisUtils.getTenantConfigurationContext(TenantAxisUtils.java:135)
 at
org.wso2.carbon.core.multitenancy.utils.TenantAxisUtils.setTenantAccessed(TenantAxisUtils.java:161)
 at
org.wso2.carbon.webapp.mgt.TenantLazyLoaderValve.setTenantAccessed(TenantLazyLoaderValve.java:112)
 at
org.wso2.carbon.webapp.mgt.TenantLazyLoaderValve.invoke(TenantLazyLoaderValve.java:87)
at
org.wso2.carbon.tomcat.ext.valves.TomcatValveContainer.invokeValves(TomcatValveContainer.java:47)
 at
org.wso2.carbon.tomcat.ext.valves.CompositeValve.invoke(CompositeValve.java:141)
 at
org.wso2.carbon.tomcat.ext.valves.CarbonStuckThreadDetectionValve.invoke(CarbonStuckThreadDetectionValve.java:156)
 at
org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:936)
at
org.wso2.carbon.tomcat.ext.valves.CarbonContextCreatorValve.invoke(CarbonContextCreatorValve.java:52)
 at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
 at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
at
org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1004)
 at
org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589)
 at
org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1653)
at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
 at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
 at java.lang.Thread.run(Thread.java:724)
TID: [0] [AS] [2014-03-09 23:42:58,461] FATAL
{org.wso2.carbon.registry.core.session.UserRegistry} -  Failed to add the
root collection to the coreRegistry.
{org.wso2.carbon.registry.core.session.UserRegistry}
org.wso2.carbon.registry.core.exceptions.RegistryException: Failed to add
resource to path /. Referential integrity constraint violation:
"REG_RESOURCE_FK_BY_PATH_ID: PUBLIC.REG_RESOURCE FOREIGN KEY(REG_PATH_ID,
REG_TENANT_ID) REFERENCES PUBLIC.REG_PATH(REG_PATH_ID, REG_TENANT_ID)"; SQL
statement:
INSERT INTO REG_RESOURCE (REG_PATH_ID, REG_NAME, REG_MEDIA_TYPE,
REG_CREATOR, REG_CREATED_TIME, REG_LAST_UPDATOR, REG_LAST_UPDATED_TIME,
REG_DESCRIPTION, REG_TENANT_ID, REG_UUID) VALUES (?, ?, ?, ?, ?, ?, ?, ?,
?, ?) [23002-140]
 at
org.wso2.carbon.registry.core.jdbc.dao.JDBCResourceDAO.addResourceWithoutContentId(JDBCResourceDAO.java:1410)
 at
org.wso2.carbon.registry.core.jdbc.dao.JDBCResourceDAO.addRoot(JDBCResourceDAO.java:445)
 at
org.wso2.carbon.registry.core.session.UserRegistry.addRootCollection(UserRegistry.java:365)
at
org.wso2.carbon.registry.core.session.UserRegistry.init(UserRegistry.java:299)
 at
org.wso2.carbon.registry.core.session.UserRegistry.<init>(UserRegistry.java:226)
 at
org.wso2.carbon.registry.core.session.UserRegistry.<init>(UserRegistry.java:205)
at
org.wso2.carbon.registry.core.jdbc.EmbeddedRegistryService.getUserRegistry(EmbeddedRegistryService.java:427)
 at
org.wso2.carbon.registry.core.jdbc.EmbeddedRegistryService.getSystemRegistry(EmbeddedRegistryService.java:292)
 at
org.wso2.carbon.registry.core.jdbc.EmbeddedRegistryService.getConfigSystemRegistry(EmbeddedRegistryService.java:485)
 at
org.wso2.carbon.core.multitenancy.utils.TenantAxisUtils.createTenantConfigurationContext(TenantAxisUtils.java:295)
 at
org.wso2.carbon.core.multitenancy.utils.TenantAxisUtils.getTenantConfigurationContext(TenantAxisUtils.java:135)
 at
org.wso2.carbon.core.multitenancy.utils.TenantAxisUtils.setTenantAccessed(TenantAxisUtils.java:161)
 at
org.wso2.carbon.webapp.mgt.TenantLazyLoaderValve.setTenantAccessed(TenantLazyLoaderValve.java:112)
 at
org.wso2.carbon.webapp.mgt.TenantLazyLoaderValve.invoke(TenantLazyLoaderValve.java:87)
at
org.wso2.carbon.tomcat.ext.valves.TomcatValveContainer.invokeValves(TomcatValveContainer.java:47)
 at
org.wso2.carbon.tomcat.ext.valves.CompositeValve.invoke(CompositeValve.java:141)
 at
org.wso2.carbon.tomcat.ext.valves.CarbonStuckThreadDetectionValve.invoke(CarbonStuckThreadDetectionValve.java:156)
 at
org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:936)
at
org.wso2.carbon.tomcat.ext.valves.CarbonContextCreatorValve.invoke(CarbonContextCreatorValve.java:52)
 at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
 at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
at
org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1004)
 at
org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589)
 at
org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1653)
at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
 at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
 at java.lang.Thread.run(Thread.java:724)
Caused by: org.h2.jdbc.JdbcSQLException: Referential integrity constraint
violation: "REG_RESOURCE_FK_BY_PATH_ID: PUBLIC.REG_RESOURCE FOREIGN
KEY(REG_PATH_ID, REG_TENANT_ID) REFERENCES PUBLIC.REG_PATH(REG_PATH_ID,
REG_TENANT_ID)"; SQL statement:
INSERT INTO REG_RESOURCE (REG_PATH_ID, REG_NAME, REG_MEDIA_TYPE,
REG_CREATOR, REG_CREATED_TIME, REG_LAST_UPDATOR, REG_LAST_UPDATED_TIME,
REG_DESCRIPTION, REG_TENANT_ID, REG_UUID) VALUES (?, ?, ?, ?, ?, ?, ?, ?,
?, ?) [23002-140]
 at org.h2.message.DbException.getJdbcSQLException(DbException.java:327)
at org.h2.message.DbException.get(DbException.java:167)
 at org.h2.message.DbException.get(DbException.java:144)
at
org.h2.constraint.ConstraintReferential.checkRowOwnTable(ConstraintReferential.java:329)
 at
org.h2.constraint.ConstraintReferential.checkRow(ConstraintReferential.java:271)
 at org.h2.table.Table.fireConstraints(Table.java:801)
at org.h2.table.Table.fireAfterRow(Table.java:818)
 at org.h2.command.dml.Insert.insertRows(Insert.java:122)
at org.h2.command.dml.Insert.update(Insert.java:82)
 at org.h2.command.CommandContainer.update(CommandContainer.java:70)
at org.h2.command.Command.executeUpdate(Command.java:199)
 at
org.h2.jdbc.JdbcPreparedStatement.executeUpdateInternal(JdbcPreparedStatement.java:141)
 at
org.h2.jdbc.JdbcPreparedStatement.executeUpdate(JdbcPreparedStatement.java:127)
at
org.wso2.carbon.registry.core.jdbc.dao.JDBCResourceDAO.addResourceWithoutContentId(JDBCResourceDAO.java:1391)
 ... 26 more




*On both master datasource XML*.

<datasource>
            <name>WSO2_CARBON_DB</name>
            <description>The datasource used for registry and user
manager</description>
            <jndiConfig>
                <name>jdbc/WSO2CarbonDB</name>
            </jndiConfig>
            <definition type="RDBMS">
                <configuration>

<url>jdbc:h2:/mnt/wso2as-5.2.0/repository/database/WSO2CARBON_DB;DB_CLOSE_ON_EXIT=FALSE;LOCK_TIMEOUT=60000</url>
...
<datasource>
            <name>WSO2_USERSTORE_DB</name>
            <description>The datasource used for user manager</description>
            <jndiConfig>
                <!-- name>jdbc/WSO2AppfacUserDB</name -->
                <name>jdbc/userstore</name>
            </jndiConfig>
            <definition type="RDBMS">
                <configuration>
                    <url>jdbc:mysql://
mysql_2.example.com:3306/userstore?autoReconnect=true</url>
...
     <datasource>
            <name>WSO2_REGISTRY_DB</name>
            <description>The datasource used for registry</description>
            <jndiConfig>
                    <!-- name>jdbc/WSO2AppfacRegDB</name -->
                <name>jdbc/governance</name>
            </jndiConfig>
            <definition type="RDBMS">
                <configuration>
                    <url>jdbc:mysql://
mysql_1.example.com:3306/registry?autoReconnect=true</url>
...
        <datasource>
            <name>WSO2_APPSERVER_CONFIG_DB</name>
            <description>The datasource used for appserver config
registry</description>
            <jndiConfig>
                <name>jdbc/appserver_config</name>
            </jndiConfig>
            <definition type="RDBMS">
                <configuration>
                    <url>jdbc:mysql://
mysql_1.example.com:3306/appserver_config?autoReconnect=true</url>


*On registory.xml.*

   <currentDBConfig>wso2registry</currentDBConfig>
    <readOnly>false</readOnly>
    <enableCache>true</enableCache>
    <registryRoot>/</registryRoot>

    <dbConfig name="wso2registry">
        <dataSource>jdbc/WSO2CarbonDB</dataSource>
    </dbConfig>

        <handler
class="org.wso2.carbon.appfactory.registry.handler.ReferenceHandler">
            <property name="systemVariable">stage</property>
              <filter
class="org.wso2.carbon.registry.core.jdbc.handlers.filters.URLMatcher">
                  <property name="pattern">/_system/governance/.*</property>
              </filter>
         </handler>


     <dbConfig name="governance">
       <dataSource>jdbc/governance</dataSource>
    </dbConfig>

      <remoteInstance url="https://registryernance.cloud-test.wso2.com";>
        <id>governance</id>
        <dbConfig>governance</dbConfig>
        <readOnly>false</readOnly>
        <registryRoot>/</registryRoot>
        <enableCache>true</enableCache>
    </remoteInstance>

     <mount path="/_system/governance" overwrite="true">
        <instanceId>governance</instanceId>
        <targetPath>/_system/governance</targetPath>
    </mount>


    <dbConfig name="config">
       <dataSource>jdbc/appserver_config</dataSource>
    </dbConfig>

      <remoteInstance url="https://registryernance.cloud-test.wso2.com";>
        <id>config</id>
        <dbConfig>config</dbConfig>
        <readOnly>false</readOnly>
        <registryRoot>/</registryRoot>
        <enableCache>true</enableCache>
    </remoteInstance>

     <mount path="/_system/config" overwrite="true">
        <instanceId>config</instanceId>
        <targetPath>/_system/appserver_config</targetPath>
    </mount>



Thanks and regards,

Thilina Piyasundara
Systems Engineer
​
​ (DevOps)
M: 071-775-0006
​
​
Blog: blog.thilina.org

WSO2, Inc.
​
​ <http://wso2.com/>
lean . enterprise . middleware
_______________________________________________
Dev mailing list
[email protected]
http://wso2.org/cgi-bin/mailman/listinfo/dev

Reply via email to