Hi all,
We're running Enterprise Prime 2.5.1 and have started getting errors in our log (dotcms.log) and strange behaviours that may be related.
1) When we flush the Contentlet cache:
[13/12/13 15:19:01:687 EST] FATAL cache.H2CacheLoader: HERE
[13/12/13 15:19:01:687 EST] FATAL cache.H2CacheLoader: FQN:/contentletcache/contentletcache2c59732e-7b75-40de-a2e2-5b8dce0a31f4
org.h2.jdbc.JdbcSQLException: General error: "java.lang.RuntimeException: rowCount expected 3586 got 0 CONTENTLETCACHE.PRIMARY_KEY_4"; SQL statement:
MERGE INTO `contentletcache` key(CACHE_KEY) VALUES (?,?) [50000-169]
at org.h2.message.DbException.getJdbcSQLException(DbException.java:329)
at org.h2.message.DbException.get(DbException.java:158)
at org.h2.message.DbException.convert(DbException.java:281)
at org.h2.table.RegularTable.removeRow(RegularTable.java:379)
[...]
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
at java.lang.Thread.run(Thread.java:662)
Caused by: java.lang.RuntimeException: rowCount expected 3586 got 0 CONTENTLETCACHE.PRIMARY_KEY_4
at org.h2.message.DbException.throwInternalError(DbException.java:228)
at org.h2.table.RegularTable.checkRowCount(RegularTable.java:169)
at org.h2.table.RegularTable.removeRow(RegularTable.java:362)
... 77 more
2) After clearing cache, when we then try to view a page on the front end (putting it into cache?):
[13/12/13 15:52:03:980 EST] FATAL cache.H2CacheLoader: HERE
[13/12/13 15:52:03:985 EST] FATAL cache.H2CacheLoader: FQN:/contentletcache/contentletcache735356e0-25ea-4f73-8235-205304b30eca
org.h2.jdbc.JdbcSQLException: General error: "java.lang.RuntimeException: rowCount expected 3586 got 5 CONTENTLETCACHE.PRIMARY_KEY_4"; SQL statement:
MERGE INTO `contentletcache` key(CACHE_KEY) VALUES (?,?) [50000-169]
at org.h2.message.DbException.getJdbcSQLException(DbException.java:329)
at org.h2.message.DbException.get(DbException.java:158)
at org.h2.message.DbException.convert(DbException.java:281)
at org.h2.table.RegularTable.removeRow(RegularTable.java:379)
[...]
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
at java.lang.Thread.run(Thread.java:662)
Caused by: java.lang.RuntimeException: rowCount expected 3586 got 5 CONTENTLETCACHE.PRIMARY_KEY_4
at org.h2.message.DbException.throwInternalError(DbException.java:228)
at org.h2.table.RegularTable.checkRowCount(RegularTable.java:169)
at org.h2.table.RegularTable.removeRow(RegularTable.java:362)
... 46 more
3) When we open the page for editing on the back end:
[13/12/13 15:58:12:175 EST] FATAL cache.H2CacheLoader: HERE
[13/12/13 15:58:12:175 EST] FATAL cache.H2CacheLoader: FQN:/velocitycache/velocitycacheworking/ba7e7c0d-b876-4b0e-a972-5d1b81dd443e_5c6e0bff-cfeb-44c6-86e2-a0ba40e7b66c.field
org.h2.jdbc.JdbcSQLException: General error: "java.lang.ArrayIndexOutOfBoundsException: -1"; SQL statement:
SELECT MAX(ID) FROM INFORMATION_SCHEMA.LOBS [50000-169]
at org.h2.message.DbException.getJdbcSQLException(DbException.java:329)
at org.h2.message.DbException.get(DbException.java:158)
at org.h2.message.DbException.convert(DbException.java:281)
at org.h2.command.Command.executeQuery(Command.java:195)
[...]
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
at java.lang.Thread.run(Thread.java:662)
Caused by: java.lang.ArrayIndexOutOfBoundsException: -1
at org.h2.index.PageDataLeaf.getNextPage(PageDataLeaf.java:392)
at org.h2.index.PageDataCursor.nextRow(PageDataCursor.java:90)
at org.h2.index.PageDataCursor.next(PageDataCursor.java:49)
at org.h2.index.PageDelegateIndex.findFirstOrLast(PageDelegateIndex.java:72)
at org.h2.expression.Aggregate.getValue(Aggregate.java:279)
at org.h2.command.dml.Select.queryQuick(Select.java:543)
at org.h2.command.dml.Select.queryWithoutCache(Select.java:608)
at org.h2.command.dml.Query.query(Query.java:307)
at org.h2.command.dml.Query.query(Query.java:277)
at org.h2.command.dml.Query.query(Query.java:36)
at org.h2.command.CommandContainer.query(CommandContainer.java:86)
at org.h2.command.Command.executeQuery(Command.java:191)
... 133 more
4) When we edit a widget on the page there are no errors, but when we save and publish:
[13/12/13 16:04:49:133 EST] FATAL cache.H2CacheLoader: HERE
[13/12/13 16:04:49:138 EST] FATAL cache.H2CacheLoader: FQN:/velocitycache/velocitycacheworking/e631e9a2-1c25-4536-94d2-a6cf7fbf04a2_5ae1ffee-6270-42fe-932a-f623615e395b.field
org.h2.jdbc.JdbcSQLException: General error: "java.lang.ArrayIndexOutOfBoundsException: -1"; SQL statement:
SELECT MAX(ID) FROM INFORMATION_SCHEMA.LOBS [50000-169]
at org.h2.message.DbException.getJdbcSQLException(DbException.java:329)
at org.h2.message.DbException.get(DbException.java:158)
at org.h2.message.DbException.convert(DbException.java:281)
at org.h2.command.Command.executeQuery(Command.java:195)
[...]
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
at java.lang.Thread.run(Thread.java:662)
Caused by: java.lang.ArrayIndexOutOfBoundsException: -1
at org.h2.index.PageDataLeaf.getNextPage(PageDataLeaf.java:392)
at org.h2.index.PageDataCursor.nextRow(PageDataCursor.java:90)
at org.h2.index.PageDataCursor.next(PageDataCursor.java:49)
at org.h2.index.PageDelegateIndex.findFirstOrLast(PageDelegateIndex.java:72)
at org.h2.expression.Aggregate.getValue(Aggregate.java:279)
at org.h2.command.dml.Select.queryQuick(Select.java:543)
at org.h2.command.dml.Select.queryWithoutCache(Select.java:608)
at org.h2.command.dml.Query.query(Query.java:307)
at org.h2.command.dml.Query.query(Query.java:277)
at org.h2.command.dml.Query.query(Query.java:36)
at org.h2.command.CommandContainer.query(CommandContainer.java:86)
at org.h2.command.Command.executeQuery(Command.java:191)
... 137 more
5) When we view the page from the front end:
[13/12/13 16:12:41:057 EST] FATAL cache.H2CacheLoader: HERE
[13/12/13 16:12:41:057 EST] FATAL cache.H2CacheLoader: FQN:/velocitycache/velocitycachelive/e631e9a2-1c25-4536-94d2-a6cf7fbf04a2_694805c6-8f07-467f-a434-0da04a93e9e5.field
org.h2.jdbc.JdbcSQLException: General error: "java.lang.ArrayIndexOutOfBoundsException: -1"; SQL statement:
SELECT MAX(ID) FROM INFORMATION_SCHEMA.LOBS [50000-169]
at org.h2.message.DbException.getJdbcSQLException(DbException.java:329)
at org.h2.message.DbException.get(DbException.java:158)
at org.h2.message.DbException.convert(DbException.java:281)
at org.h2.command.Command.executeQuery(Command.java:195)
[...]
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
at java.lang.Thread.run(Thread.java:662)
Caused by: java.lang.ArrayIndexOutOfBoundsException: -1
at org.h2.index.PageDataLeaf.getNextPage(PageDataLeaf.java:392)
at org.h2.index.PageDataCursor.nextRow(PageDataCursor.java:90)
at org.h2.index.PageDataCursor.next(PageDataCursor.java:49)
at org.h2.index.PageDelegateIndex.findFirstOrLast(PageDelegateIndex.java:72)
at org.h2.expression.Aggregate.getValue(Aggregate.java:279)
at org.h2.command.dml.Select.queryQuick(Select.java:543)
at org.h2.command.dml.Select.queryWithoutCache(Select.java:608)
at org.h2.command.dml.Query.query(Query.java:307)
at org.h2.command.dml.Query.query(Query.java:277)
at org.h2.command.dml.Query.query(Query.java:36)
at org.h2.command.CommandContainer.query(CommandContainer.java:86)
at org.h2.command.Command.executeQuery(Command.java:191)
... 158 more
as well as
13/12/13 16:12:42:033 EST] FATAL cache.H2CacheLoader: HERE
[13/12/13 16:12:42:039 EST] FATAL cache.H2CacheLoader: FQN:/contentletcache/contentletcachebe072e46-e633-4f12-a1f2-ee2d0636dcff
org.h2.jdbc.JdbcSQLException: General error: "java.lang.RuntimeException: rowCount expected 3586 got 5 CONTENTLETCACHE.PRIMARY_KEY_4"; SQL statement:
MERGE INTO `contentletcache` key(CACHE_KEY) VALUES (?,?) [50000-169]
at org.h2.message.DbException.getJdbcSQLException(DbException.java:329)
at org.h2.message.DbException.get(DbException.java:158)
at org.h2.message.DbException.convert(DbException.java:281)
at org.h2.table.RegularTable.removeRow(RegularTable.java:379)
[...]
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
at java.lang.Thread.run(Thread.java:662)
Caused by: java.lang.RuntimeException: rowCount expected 3586 got 5 CONTENTLETCACHE.PRIMARY_KEY_4
at org.h2.message.DbException.throwInternalError(DbException.java:228)
at org.h2.table.RegularTable.checkRowCount(RegularTable.java:169)
at org.h2.table.RegularTable.removeRow(RegularTable.java:362)
... 46 more
The edit we made was to change some of the Velocity code inside a foreach ($con in $dotcontent.pull()) loop--not the pull or the loop itself but the code inside it--and the pull no longer works.
Has anyone else encountered this type of issue, or can anyone provide some idea how to fix it?
Kivi Shapiro
Qualicom Innovations