APAR status
Closed as program error.
Error description
Error Message: N/A . Stack Trace: N/A . The HashMap.get() returns the old value after updating the entry directly using HashMap.Entry.setValue() when the HashMap contains lot of entries and integer key is used.
Local fix
- Avoid using HashMap.Entry.setValue() to update the entry. Use HashMap.put() instead. OR - Set the capacity of Hashmap 25% more than the maximum entry size.
Problem summary
HashMap uses an internal cache when the entry size exceed certain threshold. When application update the entry using HashMap.Entry.setValue(), the cache is not updated. Hence, further get will return the old value of the entry.
Problem conclusion
This APAR will be fixed in the following Java Releases: 6 SR16 (6.0.16.0) 6 R1 SR8 (6.1.8.0) . The JDK has been updated to avoid the cache with HashMap.
Temporary fix
Comments
APAR Information
APAR number
IV52627
Reported component name
JAVA CLASS LIBS
Reported component ID
620700130
Reported release
600
Status
CLOSED PER
PE
NoPE
HIPER
NoHIPER
Special Attention
NoSpecatt
Submitted date
2013-11-28
Closed date
2014-01-27
Last modified date
2014-04-30
APAR is sysrouted FROM one or more of the following:
APAR is sysrouted TO one or more of the following:
Fix information
Fixed component name
JAVA CLASS LIBS
Fixed component ID
620700130
Applicable component levels
R600 PSY
UP
[{"Business Unit":{"code":"BU048","label":"IBM Software"},"Product":{"code":"SSCVQ3Y","label":"Java Class Libraries"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"6.0","Edition":"","Line of Business":{"code":"","label":""}}]
Document Information
Modified date:
30 April 2014