On Mon, 11 Dec 2023 19:42:30 GMT, Naoto Sato <na...@openjdk.org> wrote:

>> Updated the Currency build process to disallow any Currencies that are 
>> future Currencies. This prevents the future currency, "XCG" from leaking out 
>> into `Currency.getAvailableCurrencies()`. (This was only exposed now, since 
>> the previous future Currencies were already ones expected to be found in 
>> `Currency.getAvailableCurrencies()`. For example, Amendment 174 where HRK 
>> was replaced by EUR.
>> 
>> (Tiers 1-5 clean with this change)
>
> IIUC, this should have happened before, as a currency update like "XXA" -> 
> "XXB" on a future date is pretty usual. I think this issue was simply not 
> discovered by any users till now.

I think this wasn't discovered/hasn't failed the test before because the 
amendments with future date changes most of the time were implemented after the 
date already occurred, so there was no cut-over, simply a new currency directly 
replacing the old (For example, ISO 171 SLE replacing SLL was direct). In the 
case where the cut-over hadn't happened, like 174 where EUR replaced HRK, EUR 
is already expected to be returned by `Currency.getAvailableCurrencies()` so 
there was no issue.

I claimed that this particular amendment exposed it, because if this case had 
happened before with an amendment update, it would have caused 
validateISO4217.java to fail (as it does with this case). Since that test 
checks if the set returned by the method does not contain any future currencies.

-------------

PR Review Comment: https://git.openjdk.org/jdk/pull/17023#discussion_r1423178773

Reply via email to