Skip to content

Conversation

kenfinnigan
Copy link
Member

No description provided.

@kenfinnigan kenfinnigan added this to the 0.26.0 milestone Oct 17, 2019
Copy link
Member

@gsmet gsmet left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The title of the PR and the commit message are off: they should be about Health, not Metrics.

Can you adjust? Thanks.

@kenfinnigan kenfinnigan force-pushed the health-update branch 2 times, most recently from 9b564d0 to b250de1 Compare October 17, 2019 14:21
@kenfinnigan kenfinnigan changed the title Update to SmallRye Metrics 2.1.0 and MP Metrics 2.1 Update to SmallRye Health 2.1.0 and MP Health 2.1 Oct 17, 2019
@kenfinnigan
Copy link
Member Author

Fixed @gsmet. Not quite sure how I managed that mixup

Copy link
Member

@gsmet gsmet left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cool, thanks! Let's wait for CI then.

@gsmet gsmet added the triage/waiting-for-ci Ready to merge when CI successfully finishes label Oct 17, 2019
@kenfinnigan
Copy link
Member Author

@gsmet have you seen CI failures for documentation recently? That seems to be the reason for failure:

Caused by: org.eclipse.aether.resolution.ArtifactResolutionException: The following artifacts could not be resolved: io.quarkus:quarkus-core:jar:999-SNAPSHOT, io.quarkus:quarkus-arc:jar:999-SNAPSHOT, io.quarkus:quarkus-caffeine:jar:999-SNAPSHOT, io.quarkus:quarkus-jaxb:jar:999-SNAPSHOT, io.quarkus:quarkus-jackson:jar:999-SNAPSHOT, io.quarkus:quarkus-jsonb:jar:999-SNAPSHOT, io.quarkus:quarkus-jsonp:jar:999-SNAPSHOT, io.quarkus:quarkus-netty:jar:999-SNAPSHOT, io.quarkus:quarkus-agroal:jar:999-SNAPSHOT, io.quarkus:quarkus-artemis-core:jar:999-SNAPSHOT, io.quarkus:quarkus-artemis-jms:jar:999-SNAPSHOT, io.quarkus:quarkus-elasticsearch-rest-client:jar:999-SNAPSHOT, io.quarkus:quarkus-security:jar:999-SNAPSHOT, io.quarkus:quarkus-elytron-security:jar:999-SNAPSHOT, io.quarkus:quarkus-elytron-security-properties-file:jar:999-SNAPSHOT, io.quarkus:quarkus-elytron-security-oauth2:jar:999-SNAPSHOT, io.quarkus:quarkus-oidc:jar:999-SNAPSHOT, io.quarkus:quarkus-flyway:jar:999-SNAPSHOT, io.quarkus:quarkus-hibernate-orm:jar:999-SNAPSHOT, io.quarkus:quarkus-hibernate-orm-panache:jar:999-SNAPSHOT, io.quarkus:quarkus-mongodb-panache:jar:999-SNAPSHOT, io.quarkus:quarkus-hibernate-search-elasticsearch:jar:999-SNAPSHOT, io.quarkus:quarkus-hibernate-validator:jar:999-SNAPSHOT, io.quarkus:quarkus-infinispan-client:jar:999-SNAPSHOT, io.quarkus:quarkus-infinispan-embedded:jar:999-SNAPSHOT, io.quarkus:quarkus-jaeger:jar:999-SNAPSHOT, io.quarkus:quarkus-jdbc-postgresql:jar:999-SNAPSHOT, io.quarkus:quarkus-jdbc-h2:jar:999-SNAPSHOT, io.quarkus:quarkus-jdbc-mariadb:jar:999-SNAPSHOT, io.quarkus:quarkus-jdbc-mssql:jar:999-SNAPSHOT, io.quarkus:quarkus-jdbc-mysql:jar:999-SNAPSHOT, io.quarkus:quarkus-jdbc-derby:jar:999-SNAPSHOT, io.quarkus:quarkus-kafka-client:jar:999-SNAPSHOT, io.quarkus:quarkus-kafka-streams:jar:999-SNAPSHOT, io.quarkus:quarkus-smallrye-health:jar:999-SNAPSHOT, io.quarkus:quarkus-smallrye-jwt:jar:999-SNAPSHOT, io.quarkus:quarkus-smallrye-context-propagation:jar:999-SNAPSHOT, io.quarkus:quarkus-smallrye-reactive-streams-operators:jar:999-SNAPSHOT, io.quarkus:quarkus-smallrye-reactive-type-converters:jar:999-SNAPSHOT, io.quarkus:quarkus-smallrye-reactive-messaging:jar:999-SNAPSHOT, io.quarkus:quarkus-smallrye-reactive-messaging-kafka:jar:999-SNAPSHOT, io.quarkus:quarkus-smallrye-reactive-messaging-amqp:jar:999-SNAPSHOT, io.quarkus:quarkus-smallrye-reactive-messaging-mqtt:jar:999-SNAPSHOT, io.quarkus:quarkus-smallrye-metrics:jar:999-SNAPSHOT, io.quarkus:quarkus-smallrye-openapi:jar:999-SNAPSHOT, io.quarkus:quarkus-smallrye-opentracing:jar:999-SNAPSHOT, io.quarkus:quarkus-rest-client:jar:999-SNAPSHOT, io.quarkus:quarkus-resteasy-common:jar:999-SNAPSHOT, io.quarkus:quarkus-resteasy:jar:999-SNAPSHOT, io.quarkus:quarkus-resteasy-jackson:jar:999-SNAPSHOT, io.quarkus:quarkus-resteasy-jsonb:jar:999-SNAPSHOT, io.quarkus:quarkus-resteasy-jaxb:jar:999-SNAPSHOT, io.quarkus:quarkus-resteasy-server-common:jar:999-SNAPSHOT, io.quarkus:quarkus-narayana-jta:jar:999-SNAPSHOT, io.quarkus:quarkus-undertow:jar:999-SNAPSHOT, io.quarkus:quarkus-smallrye-fault-tolerance:jar:999-SNAPSHOT, io.quarkus:quarkus-vertx-core:jar:999-SNAPSHOT, io.quarkus:quarkus-vertx:jar:999-SNAPSHOT, io.quarkus:quarkus-vertx-http:jar:999-SNAPSHOT, io.quarkus:quarkus-vertx-web:jar:999-SNAPSHOT, io.quarkus:quarkus-reactive-pg-client:jar:999-SNAPSHOT, io.quarkus:quarkus-reactive-mysql-client:jar:999-SNAPSHOT, io.quarkus:quarkus-mailer:jar:999-SNAPSHOT, io.quarkus:quarkus-mongodb-client:jar:999-SNAPSHOT, io.quarkus:quarkus-undertow-websockets:jar:999-SNAPSHOT, io.quarkus:quarkus-scheduler:jar:999-SNAPSHOT, io.quarkus:quarkus-spring-di:jar:999-SNAPSHOT, io.quarkus:quarkus-spring-web:jar:999-SNAPSHOT, io.quarkus:quarkus-spring-data-jpa:jar:999-SNAPSHOT, io.quarkus:quarkus-swagger-ui:jar:999-SNAPSHOT, io.quarkus:quarkus-kotlin:jar:999-SNAPSHOT, io.quarkus:quarkus-amazon-lambda:jar:999-SNAPSHOT, io.quarkus:quarkus-amazon-lambda-resteasy:jar:999-SNAPSHOT, io.quarkus:quarkus-amazon-dynamodb:jar:999-SNAPSHOT, io.quarkus:quarkus-azure-functions-http:jar:999-SNAPSHOT, io.quarkus:quarkus-kubernetes:jar:999-SNAPSHOT, io.quarkus:quarkus-kubernetes-client:jar:999-SNAPSHOT, io.quarkus:quarkus-kogito:jar:999-SNAPSHOT, io.quarkus:quarkus-tika:jar:999-SNAPSHOT, io.quarkus:quarkus-neo4j:jar:999-SNAPSHOT, io.quarkus:quarkus-scala:jar:999-SNAPSHOT, io.quarkus:quarkus-jgit:jar:999-SNAPSHOT, io.quarkus:quarkus-narayana-stm:jar:999-SNAPSHOT, io.quarkus:quarkus-elytron-security-jdbc:jar:999-SNAPSHOT: Could not find artifact io.quarkus:quarkus-core:jar:999-SNAPSHOT
    at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve (DefaultArtifactResolver.java:422)
    at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifacts (DefaultArtifactResolver.java:224)
    at org.eclipse.aether.internal.impl.DefaultRepositorySystem.resolveArtifacts (DefaultRepositorySystem.java:268)
    at io.quarkus.bootstrap.resolver.maven.MavenArtifactResolver.resolve (MavenArtifactResolver.java:186)
    at io.quarkus.docs.generation.AllConfigGenerator.main (AllConfigGenerator.java:72)
    at sun.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke (Method.java:498)
    at org.codehaus.mojo.exec.ExecJavaMojo$1.run (ExecJavaMojo.java:282)
    at java.lang.Thread.run (Thread.java:748)
