[
https://issues.apache.org/jira/browse/FALCON-1716?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15106715#comment-15106715
]
pavan kumar kolamuri commented on FALCON-1716:
----------------------------------------------
In Connection Pool of JDBC, there are pool of connections min and maximum .
Whenever we made a call to DB, it will take object from that connection pool
and do db operation. There are few properties which we can configure and avoid
socketTimeout exception one of those is .
testOnBorrow: The indication of whether objects will be validated before being
borrowed from the pool. If the object fails to validate, it will be dropped
from the pool, and we will attempt to borrow another.
It was set to false because of that property which i changed in
statestore.properties. If it is set to true it will validate connection and try
to get the new connection when connection is idle for long time.
Test query is very inexpensive and oozie also doing same.
> API fails with CommunicationsException when mysql interaction time is longer
> than 53,434,939 milliseconds
> ---------------------------------------------------------------------------------------------------------
>
> Key: FALCON-1716
> URL: https://issues.apache.org/jira/browse/FALCON-1716
> Project: Falcon
> Issue Type: Bug
> Components: scheduler
> Affects Versions: 0.9
> Reporter: Pragya Mittal
> Assignee: pavan kumar kolamuri
> Attachments: FALCON-1716.patch, jdbc-timedout.log
>
>
> If mysql is not interacted for less than 53,434,939 milliseconds, the query
> fails with CommunicationsException for first few attempts after which
> connection is set. We should configure communication window for the same.
> Error is :
> {noformat}
> 2015-12-30 06:54:47,294 ERROR - [357665612@qtp-1816147548-10 -
> 8ebf22cf-4f82-4280-a248-fa3ca6048042:dataqa:GET//instance/params/process/ProcessInstanceStatusTest-agregator-coord16-50a6b241]
> ~ Failed to display params of an instance (AbstractInstanceManager:553)
> <openjpa-2.4.0-r422266:1674604 fatal general error>
> org.apache.openjpa.persistence.PersistenceException: The last packet
> successfully received from the server was 53,434,939 milliseconds ago. The
> last packet sent successfully to the server was 53,434,939 milliseconds ago.
> is longer than the server configured value of 'wait_timeout'. You should
> consider either expiring and/or testing connection validity before use in
> your application, increasing the server configured values for client
> timeouts, or using the Connector/J connection property 'autoReconnect=true'
> to avoid this problem.
> at
> org.apache.openjpa.jdbc.sql.DBDictionary.narrow(DBDictionary.java:5001)
> at
> org.apache.openjpa.jdbc.sql.DBDictionary.newStoreException(DBDictionary.java:4961)
> at
> org.apache.openjpa.jdbc.sql.SQLExceptions.getStore(SQLExceptions.java:133)
> at
> org.apache.openjpa.jdbc.sql.SQLExceptions.getStore(SQLExceptions.java:107)
> at
> org.apache.openjpa.jdbc.sql.SQLExceptions.getStore(SQLExceptions.java:59)
> at
> org.apache.openjpa.jdbc.kernel.JDBCStoreManager.connect(JDBCStoreManager.java:967)
> at
> org.apache.openjpa.jdbc.kernel.JDBCStoreManager.getConnection(JDBCStoreManager.java:241)
> at
> org.apache.openjpa.jdbc.kernel.PreparedSQLStoreQuery$PreparedSQLExecutor.executeQuery(PreparedSQLStoreQuery.java:104)
> at org.apache.openjpa.kernel.QueryImpl.execute(QueryImpl.java:1004)
> at org.apache.openjpa.kernel.QueryImpl.execute(QueryImpl.java:862)
> at org.apache.openjpa.kernel.QueryImpl.execute(QueryImpl.java:793)
> at
> org.apache.openjpa.kernel.DelegatingQuery.execute(DelegatingQuery.java:541)
> at
> org.apache.openjpa.persistence.QueryImpl.execute(QueryImpl.java:274)
> at
> org.apache.openjpa.persistence.QueryImpl.getResultList(QueryImpl.java:290)
> at
> org.apache.falcon.state.store.jdbc.JDBCStateStore.getEntityByKey(JDBCStateStore.java:95)
> at
> org.apache.falcon.state.store.jdbc.JDBCStateStore.entityExists(JDBCStateStore.java:105)
> at
> org.apache.falcon.workflow.engine.FalconWorkflowEngine.isActive(FalconWorkflowEngine.java:98)
> at
> org.apache.falcon.workflow.WorkflowEngineFactory.getWorkflowEngine(WorkflowEngineFactory.java:54)
> at
> org.apache.falcon.resource.AbstractEntityManager.getWorkflowEngine(AbstractEntityManager.java:1132)
> at
> org.apache.falcon.resource.AbstractInstanceManager.getInstanceParams(AbstractInstanceManager.java:550)
> at
> org.apache.falcon.resource.InstanceManager.getInstanceParams(InstanceManager.java:178)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:497)
> at
> com.sun.jersey.spi.container.JavaMethodInvokerFactory$1.invoke(JavaMethodInvokerFactory.java:60)
> at
> com.sun.jersey.server.impl.model.method.dispatch.AbstractResourceMethodDispatchProvider$TypeOutInvoker._dispatch(AbstractResourceMethodDispatchProvider.java:185)
> at
> com.sun.jersey.server.impl.model.method.dispatch.ResourceJavaMethodDispatcher.dispatch(ResourceJavaMethodDispatcher.java:75)
> {noformat}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)