Hi all,

I'm using H2 database and SymmetricDS to synchronize data between
several terminals:

* H2 version: 1.2.135
* Connection URL: jdbc:h2:~/path/to/
database;DB_CLOSE_DELAY=-1;CACHE_TYPE=SOFT_LRU;CIPHER=AES;LOCK_TIMEOUT=100000;MVCC=TRUE

and after an intensive stress test execution we've observed several
exceptions in one of the virtual machines I'm using for testing. It
starts showing this:

2012-02-19 17:52:08,616 ERROR (AbstractServlet.java:295) Error while
processing GET request for externalId: null, node:
90bba6e2-0e57-495b-9412-0c47819d99e5 at 10.80.18.30 (10.80.18.30)
org.springframework.jdbc.UncategorizedSQLException:
PreparedStatementCallback; uncategorized SQLException for SQL [
        update sym_data_event set batch_id = ?, batched = ? where
batched = ?
        and node_id = ? and channel_id = ?
      ]; SQL state [HY000]; error code [50000]; General error:
"java.lang.RuntimeException: Unexpected code path"; SQL statement:

        update sym_data_event set batch_id = ?, batched = ? where
batched = ?
        and node_id = ? and channel_id = ?
       [50000-135]; nested exception is org.h2.jdbc.JdbcSQLException:
General error: "java.lang.RuntimeException: Unexpected code path"; SQL
statement:

        update sym_data_event set batch_id = ?, batched = ? where
batched = ?
        and node_id = ? and channel_id = ?
       [50000-135]
        at
org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:
83)
        at
org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:
80)
        at
org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:
80)
        at
org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:
607)
        at
org.springframework.jdbc.core.JdbcTemplate.update(JdbcTemplate.java:
792)
        at
org.springframework.jdbc.core.JdbcTemplate.update(JdbcTemplate.java:
850)
        at
org.springframework.jdbc.core.JdbcTemplate.update(JdbcTemplate.java:
858)
        at
org.jumpmind.symmetric.service.impl.OutgoingBatchService.buildOutgoingBatches(OutgoingBatchService.java:
148)
        at
org.jumpmind.symmetric.service.impl.DataExtractorService.extract(DataExtractorService.java:
286)
        at
org.jumpmind.symmetric.transport.handler.PullResourceHandler.pull(PullResourceHandler.java:
59)
        at org.jumpmind.symmetric.web.PullServlet.handlePost(PullServlet.java:
66)
        at org.jumpmind.symmetric.web.PullServlet.handleGet(PullServlet.java:
49)
        at
org.jumpmind.symmetric.web.SymmetricServlet.handleGet(SymmetricServlet.java:
133)
        at
org.jumpmind.symmetric.web.AbstractServlet.doGet(AbstractServlet.java:
98)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:707)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
        at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:
502)
        at org.mortbay.jetty.servlet.ServletHandler
$CachedChain.doFilter(ServletHandler.java:1148)
        at org.jumpmind.symmetric.web.SymmetricFilter
$SymmetricFilterChain.doFilter(SymmetricFilter.java:151)
        at org.jumpmind.symmetric.web.SymmetricFilter
$SymmetricFilterChain.doFilter(SymmetricFilter.java:145)
        at
org.jumpmind.symmetric.web.compression.CompressionFilter.doFilter(CompressionFilter.java:
157)
        at
org.jumpmind.symmetric.web.CompressionFilter.doFilter(CompressionFilter.java:
73)
        at org.jumpmind.symmetric.web.SymmetricFilter
$SymmetricFilterChain.doFilter(SymmetricFilter.java:143)
        at
org.jumpmind.symmetric.web.NodeConcurrencyFilter.doFilter(NodeConcurrencyFilter.java:
74)
        at org.jumpmind.symmetric.web.SymmetricFilter
$SymmetricFilterChain.doFilter(SymmetricFilter.java:143)
        at
org.jumpmind.symmetric.web.InetAddressFilter.doFilter(InetAddressFilter.java:
89)
        at org.jumpmind.symmetric.web.SymmetricFilter
$SymmetricFilterChain.doFilter(SymmetricFilter.java:143)
        at
org.jumpmind.symmetric.web.AuthenticationFilter.doFilter(AuthenticationFilter.java:
68)
        at org.jumpmind.symmetric.web.SymmetricFilter
