Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add extension for Apicurio Registry Avro #17725

Merged
merged 3 commits into from
Jun 15, 2021

Conversation

Ladicek
Copy link
Contributor

@Ladicek Ladicek commented Jun 7, 2021

No description provided.

@Ladicek Ladicek requested review from ozangunalp and cescoffier June 7, 2021 10:58
@quarkus-bot quarkus-bot bot added area/core area/dependencies Pull requests that update a dependency file area/documentation area/kafka labels Jun 7, 2021
@Ladicek
Copy link
Contributor Author

Ladicek commented Jun 7, 2021

Draft because this is an initial version that we put together with Ozan today. It needs more work especially on the testing front.

@Ladicek Ladicek force-pushed the apicurio-registry-avro branch 2 times, most recently from a9c26b7 to 3b76306 Compare June 7, 2021 13:24
@quarkus-bot quarkus-bot bot added the area/devtools Issues/PR related to maven, gradle, platform and cli tooling/plugins label Jun 7, 2021
@Ladicek
Copy link
Contributor Author

Ladicek commented Jun 8, 2021

CI failed in my fork in the kafka-avro-apicurio2 integration test, when building the native image:

Error: com.oracle.graal.pointsto.constraints.UnsupportedFeatureException: Detected an instance of Random/SplittableRandom class in the image heap. Instances created during image generation have cached seed values and don't behave as expected.  To see how this object got instantiated use --trace-object-instantiation=java.security.SecureRandom. The object was probably created by a class initializer and is reachable from a static field. You can request class initialization at image runtime by using the option --initialize-at-run-time=<class-name>. Or you can write your own initialization methods and call them explicitly from your main entry point.
[quarkus-integration-test-kafka-avro-apicurio2-999-SNAPSHOT-runner:25]     analysis: 145,415.65 ms,  2.51 GB
Detailed message:
Trace: 
	at parsing org.apache.http.impl.auth.NTLMEngineImpl.access$000(NTLMEngineImpl.java:51)
Call path from entry point to org.apache.http.impl.auth.NTLMEngineImpl.access$000(): 
	at org.apache.http.impl.auth.NTLMEngineImpl.access$000(NTLMEngineImpl.java:51)
	at org.apache.http.impl.auth.NTLMEngineImpl$Type3Message.<init>(NTLMEngineImpl.java:1505)
	at org.apache.http.impl.auth.NTLMEngineImpl$Type3Message.<init>(NTLMEngineImpl.java:1474)
	at org.apache.http.impl.auth.NTLMEngineImpl.getType3Message(NTLMEngineImpl.java:181)
	at org.apache.http.impl.auth.NTLMEngineImpl.generateType3Msg(NTLMEngineImpl.java:2097)
	at org.apache.http.impl.auth.NTLMScheme.authenticate(NTLMScheme.java:142)
	at org.apache.http.impl.auth.AuthSchemeBase.authenticate(AuthSchemeBase.java:136)
	at org.apache.http.impl.auth.HttpAuthenticator.doAuth(HttpAuthenticator.java:233)
	at org.apache.http.impl.auth.HttpAuthenticator.generateAuthResponse(HttpAuthenticator.java:213)
	at org.apache.http.impl.execchain.MainClientExec.execute(MainClientExec.java:262)
	at org.apache.http.impl.execchain.ProtocolExec.execute(ProtocolExec.java:186)
	at org.apache.http.impl.client.InternalHttpClient.doExecute(InternalHttpClient.java:185)
	at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:83)
	at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:108)
	at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:56)
	at org.keycloak.authorization.client.util.HttpMethod.execute(HttpMethod.java:84)
	at org.keycloak.authorization.client.util.HttpMethodResponse$2.execute(HttpMethodResponse.java:50)
	at org.keycloak.authorization.client.AuthzClient.obtainAccessToken(AuthzClient.java:199)
	at io.apicurio.registry.auth.KeycloakAuth.apply(KeycloakAuth.java:46)
	at io.apicurio.registry.rest.client.request.RequestHandler.sendRequest(RequestHandler.java:189)
	at io.apicurio.registry.rest.client.impl.RegistryClientImpl.getContentByGlobalId(RegistryClientImpl.java:224)
	at io.apicurio.registry.serde.DefaultSchemaResolver.lambda$resolveSchemaByCoordinates$0(DefaultSchemaResolver.java:142)
	at io.apicurio.registry.serde.DefaultSchemaResolver$$Lambda$1074/0x00000007c1f9a040.apply(Unknown Source)
	at sun.security.ec.XECParameters$1.get(XECParameters.java:183)
	at com.oracle.svm.core.jdk.SystemPropertiesSupport.initializeLazyValue(SystemPropertiesSupport.java:216)
	at com.oracle.svm.core.jdk.SystemPropertiesSupport.getProperty(SystemPropertiesSupport.java:169)
	at com.oracle.svm.core.jdk.Target_java_lang_System.getProperty(JavaLangSubstitutions.java:291)
	at com.oracle.svm.jni.JNIJavaCallWrappers.jniInvoke_VARARGS:Ljava_lang_System_2_0002egetProperty_00028Ljava_lang_String_2_00029Ljava_lang_String_2(generated:0)

Gonna look into it. There's probably just some stupid mistake, because we have all the pieces already in place, just need to combine them correctly :-)

@Ladicek Ladicek force-pushed the apicurio-registry-avro branch from 3b76306 to a4056a9 Compare June 8, 2021 08:17
@Ladicek
Copy link
Contributor Author

Ladicek commented Jun 8, 2021

Turns out the deployment module missed some -deployment dependencies, corresponding to extension dependencies in the runtime module. I thought we have an enforcer check for that :-/

@Ladicek
Copy link
Contributor Author

