Hoss Man created SOLR-13314:
-------------------------------

             Summary: restore ability for BaseDistributedSearchTestCase 
subclasses to use null keys in "handle" when comparing responses
                 Key: SOLR-13314
                 URL: https://issues.apache.org/jira/browse/SOLR-13314
             Project: Solr
          Issue Type: Sub-task
      Security Level: Public (Default Security Level. Issues are Public)
            Reporter: Hoss Man


Background from SOLR-13300 ...

Hoss:
bq. In Nov 2018, as part of his SOLR-12801 work, Mark Miller's 
75b183196798232aa6f2dcaaaab117f309119053 commit changed this test to just 
remove the handle.put(null, SKIP); call - evidently because he felt it was 
important to change BaseDistributedSearchTestCase.handle from a HashMap to a 
ConcurrentHashMap (which doesn't support null keys) ...

Mark:
bq. That change ended up being annoying, it was not for the hell of it. Tests 
often don't respect shared base variables when they are not thread safe, timing 
changes can expose those problems. It is a good idea to make those base 
variables thread safe as a proper defense, but this skip stuff is a real 
problem.
bq. Attached a patch that allows for null as a key again and also allows 
iteration on the map without errant concurrent modification exceptions.
bq. I think this class is a good idea because it's difficult to allow raw 
access to our impl for this in ways that are fully thread safe and test 
friendly when accessed by subclasses. By exposing less surface area it is 
easier to prevent future accidental misuse and ensure thread safety.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to