$SymmetricFilterChain.doFilter(SymmetricFilter.java:143)
        at
org.jumpmind.symmetric.web.SymmetricFilter.doFilter(SymmetricFilter.java:
76)
        at org.mortbay.jetty.servlet.ServletHandler
$CachedChain.doFilter(ServletHandler.java:1139)
        at
org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:
378)
        at
org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:
765)
        at
org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:
114)
        at
org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:
152)
        at org.mortbay.jetty.Server.handle(Server.java:324)
        at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:
535)
        at org.mortbay.jetty.HttpConnection
$RequestHandler.headerComplete(HttpConnection.java:865)
        at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:539)
        at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:212)
        at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)
        at
org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:
409)
        at org.mortbay.thread.QueuedThreadPool
$PoolThread.run(QueuedThreadPool.java:520)
Caused by: org.h2.jdbc.JdbcSQLException: General error:
"java.lang.RuntimeException: Unexpected code path"; SQL statement:

        update sym_data_event set batch_id = ?, batched = ? where
batched = ?
        and node_id = ? and channel_id = ?
       [50000-135]
        at org.h2.message.DbException.getJdbcSQLException(DbException.java:
327)
        at org.h2.message.DbException.get(DbException.java:156)
        at org.h2.message.DbException.convert(DbException.java:279)
        at org.h2.table.RegularTable.removeRow(RegularTable.java:349)
        at org.h2.table.Table.updateRows(Table.java:400)
        at org.h2.command.dml.Update.update(Update.java:124)
        at org.h2.command.CommandContainer.update(CommandContainer.java:70)
        at org.h2.command.Command.executeUpdate(Command.java:199)
        at
org.h2.jdbc.JdbcPreparedStatement.executeUpdateInternal(JdbcPreparedStatement.java:
141)
        at
org.h2.jdbc.JdbcPreparedStatement.executeUpdate(JdbcPreparedStatement.java:
127)
        at
org.apache.commons.dbcp.DelegatingPreparedStatement.executeUpdate(DelegatingPreparedStatement.java:
101)
        at org.springframework.jdbc.core.JdbcTemplate
$2.doInPreparedStatement(JdbcTemplate.java:798)
        at
org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:
591)
        ... 39 more
Caused by: java.lang.RuntimeException: Unexpected code path
        at org.h2.message.DbException.throwInternalError(DbException.java:
226)
        at org.h2.message.DbException.throwInternalError(DbException.java:
239)
        at org.h2.index.PageBtreeNode.addChild(PageBtreeNode.java:157)
        at org.h2.index.PageBtreeNode.remove(PageBtreeNode.java:356)
        at org.h2.index.PageBtreeNode.remove(PageBtreeNode.java:323)
        at org.h2.index.PageBtreeNode.remove(PageBtreeNode.java:323)
        at org.h2.index.PageBtreeIndex.remove(PageBtreeIndex.java:231)
        at org.h2.index.MultiVersionIndex.remove(MultiVersionIndex.java:148)
        at org.h2.table.RegularTable.removeRow(RegularTable.java:331)

after that exception, the database is already working fine, but, new
exceptions appear:

2012-02-19 17:53:51,065 INFO  (PullService.java:70) Pull data received
for ServerPollbook:00000:00000
2012-02-19 17:54:52,796 ERROR (AbstractServlet.java:295) Error while
processing GET request for externalId: null, node:
90bba6e2-0e57-495b-9412-0c47819d99e5 at 10.80.18.30 (10.80.18.30)
org.springframework.dao.CannotAcquireLockException:
PreparedStatementCallback; SQL [
        update sym_data_event set batch_id = ?, batched = ? where
batched = ?
        and node_id = ? and channel_id = ?
      ]; Timeout trying to lock table ; SQL statement:

        update sym_data_event set batch_id = ?, batched = ? where
batched = ?
        and node_id = ? and channel_id = ?
       [50200-135]; nested exception is org.h2.jdbc.JdbcSQLException:
Timeout trying to lock table ; SQL statement:

        update sym_data_event set batch_id = ?, batched = ? where
batched = ?
        and node_id = ? and channel_id = ?
       [50200-135]
        at
org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:
244)
        at
org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:
72)
        at
org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:
607)
        at
org.springframework.jdbc.core.JdbcTemplate.update(JdbcTemplate.java:
792)
        at
