Hacktoberfest 2026: die Issues, die Maintainer für den Oktober markiert haben – offen und einsteigerfreundlich. Hacktoberfest-Issues durchsuchen

[BUG] Server won't start (and channels won't deploy) on a Turkish JVM locale

Offen
#483 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Maintainer antworten meist innerhalb von 1 Tag

Dieses Issue hat noch niemand übernommen.

Bewertung

Schwierigkeit
3/5
Geschätzter Aufwand
1-2 Tage
Anfängerfreundlichkeit
66/100
Issue-Typ
Bug
Klarheit
Klar beschrieben
Aktivitätsstatus
Aktiv
Tech-Stack
java

Rechercherichtung

Start with JdbcDao.addMetaDataColumn, where StringUtils.lowerCase builds the query name, and with the MyBatis mapper files that hold the type aliases. Reproduce by running the server with -Duser.language=tr -Duser.country=TR and deploying a channel. Done means startup and channel deploy both succeed under the Turkish locale, using Locale.ROOT for case-insensitive lookups or explicit class names in the mappers.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Beschreibung

Spun off from #476. It all started with a test failing on my Italian machine. Out of curiosity I tried Turkish, the classic locale troublemaker, and things got worse: the server doesn't even start.

Describe the bug
Turkish has a dotted and a dotless i, so "I".toLowerCase() gives ı. OIE trips over this twice:

  1. Startup: MyBatis 3.1.1 lowercases type aliases with the default locale, so "Integer" becomes "ınteger", nobody knows what that is, and startup loops.
  2. Deploy: with (1) worked around, every channel deploy fails. JdbcDao.addMetaDataColumn builds the query name with StringUtils.lowerCase, so it looks for addMetaDataColumnStrıng, finds nothing, and Derby says "SQL text pointer is null".

Consistently reproducible.

To Reproduce
Run the server with -Duser.language=tr -Duser.country=TR, then deploy any channel.

Expected behavior
OIE works regardless of the system locale.

Environment

  • OS: macOS
  • Java: Zulu 17.0.17
  • Version: main @ a13e6afb6

Workaround(s)
Run the JVM with an English locale.

Notes
As offered in #476, happy to look into a fix if that works for you. Rough ideas:

  • for (1), use java.lang.Integer in the mappers (25 lines; MyBatis is fixed upstream since 3.2.0, but that's a big jump);
  • for (2), use Locale.ROOT where casing is used for lookups;
  • add a tr_TR smoke scenario so it stays fixed. That covers the CI half of #476.

Open to other approaches, of course.

Vorherrschende Sprache
Java
Sterne
227
Forks
81
Ø Merge
2 T. 16 Std.
Gemergte PRs (30 T.)
12

Entwicklungsumgebung

Erste Schritte

  1. Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
  3. Forken Sie das Repository und arbeiten Sie in einem Branch.
  4. Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.

Mehr aus OpenIntegrationEngine/engine

Alle Issues in OpenIntegrationEngine/engine

Ähnliche Issues

Weitere Issues zu Java

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.