Join GitHub today
GitHub is home to over 36 million developers working together to host and review code, manage projects, and build software together.Sign up
LinkedCaseInsensitiveMap does not correctly implement putAll() [SPR-7969] #12624
The attached testcase demonstrates this behaviour.
Affects: 3.0.5, 3.1 RC1
Juergen Hoeller commented
As far as my research showed, this issue only comes up on IBM JDK 1.6 where putAll indeed does not delegate to put but rather calls a putImpl method. On Sun JDK 1.6, the code does work as expected. We'll fix this through overriding putAll for a guarantee that delegation to put will happen, independent from the implementation strategy in java.util.HashMap.
Sergey Ponomarev commented
In the but description said that it was fixed in 3.0.7 but as I see this commit it only contains starting from v3.1.0.RC2.
Also please move this unit test attached to issue to the LinkedCaseInsensitiveMapTests.
This is important to mention that this issue is happens after switching from OpenJDK 7 to OpenJDK 8.