hypertrace / javaagent

Hypertrace OpenTelemetry Java agent with payload/body and headers data capture.
Apache License 2.0
28 stars 14 forks source link

Skip drop wizard 3.0.0/4.0.0 muzzle test #380

Closed tyroneyu closed 1 year ago

tyroneyu commented 1 year ago

Drop wizard 4.0.0 muzzle test fails. 4.0.0 (and 3.0.0) were introduced since we last ran 2 months ago. 3.0.0 passes.

tyroneyu commented 1 year ago

Compared to the run 2 months ago, I've isolated the muzzle failure to dropwizard 4.0.0 (3.0.0 works fyi). The failure output is

> Task :instrumentation:apache-httpclient-4.0:muzzle-AssertPass-io.dropwizard-dropwizard-client-4.0.0 FAILED
FAILED MUZZLE VALIDATION: io.opentelemetry.javaagent.instrumentation.hypertrace.apachehttpclient.v4_0.ApacheClientInstrumentationModule mismatches:
-- io.opentelemetry.javaagent.instrumentation.hypertrace.apachehttpclient.v4_0.ApacheHttpClientUtils:72 Missing class org.apache.http.HttpEntityEnclosingRequest
-- io.opentelemetry.javaagent.instrumentation.hypertrace.apachehttpclient.v4_0.ApacheHttpClientUtils:50 Missing class org.apache.http.HeaderIterator
-- io.opentelemetry.javaagent.instrumentation.hypertrace.apachehttpclient.v4_0.ApacheHttpClientUtils:75 Missing class org.apache.http.HttpEntity
-- io.opentelemetry.javaagent.instrumentation.hypertrace.apachehttpclient.v4_0.ApacheHttpClientUtils:62 Missing class org.apache.http.Header
-- io.opentelemetry.javaagent.instrumentation.hypertrace.apachehttpclient.v4_0.ApacheClientInstrumentationModule$HttpClient_ExecuteAdvice_request1:111 Missing class org.apache.http.HttpMessage
-- io.opentelemetry.javaagent.instrumentation.hypertrace.apachehttpclient.v4_0.ApacheHttpClientUtils:83 Missing class org.apache.http.HttpResponse

FAILURE: Build failed with an exception.

@shashank11p @tim-mwangi @ryanericson I'm not quite sure what the output refers to. Are we ok skipping this version for now? 4.0.0 did not exists 2 months ago when this test succeeded. If we do skip, 4.0.x will probably fail in a future muzzle test.

I also can't think of a good way to limit the versions tested like discussed in a previous standup because we would then have to update the versions periodically if we wanted to keep up to day.

tyroneyu commented 1 year ago

@shashank11p

https://github.com/hypertrace/javaagent/actions/runs/4682945372/jobs/8297430357#step:5:411 Looks like the tests still fail. I looked a bit closer at the previous GHA runs and "3.0.0" never runs and succeeds. I have no idea why. I also don't know why the previous run (that included the skipVersions.add(4.0.0)) was successful.

Lastly, I don't know why when running on my mac from the command line, this succeeds as well.

./gradlew assemble muzzle --no-daemon
./gradlew assemble :instrumentation:apache-httpclient-4.0:muzzle --no-daemon
./gradlew assemble :instrumentation:jaxrs-client-2.0:muzzle --no-daemon

The first command should run the muzzle test for everything right?

Am I doing something wrong?

I feel like I should change it to versions = "(,3.0.0)".

tyroneyu commented 1 year ago

@shashank11p

https://github.com/hypertrace/javaagent/actions/runs/4682945372/jobs/8297430357#step:5:411 Looks like the tests still fail. I looked a bit closer at the previous GHA runs and "3.0.0" never runs and succeeds. I have no idea why. I also don't know why the previous run (that included the skipVersions.add(4.0.0)) was successful.

Lastly, I don't know why when running on my mac from the command line, this succeeds as well.

./gradlew assemble muzzle --no-daemon
./gradlew assemble :instrumentation:apache-httpclient-4.0:muzzle --no-daemon
./gradlew assemble :instrumentation:jaxrs-client-2.0:muzzle --no-daemon

The first command should run the muzzle test for everything right?

Am I doing something wrong?

I feel like I should change it to versions = "(,3.0.0)".

I retriggerred the muzzle failed run and it succeeded. The 3.0.0 is NOT run there and it succeeds. I do not know why 3.0.0 is not triggered. I'll change it to versions = "(,3.0.0)"