org.springframework.jdbc.core.JdbcTemplate.update(JdbcTemplate.java:
850)
        at
org.springframework.jdbc.core.JdbcTemplate.update(JdbcTemplate.java:
858)
        at
org.jumpmind.symmetric.service.impl.OutgoingBatchService.buildOutgoingBatches(OutgoingBatchService.java:
148)
        at
org.jumpmind.symmetric.service.impl.DataExtractorService.extract(DataExtractorService.java:
286)
        at
org.jumpmind.symmetric.transport.handler.PullResourceHandler.pull(PullResourceHandler.java:
59)
        at org.jumpmind.symmetric.web.PullServlet.handlePost(PullServlet.java:
66)
        at org.jumpmind.symmetric.web.PullServlet.handleGet(PullServlet.java:
49)
        at
org.jumpmind.symmetric.web.SymmetricServlet.handleGet(SymmetricServlet.java:
133)
        at
org.jumpmind.symmetric.web.AbstractServlet.doGet(AbstractServlet.java:
98)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:707)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
        at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:
502)
        at org.mortbay.jetty.servlet.ServletHandler
$CachedChain.doFilter(ServletHandler.java:1148)
        at org.jumpmind.symmetric.web.SymmetricFilter
$SymmetricFilterChain.doFilter(SymmetricFilter.java:151)
        at org.jumpmind.symmetric.web.SymmetricFilter
$SymmetricFilterChain.doFilter(SymmetricFilter.java:145)
        at
org.jumpmind.symmetric.web.compression.CompressionFilter.doFilter(CompressionFilter.java:
157)
        at
org.jumpmind.symmetric.web.CompressionFilter.doFilter(CompressionFilter.java:
73)
        at org.jumpmind.symmetric.web.SymmetricFilter
$SymmetricFilterChain.doFilter(SymmetricFilter.java:143)
        at
org.jumpmind.symmetric.web.NodeConcurrencyFilter.doFilter(NodeConcurrencyFilter.java:
74)
        at org.jumpmind.symmetric.web.SymmetricFilter
$SymmetricFilterChain.doFilter(SymmetricFilter.java:143)
        at
org.jumpmind.symmetric.web.InetAddressFilter.doFilter(InetAddressFilter.java:
89)
        at org.jumpmind.symmetric.web.SymmetricFilter
$SymmetricFilterChain.doFilter(SymmetricFilter.java:143)
        at
org.jumpmind.symmetric.web.AuthenticationFilter.doFilter(AuthenticationFilter.java:
68)
        at org.jumpmind.symmetric.web.SymmetricFilter
$SymmetricFilterChain.doFilter(SymmetricFilter.java:143)
        at
org.jumpmind.symmetric.web.SymmetricFilter.doFilter(SymmetricFilter.java:
76)
        at org.mortbay.jetty.servlet.ServletHandler
$CachedChain.doFilter(ServletHandler.java:1139)
        at
org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:
378)
        at
org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:
765)
        at
org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:
114)
        at
org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:
152)
        at org.mortbay.jetty.Server.handle(Server.java:324)
        at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:
535)
        at org.mortbay.jetty.HttpConnection
$RequestHandler.headerComplete(HttpConnection.java:865)
        at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:539)
        at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:212)
        at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)
        at
org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:
409)
        at org.mortbay.thread.QueuedThreadPool
$PoolThread.run(QueuedThreadPool.java:520)
Caused by: org.h2.jdbc.JdbcSQLException: Timeout trying to lock
table ; SQL statement:

        update sym_data_event set batch_id = ?, batched = ? where
batched = ?
        and node_id = ? and channel_id = ?
       [50200-135]
        at org.h2.message.DbException.getJdbcSQLException(DbException.java:
327)
        at org.h2.message.DbException.get(DbException.java:156)
        at org.h2.command.Command.executeUpdate(Command.java:204)
        at
org.h2.jdbc.JdbcPreparedStatement.executeUpdateInternal(JdbcPreparedStatement.java:
141)
        at
org.h2.jdbc.JdbcPreparedStatement.executeUpdate(JdbcPreparedStatement.java:
127)
        at
org.apache.commons.dbcp.DelegatingPreparedStatement.executeUpdate(DelegatingPreparedStatement.java:
101)
        at org.springframework.jdbc.core.JdbcTemplate
$2.doInPreparedStatement(JdbcTemplate.java:798)
        at
