You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
With Quarkus I use a ConfigMapping interface that reads its data from a Yaml file. The Yaml file contains a list with over 2000 entries.
When I start the application I get the following error:
[error]: Build step io.quarkus.deployment.steps.ConfigGenerationBuildStep#generateBuilders threw an exception: java.lang.RuntimeException: java.lang.IllegalArgumentException: UTF8 string too large
Expected behavior
A Quarkus application can be started if a YAML file used by ConfigMapping contains a list with many values.
Actual behavior
A Quarkus application cannot be started if a YAML file used by ConfigMapping contains a list with many values.
How to Reproduce?
Step 1: Generate a Quarkus Application
Step 2: Add quarkus-config-yaml dependency
Step 3: Add yaml file with a list of values. The values in the list should be over 65535 characters in total.
Step 4. Create ConfigMapping interface that contains a list that is read from the Yaml file
Step 5. Start the application
Output of uname -a or ver
Microsoft Windows [Version 10.0.19045.4651]
Output of java -version
openjdk version "17.0.11" 2024-04-16 LTS OpenJDK Runtime Environment Corretto-17.0.11.9.1 (build 17.0.11+9-LTS) OpenJDK 64-Bit Server VM Corretto-17.0.11.9.1 (build 17.0.11+9-LTS, mixed mode, sharing)
Quarkus version or git rev
3.12.3
Build tool (ie. output of mvnw --version or gradlew --version)
Apache Maven 3.9.3
Additional information
No response
The text was updated successfully, but these errors were encountered:
I'm able to generate a org.objectweb.asm.MethodTooLargeException as #22027 , but not a java.lang.RuntimeException: java.lang.IllegalArgumentException: UTF8 string too large.
The umlauts aren't the problem, it's more likely that these list entries all get concatenated into one giant string (joined by ,) and that string is too big to represent in a single class constant pool entry (whose limit is 65535 utf8-encoded bytes). The Ä character is two bytes in UTF-8, iirc.
I guess we could work around the issue by breaking giant strings into chunks and merging them with String.concat.
Yes, the issue is that we generated a value with all the list elements separated by commas for Collections types. This is / was required by MicroProfile Config, and before, we had support for indexed properties. I believe we don't need that anymore and I removed it: smallrye/smallrye-config#1203
Describe the bug
With Quarkus I use a ConfigMapping interface that reads its data from a Yaml file. The Yaml file contains a list with over 2000 entries.
When I start the application I get the following error:
[error]: Build step io.quarkus.deployment.steps.ConfigGenerationBuildStep#generateBuilders threw an exception: java.lang.RuntimeException: java.lang.IllegalArgumentException: UTF8 string too large
Expected behavior
A Quarkus application can be started if a YAML file used by ConfigMapping contains a list with many values.
Actual behavior
A Quarkus application cannot be started if a YAML file used by ConfigMapping contains a list with many values.
How to Reproduce?
Step 1: Generate a Quarkus Application
Step 2: Add quarkus-config-yaml dependency
Step 3: Add yaml file with a list of values. The values in the list should be over 65535 characters in total.
Step 4. Create ConfigMapping interface that contains a list that is read from the Yaml file
Step 5. Start the application
Output of
uname -a
orver
Microsoft Windows [Version 10.0.19045.4651]
Output of
java -version
openjdk version "17.0.11" 2024-04-16 LTS OpenJDK Runtime Environment Corretto-17.0.11.9.1 (build 17.0.11+9-LTS) OpenJDK 64-Bit Server VM Corretto-17.0.11.9.1 (build 17.0.11+9-LTS, mixed mode, sharing)
Quarkus version or git rev
3.12.3
Build tool (ie. output of
mvnw --version
orgradlew --version
)Apache Maven 3.9.3
Additional information
No response
The text was updated successfully, but these errors were encountered: