brianfrankcooper / YCSB

Yahoo! Cloud Serving Benchmark
Apache License 2.0
4.91k stars 2.22k forks source link

Redis WorkloadA failing #1595

Closed Kadle11 closed 2 years ago

Kadle11 commented 2 years ago

I am trying to follow the ReadME in the Redis folder. I have the redis-server on localhost:6379 and the command I am running is -

./bin/ycsb load redis -s -P workloads/workloada -p "redis.host=127.0.0.1" -p "redis.port=6379" > ../outputLoad.txt
[WARN]  Running against a source checkout. In order to get our runtime dependencies we'll have to invoke Maven. Depending on the state of your system, this may take ~30-45 seconds
[DEBUG]  Running 'mvn -pl site.ycsb:redis-binding -am package -DskipTests dependency:build-classpath -DincludeScope=compile -Dmdep.outputFilterFile=true'
/usr/lib/jvm/java-1.8.0-openjdk/bin/java -cp /home/vrao79/YCSB/redis/conf:/home/vrao79/YCSB/redis/target/redis-binding-0.18.0-SNAPSHOT.jar:/root/.m2/repository/org/apache/htrace/htrace-core4/4.1.0-incubating/htrace-core4-4.1.0-incubating.jar:/root/.m2/repository/org/hdrhistogram/HdrHistogram/2.1.4/HdrHistogram-2.1.4.jar:/root/.m2/repository/org/codehaus/jackson/jackson-mapper-asl/1.9.4/jackson-mapper-asl-1.9.4.jar:/root/.m2/repository/redis/clients/jedis/2.9.0/jedis-2.9.0.jar:/root/.m2/repository/org/apache/commons/commons-pool2/2.4.2/commons-pool2-2.4.2.jar:/root/.m2/repository/org/codehaus/jackson/jackson-core-asl/1.9.4/jackson-core-asl-1.9.4.jar:/home/vrao79/YCSB/core/target/core-0.18.0-SNAPSHOT.jar site.ycsb.Client -db site.ycsb.db.RedisClient -s -P workloads/workloada -p redis.host=127.0.0.1 -p redis.port=6379 -load
Command line: -db site.ycsb.db.RedisClient -s -P workloads/workloada -p redis.host=127.0.0.1 -p redis.port=6379 -load
YCSB Client 0.18.0-SNAPSHOT

Loading workload...
Starting test.
DBWrapper: report latency for each error is false and specific error codes to track for latency are: []
2022-03-09 04:31:50:493 0 sec: 0 operations; est completion in 0 second 
redis.clients.jedis.exceptions.JedisConnectionException: java.net.SocketTimeoutException: Read timed out
    at redis.clients.util.RedisInputStream.ensureFill(RedisInputStream.java:202)
    at redis.clients.util.RedisInputStream.readByte(RedisInputStream.java:40)
    at redis.clients.jedis.Protocol.process(Protocol.java:151)
    at redis.clients.jedis.Protocol.read(Protocol.java:215)
    at redis.clients.jedis.Connection.readProtocolWithCheckingBroken(Connection.java:340)
    at redis.clients.jedis.Connection.getStatusCodeReply(Connection.java:239)
    at redis.clients.jedis.Jedis.hmset(Jedis.java:705)
    at site.ycsb.db.RedisClient.insert(RedisClient.java:145)
    at site.ycsb.DBWrapper.insert(DBWrapper.java:227)
    at site.ycsb.workloads.CoreWorkload.doInsert(CoreWorkload.java:621)
    at site.ycsb.ClientThread.run(ClientThread.java:135)
    at java.lang.Thread.run(Thread.java:748)
Caused by: java.net.SocketTimeoutException: Read timed out
    at java.net.SocketInputStream.socketRead0(Native Method)
    at java.net.SocketInputStream.socketRead(SocketInputStream.java:116)
    at java.net.SocketInputStream.read(SocketInputStream.java:171)
    at java.net.SocketInputStream.read(SocketInputStream.java:141)
    at java.net.SocketInputStream.read(SocketInputStream.java:127)
    at redis.clients.util.RedisInputStream.ensureFill(RedisInputStream.java:196)
    ... 11 more

The output file has this -

redis.clients.jedis.exceptions.JedisConnectionException: java.net.SocketTimeoutException: Read timed out
    at redis.clients.util.RedisInputStream.ensureFill(RedisInputStream.java:202)
    at redis.clients.util.RedisInputStream.readByte(RedisInputStream.java:40)
    at redis.clients.jedis.Protocol.process(Protocol.java:151)
    at redis.clients.jedis.Protocol.read(Protocol.java:215)
    at redis.clients.jedis.Connection.readProtocolWithCheckingBroken(Connection.java:340)
    at redis.clients.jedis.Connection.getStatusCodeReply(Connection.java:239)
    at redis.clients.jedis.Jedis.hmset(Jedis.java:705)
    at site.ycsb.db.RedisClient.insert(RedisClient.java:145)
    at site.ycsb.DBWrapper.insert(DBWrapper.java:227)
    at site.ycsb.workloads.CoreWorkload.doInsert(CoreWorkload.java:621)
    at site.ycsb.ClientThread.run(ClientThread.java:135)
    at java.lang.Thread.run(Thread.java:748)
Caused by: java.net.SocketTimeoutException: Read timed out
    at java.net.SocketInputStream.socketRead0(Native Method)
    at java.net.SocketInputStream.socketRead(SocketInputStream.java:116)
    at java.net.SocketInputStream.read(SocketInputStream.java:171)
    at java.net.SocketInputStream.read(SocketInputStream.java:141)
    at java.net.SocketInputStream.read(SocketInputStream.java:127)
    at redis.clients.util.RedisInputStream.ensureFill(RedisInputStream.java:196)
    ... 11 more

When I increase the timeout to 20s, The insertions take place, but the same error occurs -

2022-03-09 04:47:37:206 10 sec: 894 operations; 89.4 current ops/sec; est completion in 2 second [INSERT: Count=894, Max=7139, Min=101, Avg=142.02, 90=163, 99=327, 99.9=1120, 99.99=7139] 
2022-03-09 04:47:47:206 20 sec: 894 operations; 0 current ops/sec; est completion in 3 second [INSERT: Count=0, Max=0, Min=9223372036854775807, Avg=�, 90=0, 99=0, 99.9=0, 99.99=0] 
2022-03-09 04:47:57:206 30 sec: 894 operations; 0 current ops/sec; est completion in 4 second [INSERT: Count=0, Max=0, Min=9223372036854775807, Avg=�, 90=0, 99=0, 99.9=0, 99.99=0] 

// Followed by the same error as above

Please let me know if there are any steps I can take to debug this. Thank you!