Use IdlReader instead of deprecated Idl parser in Avro extension#52948
Use IdlReader instead of deprecated Idl parser in Avro extension#52948gsmet merged 1 commit intoquarkusio:mainfrom
Conversation
|
@carlesarnal is it ready for review and CI? |
Yes! |
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
|
🎊 PR Preview 5e7de32 has been successfully built and deployed to https://quarkus-pr-main-52948-preview.surge.sh/version/main/guides/
|
df0f132 to
9b80498
Compare
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
|
@carlesarnal I'm not sure what's going on but it seems there is a compilation issue with the tests. |
9b80498 to
d31fd3f
Compare
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
Config tracking is also used to dump the dependencies for the Develocity cache to work and we need this to be enabled even if we decide to skip the Quarkus build, as we might not skip the code generation. This was causing issues with cache being stalled, in particular for pull request quarkusio#52948 . Renaming the variable avoids that configuring <skip>${skipTests}<skip> as done in integration-tests/pom.xml also skips config tracking.
|
I had a closer look and the issue seems related to #53434 . |
Config tracking is also used to dump the dependencies for the Develocity cache to work and we need this to be enabled even if we decide to skip the Quarkus build, as we might not skip the code generation. This was causing issues with cache being stalled, in particular for pull request quarkusio#52948 . Renaming the variable avoids that configuring <skip>${skipTests}<skip> as done in integration-tests/pom.xml also skips config tracking.
The deprecated Idl parser only supports protocol-wrapped IDL syntax. Switch to IdlReader (from avro-idl artifact) which also supports the named schema IDL syntax introduced in Avro 1.12.0. Fixes quarkusio#52882
d31fd3f to
5c0b8a2
Compare
|
Rebasing with the fix. Fingers crossed. |
Status for workflow
|
Status for workflow
|
| Status | Name | Step | Failures | Logs | Raw logs | Build scan |
|---|---|---|---|---|---|---|
| ❌ | Quickstarts Compilation - JDK 25 | Compile Quickstarts |
Failures | Logs | Raw logs | 🚧 |
You can consult the Develocity build scans.
Failures
⚙️ Quickstarts Compilation - JDK 25 #
- Failing: security-openid-connect-websockets-next-quickstart
📦 security-openid-connect-websockets-next-quickstart
❌ Failed to execute goal io.quarkus:quarkus-maven-plugin:999-SNAPSHOT:build (default-build) on project security-openid-connect-websockets-next-quickstart: Failed to build quarkus application
Flaky tests - Develocity
⚙️ JVM Tests - JDK 17
📦 extensions/smallrye-reactive-messaging-kafka/deployment
❌ io.quarkus.smallrye.reactivemessaging.kafka.deployment.testing.KafkaDevServicesContinuousTestingTestCase.testContinuousTestingScenario2 - History
org.testcontainers.containers.ContainerLaunchException: Container startup failed for image quay.io/apicurio/apicurio-registry:3.1.7-java.util.concurrent.CompletionException
Details
java.util.concurrent.CompletionException: org.testcontainers.containers.ContainerLaunchException: Container startup failed for image quay.io/apicurio/apicurio-registry:3.1.7
at java.base/java.util.concurrent.CompletableFuture.encodeThrowable(CompletableFuture.java:315)
at java.base/java.util.concurrent.CompletableFuture.completeThrowable(CompletableFuture.java:320)
at java.base/java.util.concurrent.CompletableFuture$AsyncRun.run(CompletableFuture.java:1807)
at java.base/java.util.concurrent.CompletableFuture$AsyncRun.exec(CompletableFuture.java:1796)
at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:373)
at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1182)
at java.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1655)
⚙️ JVM Tests - JDK 25 Semeru
📦 extensions/load-shedding/deployment
❌ io.quarkus.load.shedding.NaiveLoadSheddingTest.test - History
Expecting actual: 98 to be greater than or equal to: 100-java.lang.AssertionError
Details
java.lang.AssertionError:
Expecting actual:
98
to be greater than or equal to:
100
at io.quarkus.load.shedding.NaiveLoadSheddingTest.test(NaiveLoadSheddingTest.java:54)
⚙️ JVM Integration Tests - JDK 21
📦 integration-tests/compose-devservices
❌ io.quarkus.it.compose.devservices.rabbitmq.RabbitmqTest.test - History
Read timed out-java.net.SocketTimeoutException
Details
java.net.SocketTimeoutException: Read timed out
at java.base/sun.nio.ch.NioSocketImpl.timedRead(NioSocketImpl.java:278)
at java.base/sun.nio.ch.NioSocketImpl.implRead(NioSocketImpl.java:304)
at java.base/sun.nio.ch.NioSocketImpl.read(NioSocketImpl.java:346)
at java.base/sun.nio.ch.NioSocketImpl$1.read(NioSocketImpl.java:796)
at java.base/java.net.Socket$SocketInputStream.read(Socket.java:1099)
at org.apache.http.impl.io.AbstractSessionInputBuffer.fillBuffer(AbstractSessionInputBuffer.java:161)
at org.apache.http.impl.io.SocketInputBuffer.fillBuffer(SocketInputBuffer.java:82)
|
Thanks, and good we discovered this Develocity cache issue! |
Config tracking is also used to dump the dependencies for the Develocity cache to work and we need this to be enabled even if we decide to skip the Quarkus build, as we might not skip the code generation. This was causing issues with cache being stalled, in particular for pull request quarkusio#52948 . Renaming the variable avoids that configuring <skip>${skipTests}<skip> as done in integration-tests/pom.xml also skips config tracking. (cherry picked from commit 9523fde)

Summary
Idlparser toIdlReader(fromavro-idlartifact) in the Avro extension's IDL code generationIdlReadersupports both the traditional protocol-wrapped syntax and the new named schema IDL syntax introduced in Avro 1.12.0avro-idldependency to the BOM and the avro deployment moduleFixes #52882
Test plan
shouldAlterAvdltest passes (backward compatibility with protocol syntax)shouldCompileNamedSchemaIdltest passes (named schema syntax from the issue)