[
https://issues.apache.org/jira/browse/AIRAVATA-2350?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15947290#comment-15947290
]
Marcus Christie commented on AIRAVATA-2350:
-------------------------------------------
I wanted to try to see if OpenJPA could synchronize the mappings so I tried
setting the following in AppCatalogJPAUtils.java
{code}
properties.put("openjpa.jdbc.SynchronizeMappings",
"buildSchema(PrimaryKeys=true,ForeignKeys=true,Indexes=true)");
{code}
Here I added the PrimaryKeys=true and Indexes=true. ForeignKeys=true was
already there.
However, when the server starts up I get this error:
{noformat}
2017-03-29 10:49:30 [main] ERROR o.a.a.r.a.s.util.AppCatalogInitUtil - Multiple
primary key defined {stmnt 623545006
ALTER TABLE APPLICATION_DEPLOYMENT ADD PRIMARY KEY (DEPLOYMENT_ID) }
[code=1068, state=42000]
org.apache.openjpa.persistence.PersistenceException: Multiple primary key
defined {stmnt 623545006
ALTER TABLE APPLICATION_DEPLOYMENT ADD PRIMARY KEY (DEPLOYMENT_ID) }
[code=1068, state=42000]
at org.apache.openjpa.jdbc.meta.MappingTool.record(MappingTool.java:559)
at org.apache.openjpa.jdbc.meta.MappingTool.record(MappingTool.java:455)
at
org.apache.openjpa.jdbc.kernel.JDBCBrokerFactory.synchronizeMappings(JDBCBrokerFactory.java:160)
at
org.apache.openjpa.jdbc.kernel.JDBCBrokerFactory.synchronizeMappings(JDBCBrokerFactory.java:164)
at
org.apache.openjpa.jdbc.kernel.JDBCBrokerFactory.newBrokerImpl(JDBCBrokerFactory.java:122)
at
org.apache.openjpa.kernel.AbstractBrokerFactory.newBroker(AbstractBrokerFactory.java:209)
at
org.apache.openjpa.kernel.DelegatingBrokerFactory.newBroker(DelegatingBrokerFactory.java:156)
at
org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:227)
at
org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:154)
at
org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:60)
at
org.apache.airavata.registry.core.app.catalog.util.AppCatalogJPAUtils.getEntityManager(AppCatalogJPAUtils.java:73)
at
org.apache.airavata.registry.core.app.catalog.resources.GatewayProfileResource.isExists(GatewayProfileResource.java:362)
at
org.apache.airavata.registry.api.service.util.AppCatalogInitUtil.initializeDB(AppCatalogInitUtil.java:82)
at
org.apache.airavata.registry.api.service.RegistryAPIServer.StartRegistryServer(RegistryAPIServer.java:57)
at
org.apache.airavata.registry.api.service.RegistryAPIServer.start(RegistryAPIServer.java:119)
at
org.apache.airavata.server.ServerMain.startAllServers(ServerMain.java:369)
at
org.apache.airavata.server.ServerMain.performServerStart(ServerMain.java:218)
at org.apache.airavata.server.ServerMain.main(ServerMain.java:203)
{noformat}
So I guess these need to manually manipulated.
> USER_RESOURCE_PROFILE DB Primary Key should include the gateway_id
> ------------------------------------------------------------------
>
> Key: AIRAVATA-2350
> URL: https://issues.apache.org/jira/browse/AIRAVATA-2350
> Project: Airavata
> Issue Type: Bug
> Components: Registry API
> Affects Versions: 0.17
> Reporter: Marcus Christie
> Fix For: 0.17
>
>
> If I recall correctly, the problem that this caused was that a user with the
> same username in two gateways was not able to create a USER_RESOURCE_PROFILE
> in the second gateway because of the PK violation.
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)