intel-cloud / cosbench

a benchmark tool for cloud object storage service
Other
573 stars 242 forks source link

librados benchmark exception #352

Open dthpulse opened 7 years ago

dthpulse commented 7 years ago

Job failing while running test based on your librados-sample-annotated.xml with error:

2017-04-07 16:40:13,102 [ERROR] [AbstractCommandTasklet] - cannot parse response body
org.codehaus.jackson.JsonParseException: Unexpected character ('<' (code 60)): expected a valid value (number, String, array, object, 'true', 'false' or 'null')
 at [Source: java.io.StringReader@54a297ce; line: 1, column: 2]
        at org.codehaus.jackson.JsonParser._constructError(JsonParser.java:929)
        at org.codehaus.jackson.impl.JsonParserBase._reportError(JsonParserBase.java:632)
        at org.codehaus.jackson.impl.JsonParserBase._reportUnexpectedChar(JsonParserBase.java:565)
        at org.codehaus.jackson.impl.ReaderBasedParser._handleUnexpectedValue(ReaderBasedParser.java:429)
        at org.codehaus.jackson.impl.ReaderBasedParser.nextToken(ReaderBasedParser.java:192)
        at org.codehaus.jackson.map.ObjectMapper._initForReading(ObjectMapper.java:1319)
        at org.codehaus.jackson.map.ObjectMapper._readMapAndClose(ObjectMapper.java:1275)
        at org.codehaus.jackson.map.ObjectMapper.readValue(ObjectMapper.java:885)
        at com.intel.cosbench.controller.tasklet.AbstractCommandTasklet.issueCommand(Unknown Source)
        at com.intel.cosbench.controller.tasklet.Submitter.execute(Unknown Source)
        at com.intel.cosbench.controller.tasklet.AbstractTasklet.call(Unknown Source)
        at com.intel.cosbench.controller.tasklet.AbstractTasklet.call(Unknown Source)
        at java.util.concurrent.FutureTask.run(FutureTask.java:266)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
        at java.lang.Thread.run(Thread.java:745)

XML file:

<?xml version="1.0" encoding="UTF-8" ?>
<workload name="librados6" description="librados">

        <storage type="librados" config="endpoint=cmonitor.domain.eu;accesskey=admin;secretkey=kjdeIYD+AAAAABAAlJGdvMoKyKdNn+usXHtB3g==" />
        <!-- config for the connection. Enpoint could be e.g. the monitor node, secretkey is the Key from the admin Keyring-->

        <!-- Dont use librados to create containers (pools), they will default to only have 64 pgs, which renders them pretty useless, see http://ceph.com/docs/master/rados/operations/pools/-->
        <workflow>
                <workstage name="write - 240t - 4MB">
       <work name="write 4MB" workers="240" runtime="300">
          <operation type="write" config="cprefix=radtest;containers=c(1);oprefix=4m240t_;objects=s(1,10000);sizes=c(4)MB" />
       </work>
                </workstage>
                <!-- This will use 12 Threads and write 4MB Files for 300 seconds. It will put all of them into the pool radtest1 with names 4m12t_1 up to 4m12t_10000 and will then start over again. Atention: all drivers operate on the same namespace and will thus overwrite each others obejects-->

                <workstage name="read - 240t - 4MB">
       <work name="read 4MB" workers="240" runtime="30">
          <operation type="read" config="cprefix=radtest;containers=c(1);oprefix=4m_;objects=s(1,1000)" />
       </work>
                </workstage>
                <!-- Now reading files. Attention: You can only read files that exist. E.g. if 4m12t_905 does not exist, your Success Rate on reading will drop. -->
        </workflow>
</workload>
mkarpiarz commented 6 years ago

librados tests require librados installed on all the driver nodes.