org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:
591)
        ... 39 more
Caused by: org.h2.jdbc.JdbcSQLException: Concurrent update in table
"SYM_DATA_EVENT": another transaction has updated or deleted the same
row [90131-135]
        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.table.RegularTable.removeRow(RegularTable.java:323)
        at org.h2.table.Table.updateRows(Table.java:400)
        at org.h2.command.dml.Update.update(Update.java:124)
        at org.h2.command.CommandContainer.update(CommandContainer.java:70)
        at org.h2.command.Command.executeUpdate(Command.java:199)
        ... 44 more

and finally, we got the one that worries me must:

2012-02-19 18:04:11,685 ERROR (AbstractServlet.java:295) Error while
processing GET request for externalId: null, node:
90bba6e2-0e57-495b-9412-0c47819d99e5 at 10.80.18.30 (10.80.18.30)
org.springframework.jdbc.UncategorizedSQLException:
PreparedStatementCallback; uncategorized SQLException for SQL [
        update sym_data_event set batch_id = ?, batched = ? where
batched = ?
        and node_id = ? and channel_id = ?
      ]; SQL state [90112]; error code [90112]; Row not found when
trying to delete from index "PUBLIC.PRIMARY_KEY_6: ( /* key:2095235 */
116836, '90bba6e2-0e57-495b-9412-0c47819d99e5', 'BallotBoxChannel',
'528-5232-13', NULL, 0)"; SQL statement:

        update sym_data_event set batch_id = ?, batched = ? where
batched = ?
        and node_id = ? and channel_id = ?
       [90112-135]; nested exception is org.h2.jdbc.JdbcSQLException:
Row not found when trying to delete from index "PUBLIC.PRIMARY_KEY_6:
( /* key:2095235 */ 116836, '90bba6e2-0e57-495b-9412-0c47819d99e5',
'BallotBoxChannel', '528-5232-13', NULL, 0)"; SQL statement:

        update sym_data_event set batch_id = ?, batched = ? where
batched = ?
        and node_id = ? and channel_id = ?
       [90112-135]
        at
org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:
83)
        at
org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:
80)
        at
org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:
80)
        at
org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:
607)
        at
org.springframework.jdbc.core.JdbcTemplate.update(JdbcTemplate.java:
792)
        at
org.springframework.jdbc.core.JdbcTemplate.update(JdbcTemplate.java:
850)
        at
org.springframework.jdbc.core.JdbcTemplate.update(JdbcTemplate.java:
858)
        at
org.jumpmind.symmetric.service.impl.OutgoingBatchService.buildOutgoingBatches(OutgoingBatchService.java:
148)
        at
org.jumpmind.symmetric.service.impl.DataExtractorService.extract(DataExtractorService.java:
286)
        at
org.jumpmind.symmetric.transport.handler.PullResourceHandler.pull(PullResourceHandler.java:
59)
        at org.jumpmind.symmetric.web.PullServlet.handlePost(PullServlet.java:
66)
        at org.jumpmind.symmetric.web.PullServlet.handleGet(PullServlet.java:
49)
        at
org.jumpmind.symmetric.web.SymmetricServlet.handleGet(SymmetricServlet.java:
133)
        at
org.jumpmind.symmetric.web.AbstractServlet.doGet(AbstractServlet.java:
98)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:707)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
        at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:
502)
        at org.mortbay.jetty.servlet.ServletHandler
$CachedChain.doFilter(ServletHandler.java:1148)
        at org.jumpmind.symmetric.web.SymmetricFilter
$SymmetricFilterChain.doFilter(SymmetricFilter.java:151)
        at org.jumpmind.symmetric.web.SymmetricFilter
$SymmetricFilterChain.doFilter(SymmetricFilter.java:145)
        at
org.jumpmind.symmetric.web.compression.CompressionFilter.doFilter(CompressionFilter.java:
157)
        at
org.jumpmind.symmetric.web.CompressionFilter.doFilter(CompressionFilter.java:
73)
        at org.jumpmind.symmetric.web.SymmetricFilter
$SymmetricFilterChain.doFilter(SymmetricFilter.java:143)
        at
org.jumpmind.symmetric.web.NodeConcurrencyFilter.doFilter(NodeConcurrencyFilter.java:
74)
        at org.jumpmind.symmetric.web.SymmetricFilter