Ladicek commented Jun 10, 2021

CI passed in my fork, marking as ready for review.

In my opinion, there's just one open question: should we do anything in the KafkaProcessor when the Apicurio Registry Avro extension is missing, but the Apicurio Registry Avro libraries are present, and if so, what?

@Ladicek Ladicek marked this pull request as ready for review June 10, 2021 08:12
@Ladicek Ladicek changed the title WIP Add extension for Apicurio Registry Avro Add extension for Apicurio Registry Avro Jun 10, 2021
@Ladicek Ladicek force-pushed the apicurio-registry-avro branch from 3beeb70 to 6794d04 Compare June 10, 2021 12:13
@quarkus-bot
Copy link

quarkus-bot bot commented Jun 10, 2021

This workflow status is outdated as a new workflow run has been triggered.

Failing Jobs - Building 6794d04

Status Name Step Test failures Logs Raw logs
Gradle Tests - JDK 11 Windows Download Maven Repo ⚠️ Check → Logs Raw logs

@Ladicek Ladicek force-pushed the apicurio-registry-avro branch from 6794d04 to 9d94472 Compare June 11, 2021 13:15
@quarkus-bot
Copy link

quarkus-bot bot commented Jun 11, 2021

This workflow status is outdated as a new workflow run has been triggered.

Failing Jobs - Building 9d94472

Status Name Step Test failures Logs Raw logs
✔️ JVM Tests - JDK 11
JVM Tests - JDK 16 Build ⚠️ Check → Logs Raw logs

@Ladicek Ladicek force-pushed the apicurio-registry-avro branch from 9d94472 to 1fc0e6d Compare June 14, 2021 08:53
@cescoffier cescoffier added the triage/needs-rebase This PR needs to be rebased first because it has merge conflicts label Jun 14, 2021
@cescoffier
Copy link
Member

oups... need rebase...

@Ladicek Ladicek force-pushed the apicurio-registry-avro branch from 1fc0e6d to 1976c51 Compare June 14, 2021 13:13
@Ladicek
Copy link
Contributor Author

Ladicek commented Jun 14, 2021

Rebased. BTW, this is gonna cause a couple of conflicts in some of your other PRs :-)

@Ladicek Ladicek removed the triage/needs-rebase This PR needs to be rebased first because it has merge conflicts label Jun 14, 2021
@Ladicek Ladicek force-pushed the apicurio-registry-avro branch from 1976c51 to 334686d Compare June 14, 2021 13:46
@quarkus-bot
Copy link

quarkus-bot bot commented Jun 14, 2021

This workflow status is outdated as a new workflow run has been triggered.

🚫 This workflow run has been cancelled.

Failing Jobs - Building 1976c51

⚠️ Artifacts of the workflow run were not available thus the report misses some details.

Status Name Step Test failures Logs Raw logs
Devtools Tests - JDK 11 Build ⚠️ Check → Logs Raw logs
Devtools Tests - JDK 11 Windows Build ⚠️ Check → Logs Raw logs
Gradle Tests - JDK 11 Build ⚠️ Check → Logs Raw logs
Gradle Tests - JDK 11 Windows Build ⚠️ Check → Logs Raw logs
JVM Tests - JDK 11 Build ⚠️ Check → Logs Raw logs
JVM Tests - JDK 11 Windows Build ⚠️ Check → Logs Raw logs
JVM Tests - JDK 16 Build ⚠️ Check → Logs Raw logs
Maven Tests - JDK 11 Build ⚠️ Check → Logs Raw logs
Maven Tests - JDK 11 Windows Build ⚠️ Check → Logs Raw logs
MicroProfile TCKs Tests Verify ⚠️ Check → Logs Raw logs
Native Tests - Amazon ⚠️ Check → Logs Raw logs
Native Tests - Cache ⚠️ Check → Logs Raw logs
Native Tests - Data1 Build ⚠️ Check → Logs Raw logs
Native Tests - Data2 Build ⚠️ Check → Logs Raw logs
Native Tests - Data3 Build ⚠️ Check → Logs Raw logs
Native Tests - Data4 Build ⚠️ Check → Logs Raw logs
Native Tests - Data5 Build ⚠️ Check → Logs Raw logs
Native Tests - Data6 Build ⚠️ Check → Logs Raw logs
Native Tests - Data7 Build ⚠️ Check → Logs Raw logs
Native Tests - HTTP ⚠️ Check → Logs Raw logs
Native Tests - Main Build ⚠️ Check → Logs Raw logs
Native Tests - Messaging1 ⚠️ Check → Logs Raw logs
Native Tests - Messaging2 ⚠️ Check → Logs Raw logs
Native Tests - Misc1 ⚠️ Check → Logs Raw logs
Native Tests - Misc2 ⚠️ Check → Logs Raw logs
Native Tests - Misc3 ⚠️ Check → Logs Raw logs
Native Tests - Misc4 ⚠️ Check → Logs Raw logs
Native Tests - Security1 ⚠️ Check → Logs Raw logs
Native Tests - Security2 ⚠️ Check → Logs Raw logs
Native Tests - Security3 ⚠️ Check → Logs Raw logs
Native Tests - Spring ⚠️ Check → Logs Raw logs
Native Tests - Windows - hibernate-validator ⚠️ Check → Logs Raw logs
Native Tests - gRPC ⚠️ Check → Logs Raw logs

@Ladicek
Copy link
Contributor Author

Ladicek commented Jun 15, 2021

I'm just gonna merge this, it's long overdue :-)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/core area/dependencies Pull requests that update a dependency file area/devtools Issues/PR related to maven, gradle, platform and cli tooling/plugins area/documentation area/kafka area/kafka-streams area/reactive-messaging area/smallrye
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants