Description
At time following logs warning is seen. This would come due to the currently handling of empty ConsolidatedDiff. It leads to an empty string entry in persisted cache during serialization which is not handled properly during deserialization. Post this warning CONSOLIDATED_DIFF map is reopened.
After that lots of warning logs are seen related to error occurring while fetching from persistent cache.
tmueller Mentioned that its very important that serialization and deserialization code should work properly and not throw exception otherwise it would lead to issues with persistent cache and it would have to be opened fresh.
10.04.2015 00:51:35.893 *WARN* [pool-6-thread-5] org.apache.jackrabbit.oak.plugins.document.persistentCache.CacheMap Re-opening map CONSOLIDATED_DIFF java.lang.IllegalArgumentException: Chunk [] is not a valid entry at com.google.common.base.Preconditions.checkArgument(Preconditions.java:120) at com.google.common.base.Splitter$MapSplitter.split(Splitter.java:508) at org.apache.jackrabbit.oak.plugins.document.LocalDiffCache$ConsolidatedDiff.fromString(LocalDiffCache.java:120) at org.apache.jackrabbit.oak.plugins.document.persistentCache.CacheType$4.valueFromString(CacheType.java:129) at org.apache.jackrabbit.oak.plugins.document.persistentCache.ValueDataType.read(ValueDataType.java:61) at org.apache.jackrabbit.oak.plugins.document.persistentCache.ValueDataType.read(ValueDataType.java:74) at org.h2.mvstore.Page.read(Page.java:702) at org.h2.mvstore.Page.read(Page.java:194) at org.h2.mvstore.MVStore.readPage(MVStore.java:1830) at org.h2.mvstore.MVMap.readPage(MVMap.java:736) at org.h2.mvstore.Page.getChildPage(Page.java:216) at org.h2.mvstore.MVMap.put(MVMap.java:195) at org.h2.mvstore.MVMap.put(MVMap.java:206) at org.h2.mvstore.MVMap.put(MVMap.java:121) at org.apache.jackrabbit.oak.plugins.document.persistentCache.CacheMap.put(CacheMap.java:74) at org.apache.jackrabbit.oak.plugins.document.persistentCache.MultiGenerationMap.put(MultiGenerationMap.java:47) at org.apache.jackrabbit.oak.plugins.document.persistentCache.NodeCache.write(NodeCache.java:89) at org.apache.jackrabbit.oak.plugins.document.persistentCache.NodeCache.put(NodeCache.java:130) at org.apache.jackrabbit.oak.plugins.document.LocalDiffCache$1.done(LocalDiffCache.java:92) at org.apache.jackrabbit.oak.plugins.document.Commit.applyToCache(Commit.java:597) at org.apache.jackrabbit.oak.plugins.document.CommitQueue.afterTrunkCommit(CommitQueue.java:127) at org.apache.jackrabbit.oak.plugins.document.CommitQueue.done(CommitQueue.java:83) at org.apache.jackrabbit.oak.plugins.document.DocumentNodeStore.done(DocumentNodeStore.java:596) at org.apache.jackrabbit.oak.plugins.document.DocumentNodeStoreBranch.persist(DocumentNodeStoreBranch.java:315) at org.apache.jackrabbit.oak.plugins.document.DocumentNodeStoreBranch.persist(DocumentNodeStoreBranch.java:281) at org.apache.jackrabbit.oak.plugins.document.DocumentNodeStoreBranch.access$200(DocumentNodeStoreBranch.java:52) at org.apache.jackrabbit.oak.plugins.document.DocumentNodeStoreBranch$InMemory.merge(DocumentNodeStoreBranch.java:520) at org.apache.jackrabbit.oak.plugins.document.DocumentNodeStoreBranch.merge0(DocumentNodeStoreBranch.java:234) at org.apache.jackrabbit.oak.plugins.document.DocumentNodeStoreBranch.merge(DocumentNodeStoreBranch.java:174) at org.apache.jackrabbit.oak.plugins.document.DocumentRootBuilder.merge(DocumentRootBuilder.java:159) at org.apache.jackrabbit.oak.plugins.document.DocumentNodeStore.merge(DocumentNodeStore.java:1416) at org.apache.jackrabbit.oak.core.MutableRoot.commit(MutableRoot.java:245) at org.apache.jackrabbit.oak.jcr.delegate.SessionDelegate.commit(SessionDelegate.java:313) at org.apache.jackrabbit.oak.jcr.delegate.SessionDelegate.save(SessionDelegate.java:459) at org.apache.jackrabbit.oak.jcr.session.SessionImpl$8.perform(SessionImpl.java:429) at org.apache.jackrabbit.oak.jcr.session.SessionImpl$8.perform(SessionImpl.java:426) at org.apache.jackrabbit.oak.jcr.delegate.SessionDelegate.perform(SessionDelegate.java:216) at org.apache.jackrabbit.oak.jcr.session.SessionImpl.perform(SessionImpl.java:139) at org.apache.jackrabbit.oak.jcr.session.SessionImpl.save(SessionImpl.java:426) at sun.reflect.GeneratedMethodAccessor23.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at org.apache.sling.jcr.base.SessionProxyHandler$SessionProxyInvocationHandler.invoke(SessionProxyHandler.java:113) at com.sun.proxy.$Proxy8.save(Unknown Source) at org.apache.sling.jcr.resource.internal.helper.jcr.JcrResourceProvider.commit(JcrResourceProvider.java:636) at org.apache.sling.resourceresolver.impl.helper.ResourceResolverContext.commit(ResourceResolverContext.java:181) at org.apache.sling.resourceresolver.impl.ResourceResolverImpl.commit(ResourceResolverImpl.java:1147) at org.apache.sling.discovery.impl.common.heartbeat.HeartbeatHandler.issueClusterLocalHeartbeat(HeartbeatHandler.java:389) at org.apache.sling.discovery.impl.common.heartbeat.HeartbeatHandler.issueHeartbeat(HeartbeatHandler.java:262) at org.apache.sling.discovery.impl.common.heartbeat.HeartbeatHandler.run(HeartbeatHandler.java:213) at org.apache.sling.commons.scheduler.impl.QuartzJobExecutor.execute(QuartzJobExecutor.java:105) at org.quartz.core.JobRunShell.run(JobRunShell.java:202) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at java.lang.Thread.run(Thread.java:745)