$SymmetricFilterChain.doFilter(SymmetricFilter.java:143)
        at
org.jumpmind.symmetric.web.InetAddressFilter.doFilter(InetAddressFilter.java:
89)
        at org.jumpmind.symmetric.web.SymmetricFilter
$SymmetricFilterChain.doFilter(SymmetricFilter.java:143)
        at
org.jumpmind.symmetric.web.AuthenticationFilter.doFilter(AuthenticationFilter.java:
68)
        at org.jumpmind.symmetric.web.SymmetricFilter
$SymmetricFilterChain.doFilter(SymmetricFilter.java:143)
        at
org.jumpmind.symmetric.web.SymmetricFilter.doFilter(SymmetricFilter.java:
76)
        at org.mortbay.jetty.servlet.ServletHandler
$CachedChain.doFilter(ServletHandler.java:1139)
        at
org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:
378)
        at
org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:
765)
        at
org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:
114)
        at
org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:
152)
        at org.mortbay.jetty.Server.handle(Server.java:324)
        at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:
535)
        at org.mortbay.jetty.HttpConnection
$RequestHandler.headerComplete(HttpConnection.java:865)
        at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:539)
        at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:212)
        at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)
        at
org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:
409)
        at org.mortbay.thread.QueuedThreadPool
$PoolThread.run(QueuedThreadPool.java:520)
Caused by: org.h2.jdbc.JdbcSQLException: Row not found when trying to
delete from index "PUBLIC.PRIMARY_KEY_6: ( /* key:2095235 */ 116836,
'90bba6e2-0e57-495b-9412-0c47819d99e5', 'BallotBoxChannel',
'528-5232-13', NULL, 0)"; SQL statement:

        update sym_data_event set batch_id = ?, batched = ? where
batched = ?
        and node_id = ? and channel_id = ?
       [90112-135]
        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.index.PageBtreeLeaf.remove(PageBtreeLeaf.java:208)
        at org.h2.index.PageBtreeNode.remove(PageBtreeNode.java:323)
        at org.h2.index.PageBtreeNode.remove(PageBtreeNode.java:323)
        at org.h2.index.PageBtreeNode.remove(PageBtreeNode.java:323)
        at org.h2.index.PageBtreeIndex.remove(PageBtreeIndex.java:231)
        at org.h2.index.MultiVersionIndex.remove(MultiVersionIndex.java:148)
        at org.h2.table.RegularTable.removeRow(RegularTable.java:331)
        at org.h2.table.Table.updateRows(Table.java:400)
        at org.h2.command.dml.Update.update(Update.java:124)
        at org.h2.command.CommandContainer.update(CommandContainer.java:70)
        at org.h2.command.Command.executeUpdate(Command.java:199)
        at
org.h2.jdbc.JdbcPreparedStatement.executeUpdateInternal(JdbcPreparedStatement.java:
141)
        at
org.h2.jdbc.JdbcPreparedStatement.executeUpdate(JdbcPreparedStatement.java:
127)
        at
org.apache.commons.dbcp.DelegatingPreparedStatement.executeUpdate(DelegatingPreparedStatement.java:
101)
        at org.springframework.jdbc.core.JdbcTemplate
$2.doInPreparedStatement(JdbcTemplate.java:798)
        at
org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:
591)
        ... 39 more

it looks like, after the first error, the database data and its index
are out of sync. After those errors the database performance falls to
hardly usable. In the other hand, another machine shows this
exception:

2012-02-20 13:37:01,844 INFO  (PurgeService.java:90) The outgoing
purge process has completed.
2012-02-20 13:37:01,953 ERROR (PurgeService.java:96)
org.springframework.jdbc.UncategorizedSQLException:
PreparedStatementCallback; uncategorized SQLException for SQL [
        delete from sym_data_event where batch_id not in (select
batch_id from
        sym_outgoing_batch where batch_id between ? and ? and status !
= 'OK') and
        batched = 1 and batch_id between ? and ?
      ]; SQL state [90051]; error code [90051]; Statement was canceled
or the session timed out; SQL statement:

        delete from sym_data_event where batch_id not in (select
batch_id from
        sym_outgoing_batch where batch_id between ? and ? and status !
= 'OK') and
        batched = 1 and batch_id between ? and ?
       [90051-135]; nested exception is org.h2.jdbc.JdbcSQLException:
