Amila Jayasekara created AIRAVATA-911:
-----------------------------------------

             Summary: Unable to set a different gateway name other than 
"default"
                 Key: AIRAVATA-911
                 URL: https://issues.apache.org/jira/browse/AIRAVATA-911
             Project: Airavata
          Issue Type: Bug
    Affects Versions: 0.8
         Environment: Mac, Linux
            Reporter: Amila Jayasekara
            Priority: Blocker
             Fix For: 0.9


Create an AiravataAPI object with a different name other than "default". Try to 
create a workflow by adding appropriate descriptors. Our implementation is bind 
to gateway name "default". When trying to add hos descriptor I am getting 
exception in [1].

Cause - We dont use the gateway name provided at the time of creating API 
object. Rather we use "default". In "HostDescriptorResource" we have following 
code (line 211);

Gateway existingGateway = em.find(Gateway.class, gatewayName);
When we execute above code with "sampleGateway" the return object is null. This 
leads to undermentioned exception.


[1] 141  airavata_data  INFO   [http-bio-8080-exec-2] openjpa.jdbc.JDBC - Using 
dictionary class "org.apache.openjpa.jdbc.sql.DerbyDictionary" (Apache Derby 
10.9.1.0 - (1344872) ,Apache Derby Network Client JDBC Driver 10.9.1.0 - 
(1344872)).
<openjpa-2.2.0-r422266:1244990 fatal store error> 
org.apache.openjpa.persistence.RollbackException: The transaction has been 
rolled back.  See the nested exceptions for details on the errors that occurred.
FailedObject: 
org.apache.airavata.persistance.registry.jpa.model.Host_Descriptor@a9961d1
        at 
org.apache.openjpa.persistence.EntityManagerImpl.commit(EntityManagerImpl.java:594)
        at 
org.apache.airavata.persistance.registry.jpa.resources.HostDescriptorResource.save(HostDescriptorResource.java:230)
        at 
org.apache.airavata.persistance.registry.jpa.impl.AiravataJPARegistry.addHostDescriptor(AiravataJPARegistry.java:504)
        at 
org.apache.airavata.services.registry.rest.resources.DescriptorRegistryResource.addHostDescriptor(DescriptorRegistryResource.java:107)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at 
com.sun.jersey.spi.container.JavaMethodInvokerFactory$1.invoke(JavaMethodInvokerFactory.java:60)
        at 
com.sun.jersey.server.impl.model.method.dispatch.AbstractResourceMethodDispatchProvider$ResponseOutInvoker._dispatch(AbstractResourceMethodDispatchProvider.java:205)
        at 
com.sun.jersey.server.impl.model.method.dispatch.ResourceJavaMethodDispatcher.dispatch(ResourceJavaMethodDispatcher.java:75)
        at 
com.sun.jersey.server.impl.uri.rules.HttpMethodRule.accept(HttpMethodRule.java:302)
        at 
com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:147)
        at 
com.sun.jersey.server.impl.uri.rules.ResourceClassRule.accept(ResourceClassRule.java:108)
        at 
com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:147)
        at 
com.sun.jersey.server.impl.uri.rules.RootResourceClassesRule.accept(RootResourceClassesRule.java:84)
        at 
com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1480)
        at 
com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1411)
        at 
com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1360)
        at 
com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1350)
        at 
com.sun.jersey.spi.container.servlet.WebComponent.service(WebComponent.java:416)
        at 
com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:538)
        at 
com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:716)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
        at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
        at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
        at 
org.apache.airavata.services.registry.rest.security.HttpAuthenticatorFilter.doFilter(HttpAuthenticatorFilter.java:140)
        at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
        at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
        at 
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
        at 
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
        at 
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502)
        at 
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
        at 
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
        at 
org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:953)
        at 
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
        at 
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
        at 
org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1023)
        at 
org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589)
        at 
org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:312)
        at 
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895)
        at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
        at java.lang.Thread.run(Thread.java:680)
Caused by: <openjpa-2.2.0-r422266:1244990 fatal general error> 
org.apache.openjpa.persistence.PersistenceException: The transaction has been 
rolled back.  See the nested exceptions for details on the errors that occurred.
FailedObject: 
org.apache.airavata.persistance.registry.jpa.model.Host_Descriptor@a9961d1
        at 
org.apache.openjpa.kernel.BrokerImpl.newFlushException(BrokerImpl.java:2337)
        at org.apache.openjpa.kernel.BrokerImpl.flush(BrokerImpl.java:2174)
        at org.apache.openjpa.kernel.BrokerImpl.flushSafe(BrokerImpl.java:2072)
        at 
org.apache.openjpa.kernel.BrokerImpl.beforeCompletion(BrokerImpl.java:1990)
        at 
org.apache.openjpa.kernel.LocalManagedRuntime.commit(LocalManagedRuntime.java:81)
        at org.apache.openjpa.kernel.BrokerImpl.commit(BrokerImpl.java:1514)
        at 
