[ https://issues.apache.org/jira/browse/SOLR-12063?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Amrit Sarkar updated SOLR-12063: -------------------------------- 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. {code} [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) {code} was: In *UpdateLog*, {{RecentUpdates}} reads the entry of tlogs, and throughout the project the entry indexes for various operations are consistent, but odd in this part. As we included new entry in TransactionLog for CDCR, read operations in {{update()}} method of {{RecentUpdates}} throw error rightfully as elements are read from wrong indexes of tlog entry. The entry indexes of llog should be consistent throughout. {code} [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) {code} > Fix tlog entry indexes in UpdateLog for CDCR to work smoothly. > -------------------------------------------------------------- > > Key: SOLR-12063 > URL: https://issues.apache.org/jira/browse/SOLR-12063 > Project: Solr > Issue Type: Bug > Security Level: Public(Default Security Level. Issues are Public) > Components: CDCR > Affects Versions: 7.2, 7.2.1 > Reporter: Amrit Sarkar > Assignee: Varun Thacker > Priority: Major > Attachments: SOLR-12063.patch, SOLR-12063.patch, SOLR-12063.patch, > SOLR-12063.patch, SOLR-12063.patch, SOLR-12063.patch, > test-report-PeerSyncTest, test-report-TestStressRecovery > > > 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. > {code} > [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) > {code} -- This message was sent by Atlassian JIRA (v7.6.3#76005) --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org For additional commands, e-mail: dev-h...@lucene.apache.org