Statement was canceled or the session timed out; SQL statement:

        delete from sym_data_event where batch_id not in (select
batch_id from
        sym_outgoing_batch where batch_id between ? and ? and status !
= 'OK') and
        batched = 1 and batch_id between ? and ?
       [90051-135]
org.springframework.jdbc.UncategorizedSQLException:
PreparedStatementCallback; uncategorized SQLException for SQL [
        delete from sym_data_event where batch_id not in (select
batch_id from
        sym_outgoing_batch where batch_id between ? and ? and status !
= 'OK') and
        batched = 1 and batch_id between ? and ?
      ]; SQL state [90051]; error code [90051]; Statement was canceled
or the session timed out; SQL statement:

        delete from sym_data_event where batch_id not in (select
batch_id from
        sym_outgoing_batch where batch_id between ? and ? and status !
= 'OK') and
        batched = 1 and batch_id between ? and ?
       [90051-135]; nested exception is org.h2.jdbc.JdbcSQLException:
Statement was canceled or the session timed out; SQL statement:

        delete from sym_data_event where batch_id not in (select
batch_id from
        sym_outgoing_batch where batch_id between ? and ? and status !
= 'OK') and
        batched = 1 and batch_id between ? and ?
       [90051-135]
        at
org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:
83)
        at
org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:
80)
        at
org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:
80)
        at
org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:
607)
        at
org.springframework.jdbc.core.JdbcTemplate.update(JdbcTemplate.java:
792)
        at
org.springframework.jdbc.core.JdbcTemplate.update(JdbcTemplate.java:
850)
        at
org.springframework.jdbc.core.JdbcTemplate.update(JdbcTemplate.java:
858)
        at
org.jumpmind.symmetric.service.impl.PurgeService.purgeByMinMax(PurgeService.java:
150)
        at
org.jumpmind.symmetric.service.impl.PurgeService.purgeOutgoingBatch(PurgeService.java:
107)
        at
org.jumpmind.symmetric.service.impl.PurgeService.purgeOutgoing(PurgeService.java:
86)
        at
org.jumpmind.symmetric.service.impl.PurgeService.purge(PurgeService.java:
51)
        at org.jumpmind.symmetric.job.PurgeJob.doJob(PurgeJob.java:38)
        at org.jumpmind.symmetric.job.AbstractJob.run(AbstractJob.java:83)
        at java.util.TimerThread.mainLoop(Unknown Source)
        at java.util.TimerThread.run(Unknown Source)
Caused by: org.h2.jdbc.JdbcSQLException: Statement was canceled or the
session timed out; SQL statement:

        delete from sym_data_event where batch_id not in (select
batch_id from
        sym_outgoing_batch where batch_id between ? and ? and status !
= 'OK') and
        batched = 1 and batch_id between ? and ?
       [90051-135]
        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.engine.Session.checkCanceled(Session.java:870)
        at org.h2.command.Prepared.checkCanceled(Prepared.java:265)
        at org.h2.command.dml.Delete.update(Delete.java:70)
        at org.h2.command.CommandContainer.update(CommandContainer.java:70)
        at org.h2.command.Command.executeUpdate(Command.java:199)
        at
org.h2.jdbc.JdbcPreparedStatement.executeUpdateInternal(JdbcPreparedStatement.java:
141)
        at
org.h2.jdbc.JdbcPreparedStatement.executeUpdate(JdbcPreparedStatement.java:
127)
        at
org.apache.commons.dbcp.DelegatingPreparedStatement.executeUpdate(DelegatingPreparedStatement.java:
101)
        at org.springframework.jdbc.core.JdbcTemplate
$2.doInPreparedStatement(JdbcTemplate.java:798)
        at
org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:
591)
        ... 11 more
2012-02-20 13:37:02,172 INFO  (PurgeService.java:165) The incoming
purge process is about to run.

but it doesn't affect to the database consistency or performance.

What could I do to prevent these errors (I can't set MVCC to false,
I'm using database encryption and my application is running on
netbooks, so, when I remove MVCC the netbooks are close to not
responding to user interface actions at all)?. Thanks in advance.

-- 
You received this message because you are subscribed to the Google Groups "H2 
Database" group.
To post to this group, send email to h2-database@googlegroups.com.
To unsubscribe from this group, send email to 
h2-database+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/h2-database?hl=en.

Reply via email to