brianfrankcooper / YCSB

Yahoo! Cloud Serving Benchmark
Apache License 2.0
4.94k stars 2.24k forks source link

java.lang.NullPointerException at the end of "load" phase for Orientdb? #1045

Open funtowrite opened 7 years ago

funtowrite commented 7 years ago

Hi, I've been trying to benchmark Orientdb with YCSB and wanted to create a database with a total record size of 4GB (67108864 records). The problem I have is that when the "load" phase is almost complete, it runs into java.lang.NullPointerExceptions and terminates, so I am missing some 200,000 records. I've tried dropping the database and re-inserting it 5 times, but each time I get a similar behavior where it runs into error when it has about 1 minute left to completion. There is no error output from the server side.

The command I used for YCSB is: ./bin/ycsb load orientdb -P ./workloads/custom_workload -s -threads 16 -p orientdb.url=remote:localhost/ycsb -p orientdb.user=admin -p orientdb.password=admin -p orientdb.remote.storagetype=plocal

In custom_workload: workload=com.yahoo.ycsb.workloads.CoreWorkload recordcount=67108864 core_workload_insertion_retry_limit = 100 core_workload_insertion_retry_interval = 3 timeseries.granularity=1000 histogram.buckets=1000

Here is part of the error trace that I'm getting (I set max # retries to 100 with 3 seconds in between):

2017-09-30 03:49:55:283 11640 sec: 66943824 operations; 7919.5 current ops/sec; est completion in 29 seconds [INSERT AverageLatency(us)=2018.04] 
java.lang.NullPointerException
        at com.yahoo.ycsb.db.OrientDBClient.insert(OrientDBClient.java:196)
        at com.yahoo.ycsb.DBWrapper.insert(DBWrapper.java:240)
        at com.yahoo.ycsb.workloads.CoreWorkload.doInsert(CoreWorkload.java:593)
        at com.yahoo.ycsb.ClientThread.run(Client.java:475)
        at java.lang.Thread.run(Thread.java:724)
java.lang.NullPointerException
        at com.yahoo.ycsb.db.OrientDBClient.insert(OrientDBClient.java:196)
        at com.yahoo.ycsb.DBWrapper.insert(DBWrapper.java:240)
        at com.yahoo.ycsb.workloads.CoreWorkload.doInsert(CoreWorkload.java:593)
        at com.yahoo.ycsb.ClientThread.run(Client.java:475)
        at java.lang.Thread.run(Thread.java:724)

Can you please help me? Thank you!

busbey commented 7 years ago

which version of YCSB are you using? I'm trying to get the numbers in the stacktrace to line up with source.

funtowrite commented 7 years ago

@busbey I'm using ycsb-0.12.0, the pre-compiled version

Shortyxxy commented 7 years ago

I just want to add that i can confirm this issue with version 0.12.0, but for me it only happens when using multiple threads with the -threads parameter. The loading phase as well as the run phase with only one single thread works fine for me.