Hi,
I did updates 3.8.2 -> 3.9.4 -> 3.10.0. Functionally all works as expected. I am getting below exceptions several times in error_log. Guessing it had to do with some inconsistencies in caches did a clearing of all caches. But the stactraces keep on coming. Am I missing configuration or have I done something wrong?
[2024-07-16T11:42:35.089Z] [DiskCache-Store-0] WARN com.google.gerrit.server.cache.h2.H2CacheImpl : Cannot put into cache jdbc:h2:file:///var/cache/gerrit/git_modified_files [CONTEXT project="resoptima/irma" request="REST /changes/*/revisions/*/files" ]
org.h2.jdbc.JdbcSQLException: General error: "java.lang.ArrayIndexOutOfBoundsException" [50000-176]
at org.h2.message.DbException.getJdbcSQLException(DbException.java:344)
at org.h2.message.DbException.get(DbException.java:167)
at org.h2.message.DbException.convert(DbException.java:294)
at org.h2.engine.Database.openDatabase(Database.java:291)
at org.h2.engine.Database.<init>(Database.java:254)
at org.h2.engine.Engine.openSession(Engine.java:57)
at org.h2.engine.Engine.openSession(Engine.java:164)
at org.h2.engine.Engine.createSessionAndValidate(Engine.java:142)
at org.h2.engine.Engine.createSession(Engine.java:125)
at org.h2.engine.Engine.createSession(Engine.java:27)
at org.h2.engine.SessionRemote.connectEmbeddedOrServer(SessionRemote.java:331)
at org.h2.jdbc.JdbcConnection.<init>(JdbcConnection.java:107)
at org.h2.jdbc.JdbcConnection.<init>(JdbcConnection.java:91)
at org.h2.Driver.connect(Driver.java:74)
at com.google.gerrit.server.cache.h2.H2CacheImpl$SqlHandle.<init>(H2CacheImpl.java:753)
at com.google.gerrit.server.cache.h2.H2CacheImpl$SqlStore.acquire(H2CacheImpl.java:720)
at com.google.gerrit.server.cache.h2.H2CacheImpl$SqlStore.put(H2CacheImpl.java:572)
at com.google.gerrit.server.cache.h2.H2CacheImpl$Loader.lambda$load$0(H2CacheImpl.java:277)
at com.google.gerrit.server.logging.LoggingContextAwareRunnable.run(LoggingContextAwareRunnable.java:113)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)
at java.base/java.lang.Thread.run(Thread.java:1570)
Caused by: java.lang.ArrayIndexOutOfBoundsException
I am also getting:
[2024-07-16T07:46:24.196Z] [Index-Interactive-1[index-change-22210]] WARN com.google.gerrit.server.cache.h2.H2CacheImpl : Cannot build BloomFilter for jdbc:h2:file:///var/cache/gerrit/git_modified_files: General error: "java.lang.ArrayIndexOutOfBoundsException" [50000-176] [CONTEXT SUBMISSION_ID="22210-1721115981666-74d7dd9a" project="resoptima/irma" request="REST /changes/*/revisions/*/submit" ]
[2024-07-16T07:46:24.741Z] [Index-Interactive-1[index-change-22210]] WARN com.google.gerrit.server.cache.h2.H2CacheImpl : Cannot read cache jdbc:h2:file:///var/cache/gerrit/git_modified_files for GitModifiedFilesCacheKey{project=resoptima/irma, aTree=tree a449752e0d0ebb91ca48033d8c6006a09fa1ee53 -------, bTree=tree b2929339a3d49d1dc40e58460c1ca273a112c658 -------, renameScore=60} [CONTEXT SUBMISSION_ID="22210-1721115981666-74d7dd9a" project="resoptima/irma" request="REST /changes/*/revisions/*/submit" ]
org.h2.jdbc.JdbcSQLException: General error: "java.lang.ArrayIndexOutOfBoundsException" [50000-176]
at org.h2.message.DbException.getJdbcSQLException(DbException.java:344)
at org.h2.message.DbException.get(DbException.java:167)
at org.h2.message.DbException.convert(DbException.java:294)
at org.h2.engine.Database.openDatabase(Database.java:291)
at org.h2.engine.Database.<init>(Database.java:254)
at org.h2.engine.Engine.openSession(Engine.java:57)
at org.h2.engine.Engine.openSession(Engine.java:164)
at org.h2.engine.Engine.createSessionAndValidate(Engine.java:142)
at org.h2.engine.Engine.createSession(Engine.java:125)
at org.h2.engine.Engine.createSession(Engine.java:27)
at org.h2.engine.SessionRemote.connectEmbeddedOrServer(SessionRemote.java:331)
at org.h2.jdbc.JdbcConnection.<init>(JdbcConnection.java:107)
at org.h2.jdbc.JdbcConnection.<init>(JdbcConnection.java:91)
at org.h2.Driver.connect(Driver.java:74)
at com.google.gerrit.server.cache.h2.H2CacheImpl$SqlHandle.<init>(H2CacheImpl.java:753)
at com.google.gerrit.server.cache.h2.H2CacheImpl$SqlStore.acquire(H2CacheImpl.java:720)
at com.google.gerrit.server.cache.h2.H2CacheImpl$SqlStore.getIfPresent(H2CacheImpl.java:477)
at com.google.gerrit.server.cache.h2.H2CacheImpl$Loader.load(H2CacheImpl.java:269)
at com.google.gerrit.server.cache.h2.H2CacheImpl$Loader.load(H2CacheImpl.java:252)
at com.github.benmanes.caffeine.guava.CaffeinatedGuavaLoadingCache$SingleLoader.load(CaffeinatedGuavaLoadingCache.java:136)
at com.github.benmanes.caffeine.cache.LocalLoadingCache.lambda$newMappingFunction$2(LocalLoadingCache.java:141)
at com.github.benmanes.caffeine.cache.LocalCache.lambda$statsAware$0(LocalCache.java:139)
at com.github.benmanes.caffeine.cache.BoundedLocalCache.lambda$doComputeIfAbsent$14(BoundedLocalCache.java:2413)
at java.base/java.util.concurrent.ConcurrentHashMap.compute(ConcurrentHashMap.java:1957)
at com.github.benmanes.caffeine.cache.BoundedLocalCache.doComputeIfAbsent(BoundedLocalCache.java:2411)
at com.github.benmanes.caffeine.cache.BoundedLocalCache.computeIfAbsent(BoundedLocalCache.java:2394)
at com.github.benmanes.caffeine.cache.LocalCache.computeIfAbsent(LocalCache.java:108)
at com.github.benmanes.caffeine.cache.LocalLoadingCache.get(LocalLoadingCache.java:54)
at com.github.benmanes.caffeine.guava.CaffeinatedGuavaLoadingCache.get(CaffeinatedGuavaLoadingCache.java:59)
at com.google.gerrit.server.cache.h2.H2CacheImpl.get(H2CacheImpl.java:134)
at com.google.gerrit.server.patch.gitdiff.GitModifiedFilesCacheImpl.get(GitModifiedFilesCacheImpl.java:79)
at com.google.gerrit.server.patch.diff.ModifiedFilesLoader.getModifiedFiles(ModifiedFilesLoader.java:245)
at com.google.gerrit.server.patch.diff.ModifiedFilesLoader.load(ModifiedFilesLoader.java:153)
at com.google.gerrit.server.patch.diff.ModifiedFilesCacheImpl$Loader.load(ModifiedFilesCacheImpl.java:126)
at com.google.gerrit.server.patch.diff.ModifiedFilesCacheImpl$Loader.load(ModifiedFilesCacheImpl.java:104)
at com.google.gerrit.server.cache.h2.H2CacheImpl$Loader.load(H2CacheImpl.java:276)
at com.google.gerrit.server.cache.h2.H2CacheImpl$Loader.load(H2CacheImpl.java:252)
at com.github.benmanes.caffeine.guava.CaffeinatedGuavaLoadingCache$SingleLoader.load(CaffeinatedGuavaLoadingCache.java:136)
at com.github.benmanes.caffeine.cache.LocalLoadingCache.lambda$newMappingFunction$2(LocalLoadingCache.java:141)
at com.github.benmanes.caffeine.cache.LocalCache.lambda$statsAware$0(LocalCache.java:139)
at com.github.benmanes.caffeine.cache.BoundedLocalCache.lambda$doComputeIfAbsent$14(BoundedLocalCache.java:2413)
at java.base/java.util.concurrent.ConcurrentHashMap.compute(ConcurrentHashMap.java:1918)
at com.github.benmanes.caffeine.cache.BoundedLocalCache.doComputeIfAbsent(BoundedLocalCache.java:2411)
at com.github.benmanes.caffeine.cache.BoundedLocalCache.computeIfAbsent(BoundedLocalCache.java:2394)
at com.github.benmanes.caffeine.cache.LocalCache.computeIfAbsent(LocalCache.java:108)
at com.github.benmanes.caffeine.cache.LocalLoadingCache.get(LocalLoadingCache.java:54)
at com.github.benmanes.caffeine.guava.CaffeinatedGuavaLoadingCache.get(CaffeinatedGuavaLoadingCache.java:59)
at com.google.gerrit.server.cache.h2.H2CacheImpl.get(H2CacheImpl.java:134)
at com.google.gerrit.server.patch.diff.ModifiedFilesCacheImpl.get(ModifiedFilesCacheImpl.java:90)
at com.google.gerrit.server.patch.DiffOperationsImpl.getModifiedFiles(DiffOperationsImpl.java:255)
at com.google.gerrit.server.patch.DiffOperationsImpl.listModifiedFilesAgainstParent(DiffOperationsImpl.java:129)
at com.google.gerrit.server.patch.DiffSummaryLoader.call(DiffSummaryLoader.java:51)
at com.google.gerrit.server.patch.DiffSummaryLoader.call(DiffSummaryLoader.java:28)
at com.google.gerrit.server.cache.h2.H2CacheImpl.lambda$get$1(H2CacheImpl.java:173)
at com.github.benmanes.caffeine.guava.CaffeinatedGuavaCache.lambda$get$0(CaffeinatedGuavaCache.java:69)
at com.github.benmanes.caffeine.cache.LocalCache.lambda$statsAware$0(LocalCache.java:139)
at com.github.benmanes.caffeine.cache.BoundedLocalCache.lambda$doComputeIfAbsent$14(BoundedLocalCache.java:2413)
at java.base/java.util.concurrent.ConcurrentHashMap.compute(ConcurrentHashMap.java:1957)
at com.github.benmanes.caffeine.cache.BoundedLocalCache.doComputeIfAbsent(BoundedLocalCache.java:2411)
at com.github.benmanes.caffeine.cache.BoundedLocalCache.computeIfAbsent(BoundedLocalCache.java:2394)
at com.github.benmanes.caffeine.cache.LocalCache.computeIfAbsent(LocalCache.java:108)
at com.github.benmanes.caffeine.cache.LocalManualCache.get(LocalManualCache.java:62)
at com.github.benmanes.caffeine.guava.CaffeinatedGuavaCache.get(CaffeinatedGuavaCache.java:67)
at com.google.gerrit.server.cache.h2.H2CacheImpl.get(H2CacheImpl.java:162)
at com.google.gerrit.server.patch.PatchListCacheImpl.getDiffSummary(PatchListCacheImpl.java:101)
at com.google.gerrit.server.query.change.ChangeData.getDiffSummary(ChangeData.java:600)
at com.google.gerrit.server.query.change.ChangeData.computeChangedLines(ChangeData.java:609)
at com.google.gerrit.server.query.change.ChangeData.changedLines(ChangeData.java:621)
at com.google.gerrit.server.index.change.ChangeField.lambda$static$56(ChangeField.java:1204)
at com.google.gerrit.index.IndexedField.get(IndexedField.java:437)
at com.google.gerrit.index.IndexedField$SearchSpec.get(IndexedField.java:151)
at com.google.gerrit.index.Schema.fieldValues(Schema.java:273)
at com.google.gerrit.index.Schema.lambda$buildFields$0(Schema.java:306)
at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:212)
at com.google.common.collect.CollectSpliterators$1WithCharacteristics.lambda$forEachRemaining$1(CollectSpliterators.java:72)
at java.base/java.util.stream.Streams$RangeIntSpliterator.forEachRemaining(Streams.java:104)
at com.google.common.collect.CollectSpliterators$1WithCharacteristics.forEachRemaining(CollectSpliterators.java:72)
at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:556)
at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:546)
at java.base/java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:921)
at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:265)
at java.base/java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:702)
at com.google.gerrit.index.Schema.buildFields(Schema.java:308)
at com.google.gerrit.lucene.AbstractLuceneIndex.toDocument(AbstractLuceneIndex.java:343)
at com.google.gerrit.lucene.LuceneChangeIndex.replace(LuceneChangeIndex.java:218)
at com.google.gerrit.lucene.LuceneChangeIndex.replace(LuceneChangeIndex.java:104)
at com.google.gerrit.server.index.change.ChangeIndexer.indexImpl(ChangeIndexer.java:339)
at com.google.gerrit.server.index.change.ChangeIndexer.doIndex(ChangeIndexer.java:297)
at com.google.gerrit.server.index.change.ChangeIndexer$IndexTask.callImpl(ChangeIndexer.java:602)
at com.google.gerrit.server.index.change.ChangeIndexer$IndexTask.callImpl(ChangeIndexer.java:563)
at com.google.gerrit.server.index.change.ChangeIndexer$AbstractIndexTask.call(ChangeIndexer.java:551)
at com.google.common.util.concurrent.TrustedListenableFutureTask$TrustedFutureInterruptibleTask.runInterruptibly(TrustedListenableFutureTask.java:131)
at com.google.common.util.concurrent.InterruptibleTask.run(InterruptibleTask.java:76)
at com.google.common.util.concurrent.TrustedListenableFutureTask.run(TrustedListenableFutureTask.java:82)
at com.google.gerrit.server.logging.LoggingContextAwareRunnable.run(LoggingContextAwareRunnable.java:113)
at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:572)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:317)
at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304)
at com.google.gerrit.server.git.WorkQueue$Task.run(WorkQueue.java:703)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)
at java.base/java.lang.Thread.run(Thread.java:1570)
Caused by: java.lang.ArrayIndexOutOfBoundsException
Files I assume are of interest:
ll -la /var/cache/gerrit/git_modified_files.*
-rw-r--r-- 1 git git 378214400 Jul 16 12:10 /var/cache/gerrit/git_modified_files.h2.db
-rw-r--r-- 1 git git 22333453 Jul 10 07:27 /var/cache/gerrit/git_modified_files.trace.db
Any hint on what I could do?
Regards,
Åsmund