[ 
https://issues.apache.org/jira/browse/CALCITE-6580?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17881558#comment-17881558
 ] 

Stamatis Zampetakis commented on CALCITE-6580:
----------------------------------------------

I definitely agree that {{Locale.setDefault}} should not be used in production 
code but have mixed feelings about tests. If we forbid the use from tests then 
we would need to launch locale specific tests with different system properties 
(i.e., user.language) or environment variable which is more cumbersome.

I guess in the same bucket we have {{TimeZone.setDefault}} and 
{{TimeZone.getDefault}}. I didn't find occurrences of {{TimeZone.setDefault}} 
in the code and in terms of testing we rely on environment variables set on 
various CI jobs.

> Remove Locale.setDefault
> ------------------------
>
>                 Key: CALCITE-6580
>                 URL: https://issues.apache.org/jira/browse/CALCITE-6580
>             Project: Calcite
>          Issue Type: Improvement
>            Reporter: Julian Hyde
>            Priority: Major
>
> Remove all calls to {{Locale.setDefault}} in tests and production code.
> That function does not operate on the current thread; it affects all threads 
> in the JVM. As such, it may affect other tests running at the same time, and 
> affect other statements running at the same time.
> I hope, and believe, that the production code does not depend on 
> {{Locale.getDefault}}. But let's make sure by removing {{setDefault}} from 
> all tests.
> Add {{Locale.setDefault}} to 
> [forbidden-apis|https://github.com/apache/calcite/blob/main/src/main/config/forbidden-apis/signatures.txt].



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to