org.apache.openjpa.kernel.DelegatingBroker.commit(DelegatingBroker.java:933)
        at 
org.apache.openjpa.persistence.EntityManagerImpl.commit(EntityManagerImpl.java:570)
        ... 42 more
Caused by: <openjpa-2.2.0-r422266:1244990 fatal general error> 
org.apache.openjpa.persistence.PersistenceException: Column 'GATEWAY_NAME'  
cannot accept a NULL value. {prepstmnt 1300588470 
INSERT INTO Host_Descriptor (gateway_name, host_descriptor_ID, 
        host_descriptor_xml, updated_user) 
    VALUES (?, ?, ?, ?) 
[params=(null) null, (String) stampede, (byte[]) [B@715c057c, (String) admin]} 
[code=-1, state=23502]
FailedObject: 
org.apache.airavata.persistance.registry.jpa.model.Host_Descriptor@a9961d1
        at 
org.apache.openjpa.jdbc.sql.DBDictionary.narrow(DBDictionary.java:4912)
        at 
org.apache.openjpa.jdbc.sql.DBDictionary.newStoreException(DBDictionary.java:4878)
        at 
org.apache.openjpa.jdbc.sql.SQLExceptions.getStore(SQLExceptions.java:136)
        at 
org.apache.openjpa.jdbc.sql.SQLExceptions.getStore(SQLExceptions.java:78)
        at 
org.apache.openjpa.jdbc.kernel.PreparedStatementManagerImpl.flushAndUpdate(PreparedStatementManagerImpl.java:143)
        at 
org.apache.openjpa.jdbc.kernel.BatchingPreparedStatementManagerImpl.flushAndUpdate(BatchingPreparedStatementManagerImpl.java:79)
        at 
org.apache.openjpa.jdbc.kernel.PreparedStatementManagerImpl.flushInternal(PreparedStatementManagerImpl.java:99)
        at 
org.apache.openjpa.jdbc.kernel.PreparedStatementManagerImpl.flush(PreparedStatementManagerImpl.java:87)
        at 
org.apache.openjpa.jdbc.kernel.ConstraintUpdateManager.flush(ConstraintUpdateManager.java:550)
        at 
org.apache.openjpa.jdbc.kernel.ConstraintUpdateManager.flush(ConstraintUpdateManager.java:106)
        at 
org.apache.openjpa.jdbc.kernel.BatchingConstraintUpdateManager.flush(BatchingConstraintUpdateManager.java:59)
        at 
org.apache.openjpa.jdbc.kernel.AbstractUpdateManager.flush(AbstractUpdateManager.java:103)
        at 
org.apache.openjpa.jdbc.kernel.AbstractUpdateManager.flush(AbstractUpdateManager.java:76)
        at 
org.apache.openjpa.jdbc.kernel.JDBCStoreManager.flush(JDBCStoreManager.java:713)
        at 
org.apache.openjpa.kernel.DelegatingStoreManager.flush(DelegatingStoreManager.java:131)
        ... 49 more
Caused by: org.apache.openjpa.lib.jdbc.ReportingSQLException: Column 
'GATEWAY_NAME'  cannot accept a NULL value. {prepstmnt 1300588470 
INSERT INTO Host_Descriptor (gateway_name, host_descriptor_ID, 
        host_descriptor_xml, updated_user) 
    VALUES (?, ?, ?, ?) 
[params=(null) null, (String) stampede, (byte[]) [B@715c057c, (String) admin]} 
[code=-1, state=23502]
        at 
org.apache.openjpa.lib.jdbc.LoggingConnectionDecorator.wrap(LoggingConnectionDecorator.java:247)
        at 
org.apache.openjpa.lib.jdbc.LoggingConnectionDecorator.wrap(LoggingConnectionDecorator.java:223)
        at 
org.apache.openjpa.lib.jdbc.LoggingConnectionDecorator.access$1000(LoggingConnectionDecorator.java:72)
        at 
org.apache.openjpa.lib.jdbc.LoggingConnectionDecorator$LoggingConnection$LoggingPreparedStatement.executeUpdate(LoggingConnectionDecorator.java:1162)
        at 
org.apache.openjpa.lib.jdbc.DelegatingPreparedStatement.executeUpdate(DelegatingPreparedStatement.java:272)
        at 
org.apache.openjpa.jdbc.kernel.JDBCStoreManager$CancelPreparedStatement.executeUpdate(JDBCStoreManager.java:1741)
        at 
org.apache.openjpa.jdbc.kernel.PreparedStatementManagerImpl.executeUpdate(PreparedStatementManagerImpl.java:267)
        at 
org.apache.openjpa.jdbc.kernel.PreparedStatementManagerImpl.flushAndUpdate(PreparedStatementManagerImpl.java:118)
        ... 59 more

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to