What's Changing in the 2.0 Snapshot?

Well, I’ll keep poking. Frustrating!!!

This was literally working as-is yesterday.

Does this project works for you?
I just ran it locally with a clean maven local repository and everything went fine.

gatling-maven-plugin-demo.zip (107 KB)

org.scala-lang
scala-compiler
2.10.3


io.fastjson
boon
0.7

BTW, why do you downgrade scala and boon?
Scala might not be a problem, but Boon probably is: we use 0.13 and many bugs have been fixed, I don’t even know if we’re compatible with 0.7.

Ok - so I went back to a machine that I haven’t touched since yesterday to do some investigation (I have a small army of them)

When I run the untouched machine, I get an error. It’s similar (if not identical to) the error I get when running the gatling-maven-plugin-demo on the same machine. Errors duplicated below.

I will now clean-out m2 on this machine and run again and follow up with those results in another email.

[ERROR] Failed to execute goal io.gatling:gatling-maven-plugin:2.0.0-SNAPSHOT:execute (default-cli) on project gatling-maven-plugin-demo: Execution default-cli of goal io.gatling:gatling-maven-plugin:2.0.0-SNAPSHOT:execute failed: A required class was missing while executing io.gatling:gatling-maven-plugin:2.0.0-SNAPSHOT:execute: io/gatling/app/CommandLineConstants$short$
[ERROR] -----------------------------------------------------
[ERROR] realm = plugin>io.gatling:gatling-maven-plugin:2.0.0-SNAPSHOT
[ERROR] strategy = org.codehaus.plexus.classworlds.strategy.SelfFirstStrategy
[ERROR] urls[0] = file:/home/twc-user/.m2/repository/io/gatling/gatling-maven-plugin/2.0.0-SNAPSHOT/gatling-maven-plugin-2.0.0-SNAPSHOT.jar
[ERROR] urls[1] = file:/home/twc-user/.m2/repository/io/gatling/gatling-app/2.0.0-SNAPSHOT/gatling-app-2.0.0-SNAPSHOT.jar
[ERROR] urls[2] = file:/home/twc-user/.m2/repository/org/scala-lang/scala-library/2.10.3/scala-library-2.10.3.jar
[ERROR] urls[3] = file:/home/twc-user/.m2/repository/io/gatling/gatling-core/2.0.0-SNAPSHOT/gatling-core-2.0.0-SNAPSHOT.jar
[ERROR] urls[4] = file:/home/twc-user/.m2/repository/org/scala-lang/scala-compiler/2.10.3/scala-compiler-2.10.3.jar
[ERROR] urls[5] = file:/home/twc-user/.m2/repository/io/gatling/jsr166e/1.0/jsr166e-1.0.jar
[ERROR] urls[6] = file:/home/twc-user/.m2/repository/com/typesafe/akka/akka-actor_2.10/2.2.3/akka-actor_2.10-2.2.3.jar
[ERROR] urls[7] = file:/home/twc-user/.m2/repository/net/sf/saxon/Saxon-HE/9.5.1-4/Saxon-HE-9.5.1-4-compressed.jar
[ERROR] urls[8] = file:/home/twc-user/.m2/repository/joda-time/joda-time/2.3/joda-time-2.3.jar
[ERROR] urls[9] = file:/home/twc-user/.m2/repository/org/joda/joda-convert/1.5/joda-convert-1.5.jar
[ERROR] urls[10] = file:/home/twc-user/.m2/repository/org/slf4j/slf4j-api/1.7.5/slf4j-api-1.7.5.jar
[ERROR] urls[11] = file:/home/twc-user/.m2/repository/com/typesafe/scalalogging-slf4j_2.10/1.0.1/scalalogging-slf4j_2.10-1.0.1.jar
[ERROR] urls[12] = file:/home/twc-user/.m2/repository/org/scala-lang/scala-reflect/2.10.3/scala-reflect-2.10.3.jar
[ERROR] urls[13] = file:/home/twc-user/.m2/repository/io/gatling/jsonpath_2.10/0.3.2/jsonpath_2.10-0.3.2.jar
[ERROR] urls[14] = file:/home/twc-user/.m2/repository/com/fasterxml/jackson/core/jackson-databind/2.3.0/jackson-databind-2.3.0.jar
[ERROR] urls[15] = file:/home/twc-user/.m2/repository/com/fasterxml/jackson/core/jackson-annotations/2.3.0/jackson-annotations-2.3.0.jar
[ERROR] urls[16] = file:/home/twc-user/.m2/repository/com/fasterxml/jackson/core/jackson-core/2.3.0/jackson-core-2.3.0.jar
[ERROR] urls[17] = file:/home/twc-user/.m2/repository/io/fastjson/boon/0.7/boon-0.7.jar
[ERROR] urls[18] = file:/home/twc-user/.m2/repository/org/apache/commons/commons-math3/3.2/commons-math3-3.2.jar
[ERROR] urls[19] = file:/home/twc-user/.m2/repository/org/jodd/jodd-lagarto/3.4.10/jodd-lagarto-3.4.10.jar
[ERROR] urls[20] = file:/home/twc-user/.m2/repository/org/jodd/jodd-core/3.4.10/jodd-core-3.4.10.jar
[ERROR] urls[21] = file:/home/twc-user/.m2/repository/commons-io/commons-io/2.4/commons-io-2.4.jar
[ERROR] urls[22] = file:/home/twc-user/.m2/repository/com/typesafe/config/1.2.0/config-1.2.0.jar
[ERROR] urls[23] = file:/home/twc-user/.m2/repository/com/dongxiguo/fastring_2.10/0.2.2/fastring_2.10-0.2.2.jar
[ERROR] urls[24] = file:/home/twc-user/.m2/repository/net/sf/opencsv/opencsv/2.3/opencsv-2.3.jar
[ERROR] urls[25] = file:/home/twc-user/.m2/repository/ch/qos/logback/logback-classic/1.0.13/logback-classic-1.0.13.jar
[ERROR] urls[26] = file:/home/twc-user/.m2/repository/ch/qos/logback/logback-core/1.0.13/logback-core-1.0.13.jar
[ERROR] urls[27] = file:/home/twc-user/.m2/repository/io/gatling/gatling-http/2.0.0-SNAPSHOT/gatling-http-2.0.0-SNAPSHOT.jar
[ERROR] urls[28] = file:/home/twc-user/.m2/repository/com/ning/async-http-client/1.7.24/async-http-client-1.7.24.jar
[ERROR] urls[29] = file:/home/twc-user/.m2/repository/io/netty/netty/3.9.0.Final/netty-3.9.0.Final.jar
[ERROR] urls[30] = file:/home/twc-user/.m2/repository/com/jcraft/jzlib/1.1.3/jzlib-1.1.3.jar
[ERROR] urls[31] = file:/home/twc-user/.m2/repository/io/gatling/gatling-jdbc/2.0.0-SNAPSHOT/gatling-jdbc-2.0.0-SNAPSHOT.jar
[ERROR] urls[32] = file:/home/twc-user/.m2/repository/io/gatling/gatling-redis/2.0.0-SNAPSHOT/gatling-redis-2.0.0-SNAPSHOT.jar
[ERROR] urls[33] = file:/home/twc-user/.m2/repository/net/debasishg/redisclient_2.10/2.11/redisclient_2.10-2.11.jar
[ERROR] urls[34] = file:/home/twc-user/.m2/repository/commons-pool/commons-pool/1.6/commons-pool-1.6.jar
[ERROR] urls[35] = file:/home/twc-user/.m2/repository/io/gatling/gatling-metrics/2.0.0-SNAPSHOT/gatling-metrics-2.0.0-SNAPSHOT.jar
[ERROR] urls[36] = file:/home/twc-user/.m2/repository/io/gatling/gatling-charts/2.0.0-SNAPSHOT/gatling-charts-2.0.0-SNAPSHOT.jar
[ERROR] urls[37] = file:/home/twc-user/.m2/repository/com/github/scopt/scopt_2.10/3.2.0/scopt_2.10-3.2.0.jar
[ERROR] urls[38] = file:/home/twc-user/.m2/repository/com/typesafe/zinc/zinc/0.3.2-M1/zinc-0.3.2-M1.jar
[ERROR] urls[39] = file:/home/twc-user/.m2/repository/com/typesafe/sbt/incremental-compiler/0.13.2-M1/incremental-compiler-0.13.2-M1.jar
[ERROR] urls[40] = file:/home/twc-user/.m2/repository/com/typesafe/sbt/sbt-interface/0.13.2-M1/sbt-interface-0.13.2-M1.jar
[ERROR] urls[41] = file:/home/twc-user/.m2/repository/com/typesafe/sbt/compiler-interface/0.13.2-M1/compiler-interface-0.13.2-M1-sources.jar
[ERROR] urls[42] = file:/home/twc-user/.m2/repository/org/apache/commons/commons-exec/1.2/commons-exec-1.2.jar
[ERROR] urls[43] = file:/home/twc-user/.m2/repository/org/codehaus/plexus/plexus-component-annotations/1.5.4/plexus-component-annotations-1.5.4.jar
[ERROR] urls[44] = file:/home/twc-user/.m2/repository/org/sonatype/sisu/sisu-inject-bean/1.4.2/sisu-inject-bean-1.4.2.jar
[ERROR] urls[45] = file:/home/twc-user/.m2/repository/org/sonatype/sisu/sisu-guice/2.1.7/sisu-guice-2.1.7-noaop.jar
[ERROR] urls[46] = file:/home/twc-user/.m2/repository/net/alchim31/maven/scala-maven-plugin/3.1.6/scala-maven-plugin-3.1.6.jar
[ERROR] urls[47] = file:/home/twc-user/.m2/repository/org/sonatype/aether/aether-util/1.13.1/aether-util-1.13.1.jar
[ERROR] urls[48] = file:/home/twc-user/.m2/repository/org/codehaus/plexus/plexus-interpolation/1.14/plexus-interpolation-1.14.jar
[ERROR] urls[49] = file:/home/twc-user/.m2/repository/org/sonatype/plexus/plexus-sec-dispatcher/1.3/plexus-sec-dispatcher-1.3.jar
[ERROR] urls[50] = file:/home/twc-user/.m2/repository/org/sonatype/plexus/plexus-cipher/1.4/plexus-cipher-1.4.jar
[ERROR] urls[51] = file:/home/twc-user/.m2/repository/org/codehaus/plexus/plexus-utils/3.0/plexus-utils-3.0.jar
[ERROR] Number of foreign imports: 1
[ERROR] import: Entry[import from realm ClassRealm[maven.api, parent: null]]
[ERROR]
[ERROR] -----------------------------------------------------: io.gatling.app.CommandLineConstants$short$
[ERROR] → [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/PluginContainerException

At some point, boon was asking for version 51 or something crazy like that, so I had to manually set the version to get things to work.

Ok, so when I renamed m2 and re-ran the gatling-maven-plugin-demo it worked.

So then I switched back over to my project and run - something failed.

So I think that means there’s some change in gatling that I’ve missed.

I might need to clear out m2 on my local development machine to see the difference in my IDE. Gonna try that now.

A required class was missing while executing io.gatling:gatling-maven-plugin:2.0.0-SNAPSHOT:execute:

io/gatling/app/CommandLineConstants$short$

So that means that you don't fetch the proper latest gatling-app snapshot.

Could it be that you have an enterprise repository that proxies central?

At some point, boon was asking for version 51 or something crazy like

that, so I had to manually set the version to get things to work.

Boon requires Java 7 indeed, but we don't use it if Gatling runs with JDK6,
we fall back to Jackson.

FYI, both you and I were misunderstanding the metadata lastupdated attribute: http://maven.apache.org/ref/3.2.1/maven-repository-metadata/repository-metadata.html

It doesn’t mean the timestamp of the latest deployed snapshot but when the metadata file was last updated.
So you really have to compare the checksum to check if you have the proper version.

I just deleted a bunch of tests that I didn’t need.

Found an old randomSwitch implementation in there that needed to be updated to uniformRandomSwitch.

It seems like the gatling plugin can be somewhat inconsistent printing out run-time compilation failures. I swear I think I’ve seen it do it before, but this time, all I was getting was “Compilation failed”

Could I have your old bundle, please?

Last friday, I tested some simulations with compilations errors and those were clearly reported, but my test case was probably more simple than yours.

That’s not a Zinc regression, last time we upgraded was 2 months ago.

Puzzled…

Anyway, glad you found the root cause.