0

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"
kodeninja
  • 339
  • 1
  • 7
  • 23
  • I just went and looked at the server-side logs and there appears to be an issue in the persistence layer that's causing issues. https://code.google.com/p/caliper/issues/detail?id=282 has been filed and the issue will be addressed shortly. Sorry about that. – gk5885 Dec 20 '13 at 05:49
  • As noted on the bug, the size limit has been increased in a few places. Hopefully, your issue should be resolved. – gk5885 Dec 20 '13 at 20:57
  • Thanks, Greg! I ran the tests again now and did not see any upload errors this time. Btw, is there a plan to open source the `Microbenchmarking Appspot app` as well? It would be nice to host it locally! – kodeninja Dec 20 '13 at 23:04

0 Answers0