Caused by: org.eclipse.aether.transfer.ArtifactNotFoundException: Could not find artifact io.quarkus:quarkus-core:jar:999-SNAPSHOT
    at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve (DefaultArtifactResolver.java:412)
    at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifacts (DefaultArtifactResolver.java:224)
    at org.eclipse.aether.internal.impl.DefaultRepositorySystem.resolveArtifacts (DefaultRepositorySystem.java:268)
    at io.quarkus.bootstrap.resolver.maven.MavenArtifactResolver.resolve (MavenArtifactResolver.java:186)
    at io.quarkus.docs.generation.AllConfigGenerator.main (AllConfigGenerator.java:72)
    at sun.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke (Method.java:498)
    at org.codehaus.mojo.exec.ExecJavaMojo$1.run (ExecJavaMojo.java:282)
    at java.lang.Thread.run (Thread.java:748)

@gsmet
Copy link
Member

gsmet commented Oct 17, 2019

@FroMage could it be related to your PR?

@FroMage
Copy link
Member

FroMage commented Oct 17, 2019

@kenfinnigan absolutely related. Where do you get those? We fixed this in the PR that introduced that bug, so the fix should be in. It depended on passing the right Maven CLI arguments.

@kenfinnigan
Copy link
Member Author

CI failed with that error

