airavata-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Amila Jayasekara (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (AIRAVATA-879) Derby database does not get created the first time you start the airavata server from a distribution
Date Mon, 08 Jul 2013 19:39:49 GMT

    [ https://issues.apache.org/jira/browse/AIRAVATA-879?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13702320#comment-13702320
] 

Amila Jayasekara commented on AIRAVATA-879:
-------------------------------------------

Cause for the issue -
Airavata database and schema is created using a separate web service called org.apache.airavata.registry.services.RegistryService.
Other services (E.g :- messanger service) which uses AiravataAPI depends on above service.
Therefore if axis2 deployer decided to deploy messanger service first we will see exception
in above issue.

Solution: Try to connect to RegistryService and if connection fails wait for some time and
re-try. If re-trying fail for several iterations determine that RegistryService is unavailable
and throw an exception.

Further RegistryService doesnt provide any operations. So it is redundant have this service
just to initialize database and schema. I think we should remove this service and move DB/Schema
creation to some other initializing method.
                
> Derby database does not get created the first time you start the airavata server from
a distribution
> ----------------------------------------------------------------------------------------------------
>
>                 Key: AIRAVATA-879
>                 URL: https://issues.apache.org/jira/browse/AIRAVATA-879
>             Project: Airavata
>          Issue Type: Bug
>          Components: Distribution
>    Affects Versions: 0.8
>         Environment: Windows, Linux
>            Reporter: Viknes Balasubramanee
>            Assignee: Amila Jayasekara
>            Priority: Blocker
>
> The following error occurs when you start airavata server for the first time after you
extract it from the server binary distribution.
> Mon Jul 01 15:13:32 EDT 2013 : Apache Derby Network Server - 10.9.1.0 - (1344872) started
and ready to accept connection
> s on port 1527
> DriverClassName=org.apache.derby.jdbc.ClientDriver,Url=jdbc:derby://localhost:1527/persistent_data;create=true;user=aira
> vata;password=airavata,Username=airavata,Password=airavata,validationQuery=SELECT 1 from
Configuration,MaxActive=10,MaxI
> dle=5,MinIdle=2,MaxWait=60000,testWhileIdle=true,testOnBorrow=true
> 52  airavata_data  INFO   [Thread-8] openjpa.Runtime - Starting OpenJPA 2.2.0
> [ERROR] Error while initializing the Airavata API
> org.apache.airavata.client.api.exception.AiravataAPIInvocationException: Error while
initializing the Airavata API
>         at org.apache.airavata.client.AiravataAPIFactory.getAPI(AiravataAPIFactory.java:64)
>         at org.apache.airavata.client.AiravataAPIFactory.getAPI(AiravataAPIFactory.java:43)
>         at org.apache.airavata.client.AiravataAPIFactory.getAPI(AiravataAPIFactory.java:39)
>         at org.apache.airavata.wsmg.msgbox.MsgBoxServiceLifeCycle$1.run(MsgBoxServiceLifeCycle.java:117)
> Caused by: org.apache.airavata.client.api.exception.AiravataAPIInvocationException: Error
while initializing the Airavat
> a API
>         at org.apache.airavata.client.AiravataClient.initialize(AiravataClient.java:163)
>         at org.apache.airavata.client.AiravataAPIFactory.getAPI(AiravataAPIFactory.java:61)
>         ... 3 more
> Caused by: <openjpa-2.2.0-r422266:1244990 fatal general error> org.apache.openjpa.persistence.PersistenceException:
Cann
> ot create PoolableConnectionFactory (Schema 'AIRAVATA' does not exist)
>         at org.apache.openjpa.jdbc.sql.DBDictionaryFactory.newDBDictionary(DBDictionaryFactory.java:102)
>         at org.apache.openjpa.jdbc.conf.JDBCConfigurationImpl.getDBDictionaryInstance(JDBCConfigurationImpl.java:603)
>         at org.apache.openjpa.jdbc.meta.MappingRepository.endConfiguration(MappingRepository.java:1510)
>         at org.apache.openjpa.lib.conf.Configurations.configureInstance(Configurations.java:518)
>         at org.apache.openjpa.lib.conf.Configurations.configureInstance(Configurations.java:443)
>         at org.apache.openjpa.lib.conf.PluginValue.instantiate(PluginValue.java:104)
>         at org.apache.openjpa.conf.MetaDataRepositoryValue.instantiate(MetaDataRepositoryValue.java:68)
>         at org.apache.openjpa.lib.conf.ObjectValue.instantiate(ObjectValue.java:83)
>         at org.apache.openjpa.conf.OpenJPAConfigurationImpl.newMetaDataRepositoryInstance(OpenJPAConfigurationImpl.java:
> 968)
>         at org.apache.openjpa.conf.OpenJPAConfigurationImpl.getMetaDataRepositoryInstance(OpenJPAConfigurationImpl.java:
> 959)
>         at org.apache.openjpa.kernel.AbstractBrokerFactory.makeReadOnly(AbstractBrokerFactory.java:638)
>         at org.apache.openjpa.kernel.AbstractBrokerFactory.newBroker(AbstractBrokerFactory.java:203)
>         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.persistance.registry.jpa.ResourceUtils.getEntityManager(ResourceUtils.java:68)
>         at org.apache.airavata.persistance.registry.jpa.ResourceUtils.getConfigurations(ResourceUtils.java:201)
>         at org.apache.airavata.persistance.registry.jpa.ResourceUtils.getConfiguration(ResourceUtils.java:223)
>         at org.apache.airavata.persistance.registry.jpa.impl.AiravataJPARegistry.getConfiguration(AiravataJPARegistry.ja
> va:226)
>         at org.apache.airavata.persistance.registry.jpa.impl.AiravataJPARegistry.initialize(AiravataJPARegistry.java:159
> )
>         at org.apache.airavata.registry.api.AiravataRegistryFactory.getRegistry(AiravataRegistryFactory.java:81)
>         at org.apache.airavata.client.AiravataClient.getRegistry(AiravataClient.java:216)
>         at org.apache.airavata.client.AiravataClient.createConfig(AiravataClient.java:112)
>         at org.apache.airavata.client.AiravataClient.initialize(AiravataClient.java:144)
>         ... 4 more
> Caused by: org.apache.commons.dbcp.SQLNestedException: Cannot create PoolableConnectionFactory
(Schema 'AIRAVATA' does n
> ot exist)
>         at org.apache.commons.dbcp.BasicDataSource.createPoolableConnectionFactory(BasicDataSource.java:1549)
>         at org.apache.commons.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:1388)
>         at org.apache.commons.dbcp.BasicDataSource.getConnection(BasicDataSource.java:1044)
>         at org.apache.openjpa.lib.jdbc.DelegatingDataSource.getConnection(DelegatingDataSource.java:110)
>         at org.apache.openjpa.lib.jdbc.DecoratingDataSource.getConnection(DecoratingDataSource.java:87)
>         at org.apache.openjpa.jdbc.sql.DBDictionaryFactory.newDBDictionary(DBDictionaryFactory.java:91)
>         ... 28 more
> Caused by: java.sql.SQLSyntaxErrorException: Schema 'AIRAVATA' does not exist
>         at org.apache.derby.client.am.SQLExceptionFactory40.getSQLException(Unknown Source)
>         at org.apache.derby.client.am.SqlException.getSQLException(Unknown Source)
>         at org.apache.derby.client.am.Statement.executeQuery(Unknown Source)
>         at org.apache.commons.dbcp.DelegatingStatement.executeQuery(DelegatingStatement.java:208)
>         at org.apache.commons.dbcp.PoolableConnectionFactory.validateConnection(PoolableConnectionFactory.java:658)
>         at org.apache.commons.dbcp.BasicDataSource.validateConnectionFactory(BasicDataSource.java:1558)
>         at org.apache.commons.dbcp.BasicDataSource.createPoolableConnectionFactory(BasicDataSource.java:1545)
>         ... 33 more
> Caused by: org.apache.derby.client.am.SqlException: Schema 'AIRAVATA' does not exist
>         at org.apache.derby.client.am.Statement.completeSqlca(Unknown Source)
>         at org.apache.derby.client.net.NetStatementReply.parsePrepareError(Unknown Source)
>         at org.apache.derby.client.net.NetStatementReply.parsePRPSQLSTTreply(Unknown
Source)
>         at org.apache.derby.client.net.NetStatementReply.readPrepareDescribeOutput(Unknown
Source)
>         at org.apache.derby.client.net.StatementReply.readPrepareDescribeOutput(Unknown
Source)
>         at org.apache.derby.client.net.NetStatement.readPrepareDescribeOutput_(Unknown
Source)
>         at org.apache.derby.client.am.Statement.readPrepareDescribeOutput(Unknown Source)
>         at org.apache.derby.client.am.Statement.flowExecute(Unknown Source)
>         at org.apache.derby.client.am.Statement.executeQueryX(Unknown Source)
>         ... 38 more
> [ERROR] Error while initializing the Airavata API
> org.apache.airavata.client.api.exception.AiravataAPIInvocationException: Error while
initializing the Airavata API
>         at org.apache.airavata.client.AiravataAPIFactory.getAPI(AiravataAPIFactory.java:64)
>         at org.apache.airavata.client.AiravataAPIFactory.getAPI(AiravataAPIFactory.java:43)
>         at org.apache.airavata.client.AiravataAPIFactory.getAPI(AiravataAPIFactory.java:39)
>         at org.apache.airavata.wsmg.broker.BrokerServiceLifeCycle$1.run(BrokerServiceLifeCycle.java:156)
> Caused by: org.apache.airavata.client.api.exception.AiravataAPIInvocationException: Error
while initializing the Airavat
> a API
>         at org.apache.airavata.client.AiravataClient.initialize(AiravataClient.java:163)
>         at org.apache.airavata.client.AiravataAPIFactory.getAPI(AiravataAPIFactory.java:61)
>         ... 3 more
> Caused by: <openjpa-2.2.0-r422266:1244990 fatal general error> org.apache.openjpa.persistence.PersistenceException:
Cann
> ot create PoolableConnectionFactory (Schema 'AIRAVATA' does not exist)
>         at org.apache.openjpa.jdbc.sql.DBDictionaryFactory.newDBDictionary(DBDictionaryFactory.java:102)
>         at org.apache.openjpa.jdbc.conf.JDBCConfigurationImpl.getDBDictionaryInstance(JDBCConfigurationImpl.java:603)
>         at org.apache.openjpa.jdbc.meta.MappingRepository.endConfiguration(MappingRepository.java:1510)
>         at org.apache.openjpa.lib.conf.Configurations.configureInstance(Configurations.java:518)
>         at org.apache.openjpa.lib.conf.Configurations.configureInstance(Configurations.java:443)
>         at org.apache.openjpa.lib.conf.PluginValue.instantiate(PluginValue.java:104)
>         at org.apache.openjpa.conf.MetaDataRepositoryValue.instantiate(MetaDataRepositoryValue.java:68)
>         at org.apache.openjpa.lib.conf.ObjectValue.instantiate(ObjectValue.java:83)
>         at org.apache.openjpa.conf.OpenJPAConfigurationImpl.newMetaDataRepositoryInstance(OpenJPAConfigurationImpl.java:
> 968)
>         at org.apache.openjpa.conf.OpenJPAConfigurationImpl.getMetaDataRepositoryInstance(OpenJPAConfigurationImpl.java:
> 959)
>         at org.apache.openjpa.jdbc.conf.JDBCConfigurationImpl.getMappingRepositoryInstance(JDBCConfigurationImpl.java:71
> 1)
>         at org.apache.openjpa.jdbc.kernel.JDBCBrokerFactory.synchronizeMappings(JDBCBrokerFactory.java:140)
>         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.persistance.registry.jpa.ResourceUtils.getEntityManager(ResourceUtils.java:68)
>         at org.apache.airavata.persistance.registry.jpa.ResourceUtils.getConfigurations(ResourceUtils.java:201)
>         at org.apache.airavata.persistance.registry.jpa.ResourceUtils.getConfiguration(ResourceUtils.java:223)
>         at org.apache.airavata.persistance.registry.jpa.impl.AiravataJPARegistry.getConfiguration(AiravataJPARegistry.ja
> va:226)
>         at org.apache.airavata.persistance.registry.jpa.impl.AiravataJPARegistry.initialize(AiravataJPARegistry.java:159
> )
>         at org.apache.airavata.registry.api.AiravataRegistryFactory.getRegistry(AiravataRegistryFactory.java:81)
>         at org.apache.airavata.client.AiravataClient.getRegistry(AiravataClient.java:216)
>         at org.apache.airavata.client.AiravataClient.createConfig(AiravataClient.java:112)
>         at org.apache.airavata.client.AiravataClient.initialize(AiravataClient.java:144)
>         ... 4 more
> Caused by: org.apache.commons.dbcp.SQLNestedException: Cannot create PoolableConnectionFactory
(Schema 'AIRAVATA' does n
> ot exist)
>         at org.apache.commons.dbcp.BasicDataSource.createPoolableConnectionFactory(BasicDataSource.java:1549)
>         at org.apache.commons.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:1388)
>         at org.apache.commons.dbcp.BasicDataSource.getConnection(BasicDataSource.java:1044)
>         at org.apache.openjpa.lib.jdbc.DelegatingDataSource.getConnection(DelegatingDataSource.java:110)
>         at org.apache.openjpa.lib.jdbc.DecoratingDataSource.getConnection(DecoratingDataSource.java:87)
>         at org.apache.openjpa.jdbc.sql.DBDictionaryFactory.newDBDictionary(DBDictionaryFactory.java:91)
>         ... 31 more
> Caused by: java.sql.SQLSyntaxErrorException: Schema 'AIRAVATA' does not exist
>         at org.apache.derby.client.am.SQLExceptionFactory40.getSQLException(Unknown Source)
>         at org.apache.derby.client.am.SqlException.getSQLException(Unknown Source)
>         at org.apache.derby.client.am.Statement.executeQuery(Unknown Source)
>         at org.apache.commons.dbcp.DelegatingStatement.executeQuery(DelegatingStatement.java:208)
>         at org.apache.commons.dbcp.PoolableConnectionFactory.validateConnection(PoolableConnectionFactory.java:658)
>         at org.apache.commons.dbcp.BasicDataSource.validateConnectionFactory(BasicDataSource.java:1558)
>         at org.apache.commons.dbcp.BasicDataSource.createPoolableConnectionFactory(BasicDataSource.java:1545)
>         ... 36 more
> Caused by: org.apache.derby.client.am.SqlException: Schema 'AIRAVATA' does not exist
>         at org.apache.derby.client.am.Statement.completeSqlca(Unknown Source)
>         at org.apache.derby.client.net.NetStatementReply.parsePrepareError(Unknown Source)
>         at org.apache.derby.client.net.NetStatementReply.parsePRPSQLSTTreply(Unknown
Source)
>         at org.apache.derby.client.net.NetStatementReply.readPrepareDescribeOutput(Unknown
Source)
>         at org.apache.derby.client.net.StatementReply.readPrepareDescribeOutput(Unknown
Source)
>         at org.apache.derby.client.net.NetStatement.readPrepareDescribeOutput_(Unknown
Source)
>         at org.apache.derby.client.am.Statement.readPrepareDescribeOutput(Unknown Source)
>         at org.apache.derby.client.am.Statement.flowExecute(Unknown Source)
>         at org.apache.derby.client.am.Statement.executeQueryX(Unknown Source)
>         ... 41 more
> [INFO] New Database created for Registry
> 59649  airavata_data  INFO   [Thread-3] openjpa.jdbc.JDBC - Using dictionary class "org.apache.openjpa.jdbc.sql.DerbyDic
> tionary" (Apache Derby 10.9.1.0 - (1344872) ,Apache Derby Network Client JDBC Driver
10.9.1.0 - (1344872)).
> [INFO] Deploying Web service: airavata-registry-service-0.8.jar - file:/C:/Users/Viknes/DOWNLO~1/APACHE~1.8-B/APACHE~1.8
> /bin/../repository/services/airavata-registry-service-0.8.jar
> [INFO] Deploying Web service: airavata-xbaya-gui-0.8.jar - file:/C:/Users/Viknes/DOWNLO~1/APACHE~1.8-B/APACHE~1.8/bin/..
> /repository/services/airavata-xbaya-gui-0.8.jar
> [INFO] Deploying Web service: version-1.5.1.aar - file:/C:/Users/Viknes/DOWNLO~1/APACHE~1.8-B/APACHE~1.8/bin/../reposito
> ry/services/version-1.5.1.aar
> Jul 01, 2013 3:14:42 PM org.apache.coyote.AbstractProtocol start
> INFO: Starting ProtocolHandler ["http-bio-8080"]
> [ERROR] Unable to create Airavata API
> org.apache.airavata.client.api.exception.AiravataAPIInvocationException: Error while
initializing the Airavata API
>         at org.apache.airavata.client.AiravataAPIFactory.getAPI(AiravataAPIFactory.java:64)
>         at org.apache.airavata.client.AiravataAPIFactory.getAPI(AiravataAPIFactory.java:43)
>         at org.apache.airavata.client.AiravataAPIFactory.getAPI(AiravataAPIFactory.java:39)
>         at org.apache.airavata.xbaya.interpretor.WorkflowInterpretorSkeleton.getAiravataAPI(WorkflowInterpretorSkeleton.
> java:122)
>         at org.apache.airavata.xbaya.interpretor.WorkflowInterpretorSkeleton.access$200(WorkflowInterpretorSkeleton.java
> :78)
>         at org.apache.airavata.xbaya.interpretor.WorkflowInterpretorSkeleton$1.run(WorkflowInterpretorSkeleton.java:158)
> Caused by: org.apache.airavata.client.api.exception.AiravataAPIInvocationException: Error
while initializing the Airavat
> a API
>         at org.apache.airavata.client.AiravataClient.initialize(AiravataClient.java:163)
>         at org.apache.airavata.client.AiravataAPIFactory.getAPI(AiravataAPIFactory.java:61)
>         ... 5 more
> Caused by: <openjpa-2.2.0-r422266:1244990 nonfatal user error> org.apache.openjpa.persistence.ArgumentException:
An erro
> r occurred while parsing the query filter "SELECT p FROM Configuration p WHERE p.config_key
=:param0". Error message: Th
> e name "Configuration" is not a recognized entity or identifier. Known entity names:
[]
>         at org.apache.openjpa.kernel.exps.AbstractExpressionBuilder.parseException(AbstractExpressionBuilder.java:119)
>         at org.apache.openjpa.kernel.jpql.JPQLExpressionBuilder.getClassMetaData(JPQLExpressionBuilder.java:197)
>         at org.apache.openjpa.kernel.jpql.JPQLExpressionBuilder.resolveClassMetaData(JPQLExpressionBuilder.java:167)
>         at org.apache.openjpa.kernel.jpql.JPQLExpressionBuilder.getCandidateMetaData(JPQLExpressionBuilder.java:242)
>         at org.apache.openjpa.kernel.jpql.JPQLExpressionBuilder.getCandidateMetaData(JPQLExpressionBuilder.java:212)
>         at org.apache.openjpa.kernel.jpql.JPQLExpressionBuilder.getCandidateType(JPQLExpressionBuilder.java:205)
>         at org.apache.openjpa.kernel.jpql.JPQLExpressionBuilder.access$200(JPQLExpressionBuilder.java:80)
>         at org.apache.openjpa.kernel.jpql.JPQLExpressionBuilder$ParsedJPQL.populate(JPQLExpressionBuilder.java:2417)
>         at org.apache.openjpa.kernel.jpql.JPQLParser.populate(JPQLParser.java:61)
>         at org.apache.openjpa.kernel.ExpressionStoreQuery.populateFromCompilation(ExpressionStoreQuery.java:162)
>         at org.apache.openjpa.kernel.QueryImpl.newCompilation(QueryImpl.java:673)
>         at org.apache.openjpa.kernel.QueryImpl.compilationFromCache(QueryImpl.java:654)
>         at org.apache.openjpa.kernel.QueryImpl.compileForCompilation(QueryImpl.java:620)
>         at org.apache.openjpa.kernel.QueryImpl.compileForExecutor(QueryImpl.java:682)
>         at org.apache.openjpa.kernel.QueryImpl.compile(QueryImpl.java:589)
>         at org.apache.openjpa.persistence.EntityManagerImpl.createQuery(EntityManagerImpl.java:997)
>         at org.apache.openjpa.persistence.EntityManagerImpl.createQuery(EntityManagerImpl.java:979)
>         at org.apache.openjpa.persistence.EntityManagerImpl.createQuery(EntityManagerImpl.java:102)
>         at org.apache.airavata.persistance.registry.jpa.utils.QueryGenerator.generateQueryWithParameters(QueryGenerator.
> java:95)
>         at org.apache.airavata.persistance.registry.jpa.utils.QueryGenerator.selectQuery(QueryGenerator.java:64)
>         at org.apache.airavata.persistance.registry.jpa.ResourceUtils.getConfigurations(ResourceUtils.java:205)
>         at org.apache.airavata.persistance.registry.jpa.ResourceUtils.getConfiguration(ResourceUtils.java:223)
>         at org.apache.airavata.persistance.registry.jpa.impl.AiravataJPARegistry.getConfiguration(AiravataJPARegistry.ja
> va:226)
>         at org.apache.airavata.persistance.registry.jpa.impl.AiravataJPARegistry.initialize(AiravataJPARegistry.java:159
> )
>         at org.apache.airavata.registry.api.AiravataRegistryFactory.getRegistry(AiravataRegistryFactory.java:81)
>         at org.apache.airavata.client.AiravataClient.getRegistry(AiravataClient.java:216)
>         at org.apache.airavata.client.AiravataClient.createConfig(AiravataClient.java:112)
>         at org.apache.airavata.client.AiravataClient.initialize(AiravataClient.java:144)
>         ... 6 more
> Exception in thread "Thread-29" java.lang.NullPointerException
>         at org.apache.airavata.xbaya.interpretor.WorkflowInterpretorSkeleton$1.run(WorkflowInterpretorSkeleton.java:159)
> Steps to Reproduce,
> 1. Download the airavata server binary distribution and extract it. 
> 2. Start the server and you get the above error during startup.

--
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

Mime
View raw message