We're updating the issue view to help you get more done. 

A thread contention problem in DecimalFormat#subparse

Description

DecimalFormat#subparse checks ICUConfig property "com.ibm.icu.text.DecimalFormat.SkipExtendedSeparatorParsing" as below:

1 2 3 4 // equivalent grouping and decimal support boolean skipExtendedSeparatorParsing = ICUConfig.get( "com.ibm.icu.text.DecimalFormat.SkipExtendedSeparatorParsing", "false") .equals("true");

ICUConfig.get invoke System.getProperty(), which triggers a synchronized method in java.util.Properties. Under high concurrency load, the code above performs poorly. The implementation should not check the property in every parse iteration.

Status

Assignee

Yoshito Umaoka

Reporter

Yoshito Umaoka

Labels

Components

Fix versions

Priority

critical