0 (non-binding), pending clarification.
The artifact checks passed for me:

  *
The download links are valid.
  *
The SHA-512 checksums match.
  *
The signatures are valid.
  *
Both source archives match Git tag 2.1.0-incubating-rc3 (commit 
1cd6e891316cfea2c49028091be9d6ee0409cd1e) file-for-file.
  *
LICENSE, NOTICE, and DISCLAIMER are present.
  *
No unexpected binary files are included.
  *
Apache RAT passes with no unapproved licenses.
  *
The source package builds successfully with tests skipped.

However, the full test suite failed at the same test in two clean runs:

fesod-sheet: Tests run: 894, Failures: 1, Errors: 0, Skipped: 0
DateFormatTest.readCn(ExcelFormat)[1]
DateFormatTest passes when run independently, but I can consistently reproduce 
the failure with the following test order:
CsvRowTest#csvWrite_withSqlDateAndTime_producesCorrectFile
DateFormatTest

The actual formatted value contains the Korean AM marker ("오전") instead of the 
expected Chinese marker ("上午"), even though Locale.CHINA is explicitly 
configured.

I traced this behavior to NumberDataFormatterUtils, which retains one 
DataFormatter per thread without accounting for changes to the requested 
locale. A formatter initialized with the JVM's default Korean locale is 
therefore reused when Locale.CHINA is requested later on the same thread. The 
direct CsvWorkbook/CsvSheet path appears to leave that formatter cached.

To verify this, I temporarily added a call to 
NumberDataFormatterUtils.removeThreadLocalCache() immediately after the CSV 
operation. The same ordered test run then passed with 6 tests and 0 failures. I 
reverted the diagnostic change after confirming the result.

This indicates a reproducible, order-dependent locale cache issue rather than a 
random or flaky test failure. However, I have not yet confirmed whether this 
sequence can occur during normal application usage or is limited to the direct 
low-level CSV API path.

For that reason, I am voting 0 rather than -1. Could you confirm whether the 
direct CSV path is expected to clear this cache and whether this issue should 
block this release candidate?

Environment:

  *
Windows 11 (amd64)
  *
Oracle JDK 11.0.17
  *
Apache Maven 3.6.3

Best regards,
Minseok Song
GitHub: https://github.com/skytin1004

________________________________
From: Bengbengbalabalabeng <[email protected]>
Sent: Friday, September 4, 2026 8:36 PM
To: [email protected] <[email protected]>
Subject: Re: [VOTE] Release Apache Fesod (Incubating) 2.1.0-incubating RC3

+1 (non-binding)

I have checked:
[X] Download links are valid.
[X] Checksums and signatures.
[X] LICENSE/NOTICE/DISCLAIMER files exist.
[X] No unexpected binary files.
[X] All source files have ASF headers.
[X] Can compile from source. (macOS, Corretto-11.0.31 LTS, Maven 3.9.6)

Best,
Bengbengbalabalabeng

ian <[email protected]> 于2026年9月3日周四 21:01写道:
>
> Hi all,
>
> Please review and vote on the release candidate #3 of Apache Fesod
> (Incubating) version 2.1.0-incubating.
>
> This is an incubating podling. This vote is for the release candidate only;
> a separate IPMC vote will follow once this vote passes.
>
> RC3 fixes the source-release.zip content so that it matches the Git tag
> file-by-file (addressing the RC2 note that the staging zip did not match
> the tag).
>
> The source release archive was rebuilt from a clean git archive of the
> tagged commit and verified to match 1cd6e891 file-by-file.
>
> The release candidate to be voted on:
>
> https://dist.apache.org/repos/dist/dev/incubator/fesod/2.1.0-incubating-rc3/
>
> Git tag to be voted on: 2.1.0-incubating-rc3
> https://github.com/apache/fesod/tree/2.1.0-incubating-rc3 commit
> 1cd6e891316cfea2c49028091be9d6ee0409cd1e
>
> The Maven staging repository (closed):
>
> https://repository.apache.org/content/repositories/orgapachefesod-1045/
>
> Source package (with .asc signature and .sha512 checksum):
>
> https://dist.apache.org/repos/dist/dev/incubator/fesod/2.1.0-incubating-rc3/apache-fesod-2.1.0-incubating-src.tar.gz
> SHA512:
> 4db8b55f2f0617aa0ff88b645ccfd4faaa55b8c71b06be0c07c3dcdd03932221a79bbcb5958ea525eefdabce9319346d0ed5684fc980adab7830e0adf92d0546
>
> Source release archive (with .asc signature and .sha512 checksum):
>
> https://dist.apache.org/repos/dist/dev/incubator/fesod/2.1.0-incubating-rc3/fesod-parent-2.1.0-incubating-source-release.zip
> SHA512:
> 3656a01cfa9c60d3b48537eaf07190f11cc34a8c0f4c56908a366c4612c45db2bc125d62e417d0c9a59ca8cb2c48578bda4e66afe4434b8117d2db7e3191908d
>
> The KEYS file (used to verify the artifacts, PGP public keys):
>
> https://dist.apache.org/repos/dist/dev/incubator/fesod/KEYS
>
> To verify this release candidate:
>
>    1.
>
>    Import the KEYS file and check the release signatures:
>
>    $ curl -O https://dist.apache.org/repos/dist/dev/incubator/fesod/KEYS $
>    gpg --import KEYS $ gpg --verify
>    apache-fesod-2.1.0-incubating-src.tar.gz.asc
>    apache-fesod-2.1.0-incubating-src.tar.gz $ gpg --verify
>    fesod-parent-2.1.0-incubating-source-release.zip.asc
>    fesod-parent-2.1.0-incubating-source-release.zip
>    2.
>
>    Verify the SHA-512 checksums (values are listed above):
>
>    $ sha512sum apache-fesod-2.1.0-incubating-src.tar.gz $ sha512sum
>    fesod-parent-2.1.0-incubating-source-release.zip
>    3.
>
>    Verify the source-release.zip matches the Git tag 1cd6e891 exactly.
>    4.
>
>    Verify the source package builds (JDK 8) and RAT passes, and confirm
>    LICENSE/NOTICE/DISCLAIMER content and NOTICE copyright years.
>    5.
>
>    Verify the artifacts in the Maven staging repository.
>
> This vote will be open for 72 hours (or until the necessary number of votes
> is reached). Please cast your vote:
>
> [ ] +1 approve
>
> [ ] +0 no opinion
>
> [ ] -1 disapprove (and please state the reason)
>
> Best regards, Zhe Zhang

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to