View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0007024 | SymmetricDS | Bug | public | 2025-08-20 13:22 | 2025-08-21 12:46 |
Reporter | awebb | Assigned To | awebb | ||
Priority | normal | ||||
Status | resolved | Resolution | fixed | ||
Product Version | 3.14.0 | ||||
Target Version | 3.16.6 | Fixed in Version | 3.16.6 | ||
Summary | 0007024: Fix java.lang.IllegalArgumentException: No enum constant org.jumpmind.db.sql.SqlTemplateSettings.JdbcLobHandling.PLAİN | ||||
Description | When a Turkey locale is set on the JVM, while the client symmetric engine is initializing, the exception Fix java.lang.IllegalArgumentException: No enum constant org.jumpmind.db.sql.SqlTemplateSettings.JdbcLobHandling.PLAİN is thrown. The enum constant JdbcLobHandling.PLAIN is treated as a String and the casing is set to upper case. Strings are locale sensitive, and how they are transformed to lower-case, and upper-case in this specific scenario. Their ASCII standards are different. You can see the upper-case I with the dot over it in the Turkish extended character set. The character matches what we see in the logs and explains why Symmetric can't find the Enum value. One way to fix this is to use the FormatUtils.upper method. | ||||
Steps To Reproduce | Set the JVM locale to ("TR", "tr"); Create a new node. Exception is thrown when client symmetric engine is initialized. | ||||
Tags | No tags attached. | ||||
Date Modified | Username | Field | Change |
---|---|---|---|
2025-08-20 13:22 | awebb | New Issue | |
2025-08-20 13:22 | awebb | Status | new => assigned |
2025-08-20 13:22 | awebb | Assigned To | => awebb |
2025-08-20 13:32 | awebb | Status | assigned => acknowledged |
2025-08-20 16:19 | awebb | Description Updated | View Revisions |
2025-08-21 12:46 | pbelov | Status | acknowledged => resolved |
2025-08-21 12:46 | pbelov | Resolution | open => fixed |
2025-08-21 12:46 | pbelov | Fixed in Version | => 3.16.6 |