Description
CDCR implements it's own UpdateLog (CdcrUpdateLog) . We changed the encoding format in SOLR-11003.
PeerSync / LeaderElection code and CDCR checkpoint API call are unable to read delete-by-id's and in-place updates if they are present in the transaction log throwing a ClassCastException as a WARN
Here's a stack trace for the WARN.
[beaster] 2> 27394 WARN (qtp97093533-72) [n:127.0.0.1:44658_solr c:cdcr-cluster1 s:shard1 r:core_node3 x:cdcr-cluster1_shard1_replica_n1] o.a.s.u.UpdateLog Unexpected log entry or corrupt log. Entry=[2, -1594312216007409664, [B@28e6859c, true] [beaster] 2> java.lang.ClassCastException: java.lang.Boolean cannot be cast to [B [beaster] 2> at org.apache.solr.update.UpdateLog$RecentUpdates.update(UpdateLog.java:1443) [beaster] 2> at org.apache.solr.update.UpdateLog$RecentUpdates.<init>(UpdateLog.java:1340) [beaster] 2> at org.apache.solr.update.UpdateLog.getRecentUpdates(UpdateLog.java:1513) [beaster] 2> at org.apache.solr.handler.CdcrRequestHandler.handleShardCheckpointAction(CdcrRequestHandler.java:448) [beaster] 2> at org.apache.solr.handler.CdcrRequestHandler.handleRequestBody(CdcrRequestHandler.java:198) [beaster] 2> at org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.java:195) [beaster] 2> at org.apache.solr.core.SolrCore.execute(SolrCore.java:2503) [beaster] 2> at org.apache.solr.servlet.HttpSolrCall.execute(HttpSolrCall.java:711) [beaster] 2> at org.apache.solr.servlet.HttpSolrCall.call(HttpSolrCall.java:517) [beaster] 2> at org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:384) [beaster] 2> at org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:330) [beaster] 2> at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1637) [beaster] 2> at org.apache.solr.client.solrj.embedded.JettySolrRunner$DebugFilter.doFilter(JettySolrRunner.java:139) [beaster] 2> at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1637) [beaster] 2> at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:533) [beaster] 2> at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:188) [beaster] 2> at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1595) [beaster] 2> at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:188) [beaster] 2> at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1253) [beaster] 2> at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:168) [beaster] 2> at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:473) [beaster] 2> at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1564)