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