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]