[ 
https://issues.apache.org/jira/browse/SOLR-12083?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Varun Thacker updated SOLR-12083:
---------------------------------
    Description: 
When we were adding bi-directional sync support in CDCR ( SOLR-11003 ) we 
changed the CDCR Update Log codec to write an extra bits. 

When we use the RealTimeGet component on a cluster running CDCR and have 
in-place updates in the update log we will falsely trip an assert thus causing 
the request to fail

Here's the proposed change
{code:java}
-                 assert entry.size() == 5;
+                 if (ulog instanceof CdcrUpdateLog) {
+                   assert entry.size() == 6;
+                 }
+                 else {
+                   assert entry.size() == 5;
+                 }{code}
 

  was:
On the lines of SOLR-12063: Bidirectional support introduced serious bugs and 
here RealTimeGetComponent is broken. 

As we have added additional flag to each {{tlog}} entry, the following 
assertions fail when Cdcr enabled:
{code}
if (oper == UpdateLog.UPDATE_INPLACE) {
 assert entry.size() == 5;
}
{code}


> RealTimeGetComponent fails for INPLACE_UPDATE when Cdcr enabled 
> ----------------------------------------------------------------
>
>                 Key: SOLR-12083
>                 URL: https://issues.apache.org/jira/browse/SOLR-12083
>             Project: Solr
>          Issue Type: Bug
>      Security Level: Public(Default Security Level. Issues are Public) 
>          Components: CDCR
>    Affects Versions: 7.2, 7.2.1, 7.3
>            Reporter: Amrit Sarkar
>            Assignee: Varun Thacker
>            Priority: Major
>         Attachments: SOLR-12083-A-within-test-framework.patch, 
> SOLR-12083-B-wo-test-framework.patch, SOLR-12083.patch, SOLR-12083.patch, 
> add_support_for_random_ulog_in_tests.patch
>
>
> When we were adding bi-directional sync support in CDCR ( SOLR-11003 ) we 
> changed the CDCR Update Log codec to write an extra bits. 
> When we use the RealTimeGet component on a cluster running CDCR and have 
> in-place updates in the update log we will falsely trip an assert thus 
> causing the request to fail
> Here's the proposed change
> {code:java}
> -                 assert entry.size() == 5;
> +                 if (ulog instanceof CdcrUpdateLog) {
> +                   assert entry.size() == 6;
> +                 }
> +                 else {
> +                   assert entry.size() == 5;
> +                 }{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

Reply via email to