Do I need to rebase?

@FroMage
Copy link
Member

FroMage commented Oct 17, 2019

Well I don't think you can have that class without also having the fix. It involves passing the MAVEN_CMD_LINE_ARGS env var like @aloubyansky told me. CI passed for me with this. I don't get it.

@FroMage
Copy link
Member

FroMage commented Oct 17, 2019

Yeah, see:

<MAVEN_CMD_LINE_ARGS>${env.MAVEN_CMD_LINE_ARGS}</MAVEN_CMD_LINE_ARGS>

@FroMage
Copy link
Member

FroMage commented Oct 17, 2019

I can make a quick hack to catch the exception and bail out of generating that config file, but I'd like to know why this fails here.

@kenfinnigan
Copy link
Member Author

I'm very confused what's going on if I have the fix

@FroMage
Copy link
Member

FroMage commented Oct 17, 2019

Do I have the right to push to your branch?

@FroMage
Copy link
Member

FroMage commented Oct 17, 2019

Let's take this to zulip

docs/pom.xml Outdated
</arguments>
<environmentVariables>
<MAVEN_CMD_LINE_ARGS>${env.MAVEN_CMD_LINE_ARGS}</MAVEN_CMD_LINE_ARGS>
<MAVEN_LOCAL_REPO>${env.MAVEN_LOCAL_REPO}</MAVEN_LOCAL_REPO>
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Try replacing it with <QUARKUS_LOCAL_REPO>${env.QUARKUS_LOCAL_REPO}</QUARKUS_LOCAL_REPO>

@kenfinnigan
Copy link
Member Author

Nope, still an issue:

Caused by: org.eclipse.aether.transfer.ArtifactNotFoundException: Could not find artifact io.quarkus:quarkus-core:jar:999-SNAPSHOT

@aloubyansky
Copy link
Member

I'll try to debug it a bit later tonoght unless you want to disable the docs generation as @FroMage suggested.

@kenfinnigan
Copy link
Member Author

I've added a system.exit to end the main, so will see what happens

@aloubyansky
Copy link
Member

MicroProfile TCK failing? That looks like something new.

@kenfinnigan
Copy link
Member Author

It's MP Config failing, which hasn't been updated at all.

And it's failing because of:

Could not find artifact io.quarkus:quarkus-tck-parent:pom:999-SNAPSHOT

