RFR: 8024688: j.u.Map.merge doesn't work as specified if contains key:null pair

Mike Duigou mike.duigou at oracle.com
Wed Oct 16 16:52:00 PDT 2013

On Oct 16 2013, at 05:34 , Paul Sandoz <paul.sandoz at oracle.com> wrote:

> On Oct 16, 2013, at 1:52 PM, David Holmes <david.holmes at oracle.com> wrote:
>>>> Perhaps HashMap's implementations should throw CME?
>>> Perhaps, seems to be going beyond the call of duty. My inclination is not to bother. It becomes most relevant with forEach since the consumer will have side-effects that might make it easier to unintentionally slip in a modification to the map itself.
>> I think there is a lot to be said for consistency.
> Yes, i was proposing to consistently not support it for non-traversal methods :-)

I have prepared an updated webrev removing all of the non-traversal CME throwing.


It does bother me to be throwing out "good information" by not throwing the CMEs but I'm willing to go with the flow. As a practical matter later reintroduction of even valid error detection would almost certainly be difficult. (https://bugs.openjdk.java.net/browse/JDK-5045147 for one example).

The patch also fixes up missing @throws and @since from the ConcurrentMap implementations.


More information about the lambda-libs-spec-experts mailing list