Multiple 500 errors when google caliper tries to upload benchmark results to microbenchmarks.appspot.com

206 views Asked by At

I'm seeing multiple HTTP 500 errors when Caliper tries to upload the JSON result files for the benchmarks I'm running. The logs are filled with exceptions similar to the one below:

Dec 19, 2013 3:29:20 PM com.google.caliper.runner.ResultsUploader logUploadFailure
SEVERE: Could not upload trial c0e4f478-7408-4050-88d3-7446e21bb7a1. Consider uploading it manually.
com.sun.jersey.api.client.UniformInterfaceException: POST https://microbenchmarks.appspot.com/data/trials?key={my-valid-api-key} returned a response status of 500 Internal Server Error
    at com.sun.jersey.api.client.WebResource.voidHandle(WebResource.java:697)
    at com.sun.jersey.api.client.WebResource.access$400(WebResource.java:74)
    at com.sun.jersey.api.client.WebResource$Builder.post(WebResource.java:548)
    at com.google.caliper.runner.ResultsUploader.processTrial(ResultsUploader.java:104)
    at com.google.caliper.runner.ExperimentingCaliperRun.run(ExperimentingCaliperRun.java:231)
    at com.google.caliper.runner.CaliperMain.exitlessMain(CaliperMain.java:135)
    at com.google.caliper.runner.CaliperMain.main(CaliperMain.java:78)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at org.codehaus.mojo.exec.ExecJavaMojo$1.run(ExecJavaMojo.java:297)
    at java.lang.Thread.run(Thread.java:695)

However, a report does show up on the /runs page under my account, so it seems it's able to upload at least some of them. Doing a curl POST to the specified URL with any of the failed trials results in the same error.

Has anyone else encountered these errors? Is there something I'm missing in my configuration?

Caliper config.properties:

# Caliper config file
# Run with --print-config to see all of the options being applied

# INSTRUMENT CONFIG
# instrument.micro.options.warmup=10s
# instrument.micro.options.timingInterval=500ms
# instrument.micro.options.reportedIntervals=7
# instrument.micro.options.maxRuntime=10s

# VM CONFIG
vm.args=-Xmx3g -Xms3g

# See the Caliper webapp to get a key so you can associate results with your account
results.upload.options.key={my-valid-api-key}

Caliper version:

    <dependency>
        <groupId>com.google.caliper</groupId>
        <artifactId>caliper</artifactId>
        <version>1.0-beta-SNAPSHOT</version>
    </dependency>

System properties:

Apache Maven 3.1.1 (0728685237757ffbf44136acec0402957f723d9a; 2013-09-17 08:22:22-0700)
Maven home: ~/maven3/apache-maven-3.1.1
Java version: 1.6.0_65, vendor: Apple Inc.
Java home: /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home
Default locale: en_US, platform encoding: MacRoman
OS name: "mac os x", version: "10.9.1", arch: "x86_64", family: "mac"

Also, the error logs suggest uploading the failed results manually. However, I don't see any option on the Microbenchmarks Appspot page to upload results.

Edit 1: Benchmark launch command:

mvn exec:java -Dexec.mainClass="com.google.caliper.runner.CaliperMain" -Dexec.args="my.benchmarkclass"
0

There are 0 answers