Hi Pumudu,

This occurs when MB tries to access the H2 database even after the database
is closed. If the database url does have the property mentioned in the
error (";DB_CLOSE_ON_EXIT=FALSE") then we have the check the flow and see
if MB somehow tries to access the database after database close is called.

Thanks,
Akalanka.

On Mon, Jul 13, 2015 at 9:01 AM, Pumudu Ruhunage <pum...@wso2.com> wrote:

> Hi,
>
> I observed following sql exception[1] when starts MB in h2 in-memory mode.
> Following are the steps followed.
> 1. Start MB node in in-memory mode.
> 2. gracefully shutdown the server.
>
> Following exception[1] will appear. Even this exception appears server
> shuts down without hanging.
> Did anyone face this before?
>
> [1]
> WARN {org.wso2.andes.store.rdbms.RDBMSAndesContextStoreImpl} -  Rollback
> failed on removing node information node id: NODElocalhost/127.0.0.1
>
> org.h2.jdbc.JdbcSQLException: Database is already closed (to disable
> automatic closing at VM shutdown, add ";DB_CLOSE_ON_EXIT=FALSE" to the db
> URL) [90121-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.message.DbException.get(DbException.java:133)
>
> at org.h2.jdbc.JdbcConnection.checkClosed(JdbcConnection.java:1348)
>
> at org.h2.jdbc.JdbcConnection.checkClosedForWrite(JdbcConnection.java:1333)
>
> at org.h2.jdbc.JdbcConnection.rollback(JdbcConnection.java:435)
>
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>
> at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>
> at java.lang.reflect.Method.invoke(Method.java:606)
>
> at
> org.apache.tomcat.jdbc.pool.ProxyConnection.invoke(ProxyConnection.java:126)
>
> at
> org.apache.tomcat.jdbc.pool.JdbcInterceptor.invoke(JdbcInterceptor.java:109)
>
> at
> org.wso2.carbon.ndatasource.rdbms.ConnectionRollbackOnReturnInterceptor.invoke(ConnectionRollbackOnReturnInterceptor.java:51)
>
> at
> org.apache.tomcat.jdbc.pool.JdbcInterceptor.invoke(JdbcInterceptor.java:109)
>
> at
> org.apache.tomcat.jdbc.pool.interceptor.AbstractCreateStatementInterceptor.invoke(AbstractCreateStatementInterceptor.java:71)
>
> at
> org.apache.tomcat.jdbc.pool.JdbcInterceptor.invoke(JdbcInterceptor.java:109)
>
> at
> org.apache.tomcat.jdbc.pool.interceptor.ConnectionState.invoke(ConnectionState.java:153)
>
> at
> org.apache.tomcat.jdbc.pool.JdbcInterceptor.invoke(JdbcInterceptor.java:109)
>
> at org.apache.tomcat.jdbc.pool.TrapException.invoke(TrapException.java:41)
>
> at
> org.apache.tomcat.jdbc.pool.JdbcInterceptor.invoke(JdbcInterceptor.java:109)
>
> at
> org.apache.tomcat.jdbc.pool.DisposableConnectionFacade.invoke(DisposableConnectionFacade.java:80)
>
> at com.sun.proxy.$Proxy15.rollback(Unknown Source)
>
> at
> org.wso2.andes.store.rdbms.RDBMSAndesContextStoreImpl.rollback(RDBMSAndesContextStoreImpl.java:947)
>
> at
> org.wso2.andes.store.rdbms.RDBMSAndesContextStoreImpl.removeNodeData(RDBMSAndesContextStoreImpl.java:323)
>
> at
> org.wso2.andes.store.FailureObservingAndesContextStore.removeNodeData(FailureObservingAndesContextStore.java:168)
>
> at
> org.wso2.andes.server.cluster.ClusterManager.clearAllPersistedStatesOfDisappearedNode(ClusterManager.java:270)
>
> at
> org.wso2.andes.server.cluster.ClusterManager.shutDownMyNode(ClusterManager.java:170)
>
> at
> org.wso2.andes.kernel.disruptor.inbound.InboundKernelOpsEvent.gracefulShutdown(InboundKernelOpsEvent.java:235)
>
> at org.wso2.andes.kernel.Andes.shutDown(Andes.java:263)
>
> at
> org.wso2.andes.kernel.AndesKernelBoot.shutDownAndesKernel(AndesKernelBoot.java:311)
>
> at
> org.wso2.carbon.andes.internal.QpidServiceComponent$1.startingShutdown(QpidServiceComponent.java:170)
>
> at
> org.wso2.carbon.core.ServerManagement.waitForServerTaskCompletion(ServerManagement.java:113)
>
> at
> org.wso2.carbon.core.ServerManagement.startMaintenanceForShutDown(ServerManagement.java:97)
>
> at
> org.wso2.carbon.core.init.CarbonServerManager.shutdownGracefully(CarbonServerManager.java:878)
>
> at
> org.wso2.carbon.core.init.CarbonServerManager$4.run(CarbonServerManager.java:901)
>
> [2015-07-13 17:54:03,604] ERROR
> {org.wso2.carbon.andes.internal.QpidServiceComponent} -  Error while
> shutting down Andes kernel.
>
> org.wso2.andes.kernel.AndesException: Error occurred while removing node
> information node id: NODElocalhost/127.0.0.1
>
> at
> org.wso2.andes.store.rdbms.RDBMSStoreUtils.convertSQLException(RDBMSStoreUtils.java:117)
>
> at
> org.wso2.andes.store.rdbms.RDBMSAndesContextStoreImpl.removeNodeData(RDBMSAndesContextStoreImpl.java:324)
>
> at
> org.wso2.andes.store.FailureObservingAndesContextStore.removeNodeData(FailureObservingAndesContextStore.java:168)
>
> at
> org.wso2.andes.server.cluster.ClusterManager.clearAllPersistedStatesOfDisappearedNode(ClusterManager.java:270)
>
> at
> org.wso2.andes.server.cluster.ClusterManager.shutDownMyNode(ClusterManager.java:170)
>
> at
> org.wso2.andes.kernel.disruptor.inbound.InboundKernelOpsEvent.gracefulShutdown(InboundKernelOpsEvent.java:235)
>
> at org.wso2.andes.kernel.Andes.shutDown(Andes.java:263)
>
> at
> org.wso2.andes.kernel.AndesKernelBoot.shutDownAndesKernel(AndesKernelBoot.java:311)
>
> at
> org.wso2.carbon.andes.internal.QpidServiceComponent$1.startingShutdown(QpidServiceComponent.java:170)
>
> at
> org.wso2.carbon.core.ServerManagement.waitForServerTaskCompletion(ServerManagement.java:113)
>
> at
> org.wso2.carbon.core.ServerManagement.startMaintenanceForShutDown(ServerManagement.java:97)
>
> at
> org.wso2.carbon.core.init.CarbonServerManager.shutdownGracefully(CarbonServerManager.java:878)
>
> at
> org.wso2.carbon.core.init.CarbonServerManager$4.run(CarbonServerManager.java:901)
>
> Caused by: org.h2.jdbc.JdbcSQLException: Database is already closed (to
> disable automatic closing at VM shutdown, add ";DB_CLOSE_ON_EXIT=FALSE" to
> the db URL) [90121-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.message.DbException.get(DbException.java:133)
>
> at org.h2.jdbc.JdbcConnection.checkClosed(JdbcConnection.java:1348)
>
> at org.h2.jdbc.JdbcConnection.checkClosed(JdbcConnection.java:1323)
>
> at org.h2.jdbc.JdbcConnection.setAutoCommit(JdbcConnection.java:364)
>
> at sun.reflect.GeneratedMethodAccessor27.invoke(Unknown Source)
>
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>
> at java.lang.reflect.Method.invoke(Method.java:606)
>
> at
> org.apache.tomcat.jdbc.pool.ProxyConnection.invoke(ProxyConnection.java:126)
>
> at
> org.apache.tomcat.jdbc.pool.JdbcInterceptor.invoke(JdbcInterceptor.java:109)
>
> at
> org.wso2.carbon.ndatasource.rdbms.ConnectionRollbackOnReturnInterceptor.invoke(ConnectionRollbackOnReturnInterceptor.java:51)
>
> at
> org.apache.tomcat.jdbc.pool.JdbcInterceptor.invoke(JdbcInterceptor.java:109)
>
> at
> org.apache.tomcat.jdbc.pool.interceptor.AbstractCreateStatementInterceptor.invoke(AbstractCreateStatementInterceptor.java:71)
>
> at
> org.apache.tomcat.jdbc.pool.JdbcInterceptor.invoke(JdbcInterceptor.java:109)
>
> at
> org.apache.tomcat.jdbc.pool.interceptor.ConnectionState.invoke(ConnectionState.java:153)
>
> at
> org.apache.tomcat.jdbc.pool.JdbcInterceptor.invoke(JdbcInterceptor.java:109)
>
> at org.apache.tomcat.jdbc.pool.TrapException.invoke(TrapException.java:41)
>
> at
> org.apache.tomcat.jdbc.pool.JdbcInterceptor.invoke(JdbcInterceptor.java:109)
>
> at
> org.apache.tomcat.jdbc.pool.DisposableConnectionFacade.invoke(DisposableConnectionFacade.java:80)
>
> at com.sun.proxy.$Proxy15.setAutoCommit(Unknown Source)
>
> at
> org.wso2.andes.store.rdbms.RDBMSAndesContextStoreImpl.removeNodeData(RDBMSAndesContextStoreImpl.java:314)
>
> ... 11 more
>
>
> Regards,
> --
> Pumudu Ruhunage
> Associate Software Engineer | WSO2 Inc
> M: +94 779 664493  | http://wso2.com
>



-- 
*Darshana Akalanka Pagoda Arachchi,*
*Software Engineer*
*078-4721791*
_______________________________________________
Dev mailing list
Dev@wso2.org
http://wso2.org/cgi-bin/mailman/listinfo/dev

Reply via email to