Amrit Sarkar commented on SOLR-12083:

[~varunthacker], thank you for the feedback.

bq. Any reason why we don't randomzie the update log in 
TestInPlaceUpdatesDistrib like we do in the other approach?
Randomization of UpdateLog should be part of underlying test framework instead 
of developer setting it in tests, as every component should work with 
CdcrUpdateLog, which works with UpdateLog, unless you are testing UpdateLog 
itself. Like in the patch, we enforce 'solr.UpdateLog' for UpdateLogTest. 
Everytime now a new test is written and 'solrconfig-tlog.xml' is used, it will 
automatically test both for UpdateLog and CdcrUpdateLog without the need of 
developer of mentioning it specially.

bq. Can we log in randomizeUpdateLogClsProp which update log is being used
Will do that.

bq. A small refactor could be instead of using a sysprop and then reading the 
sysprop in SolrTestCaseJ4 to call randomizeUpdateLogClsProp , why not just make 
randomizeUpdateLogClsProp and clearUpdateLogClsProp public and call them 
directly in the beforeClass/afterClass method of TestInPlaceUpdatesDistrib / 
UpdateLogTest . What do you think?
I can make them public, but in {{TestInPlaceUpdatesDistrib}}, there is no need 
to specify as this randomization should be smart.

> 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

To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org
For additional commands, e-mail: dev-h...@lucene.apache.org

Reply via email to