Previously the build used to do a build with skip tests first. I wonder if that's changed

@kenfinnigan
Copy link
Member Author

@gsmet @FroMage @aloubyansky anyone has an idea why artifacts are suddenly not being found?

MP Config TCK is failing but it's because it can't find the root tck directory artifact

@FroMage
Copy link
Member

FroMage commented Oct 18, 2019

Oh, so it's not just our build artifacts then?

@kenfinnigan
Copy link
Member Author

kenfinnigan commented Oct 18, 2019

I think it is just our build artifacts, as it's io.quarkus:quarkus-tck-parent:pom:999-SNAPSHOT

But it's not part of docs build now. It's so weird

@FroMage
Copy link
Member

FroMage commented Oct 18, 2019

Sorry, I meant that it's not related to my docs things now. Why haven't other PRs had this issue then?

@kenfinnigan
Copy link
Member Author

I have no idea, but it's so annoying!

@kenfinnigan
Copy link
Member Author

Nuts!

@FroMage so my hack to work around docs caused another failure:

##[error] /home/vsts/work/1/s/docs/src/main/java/io/quarkus/docs/generation/AllConfigGenerator.java(41,9): error :  /home/vsts/work/1/s/docs/src/main/java/io/quarkus/docs/generation/AllConfigGenerator.java:[41,9] unreachable statement
[ERROR] /home/vsts/work/1/s/docs/src/main/java/io/quarkus/docs/generation/AllConfigGenerator.java:[41,9] unreachable statement
[INFO] 1 error

@kenfinnigan
Copy link
Member Author

Woohoo! @FroMage @gsmet it passed!

@aloubyansky
Copy link
Member

I am going to open a draft PR based on this one with the docs gen enabled just to debug the maven settings. I think if Stephane did it in a mojo it would work. It's painful to re-construct the maven settings in an external process.

@aloubyansky
Copy link
Member

According to the logging that I added, the environment of the maven build process is inherited by the docs generating process. So specifying env vars in the config of the plugin is not necessary. I am still not sure what's missing though.

@aloubyansky
Copy link
Member

Ok, I got it. The Maven resolver has enough info. The issue is that the docs are generated during process-classes phase, which is before install, which means the artifacts aren't yet installed into the local repo, so the Maven resolver can't find them.
What can be done here is loading the workspace by calling LocalProject.loadWorkspace(project.getBasedir()).getWorkspace() and then adding it to the MavenArtifactResolver.Builder. After that the artifact resolver will be resolving extensions as local projects, i.e. artifact.getFile() will point to the extension's target/classes dir instead of a JAR in the local maven repo. @FroMage

@aloubyansky
Copy link
Member

aloubyansky commented Oct 20, 2019

The issue is that the docs are generated during process-classes phase, which is before install, which means the artifacts aren't yet installed into the local repo, so the Maven resolver can't find them.

Actually, sorry, that's not the actual reason. It's because our pipeline is configured to do package instead of install at the caching phase. That's why the artifacts are not getting installed.

Copy link
Member

@gsmet gsmet left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can the commits be cleaned up?

Especially with #4687 now in.

Thanks!

@FroMage
Copy link
Member

FroMage commented Oct 21, 2019

The way I understand #4687 we can re-enable the doc generation in this PR, since it will work. It just has to run after we install the rest of the artifacts and not in the caching phase, which is the case now.

@gsmet
Copy link
Member

gsmet commented Oct 21, 2019

Yes, this PR should only contain the Health upgrade in a single commit and things should work now.

If it doesn't get cleaned up soon, I'll move it to the next release.

@gsmet gsmet modified the milestones: 0.26.0, 0.27.0 Oct 21, 2019
@kenfinnigan
Copy link
Member Author

I've gone back to just the original commit and rebased on master

@gsmet gsmet merged commit bd19469 into quarkusio:master Oct 21, 2019
@gsmet
Copy link
Member

gsmet commented Oct 21, 2019

Merged, thanks!

@gsmet gsmet modified the milestones: 0.27.0, 0.26.0 Oct 21, 2019
@gsmet gsmet removed the backport? label Oct 21, 2019
@kenfinnigan kenfinnigan deleted the health-update branch October 21, 2019 17:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

triage/waiting-for-ci Ready to merge when CI successfully finishes

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants