Open amgads opened 4 years ago
Any input?
Should I conclude there's no support for password, yet? the readme file https://github.com/brianfrankcooper/YCSB/tree/0.14.0/redis#4-provide-redis-connection-parameters suggests otherwise! Any one has used it?
Any update or insight?
this has been for 2 month now -- any help?
we're all volunteer based here, so please set your expectations accordingly.
What does the redis server log show when you try to do this? is it showing an authentication attempt?
What happens if you turn up debug logging for the client libraries?
Thanks Sean - I understand!
What happens if you turn up debug logging for the client libraries? I assume this on the ycsb client side. Would you kindly tell me how to turn it on? is there a specific log generated or still output will be stdout?
I assume this on the ycsb client side. Would you kindly tell me how to turn it on? is there a specific log generated or still output will be stdout?
YCSB client log output is controlled via whatever slf4j binding is present. but a quick look at the redis binding doesn't really have any relevant logging.
So the logging we'd want to increase is in the Jedis library that is used. The first step would be to figure out what logging framework it uses so we can adjust the logging level for it.
1) Running the "monitor" command on the Redis Server will show when an AUTH command is executed, it won't tell if it's a success or not. Here's the output on the server pods indicating received an AUTH with the password
1595363464.619183 [0 127.0.0.1:45544] "AUTH"
"WZeW5C2IeckXA16q0j4gR6zsXaKD0RL5MpHw9D8vWMS2Ka2S4K10hhj2iwM3hmYd"
2) The Redis server does though send the error message "NOAUTH Authentication required" back to client which shows in the return of the command on the client side as follows:
bash-4.2# bin/ycsb load redis -s -P workloads/workloada -threads 4 /etc/alternatives/jre_openjdk/bin/java -cp /usr/lib/PerfBench/ycsb-0.17.0/redis-binding/conf:/usr/lib/PerfBench/ycsb-0.17.0/conf:/usr/lib/PerfBench/ycsb-0.17.0/lib/core-0.17.0.jar:/usr/lib/PerfBench/ycsb-0.17.0/lib/jackson-core-asl-1.9.4.jar:/usr/lib/PerfBench/ycsb-0.17.0/lib/jackson-mapper-asl-1.9.4.jar:/usr/lib/PerfBench/ycsb-0.17.0/lib/HdrHistogram-2.1.4.jar:/usr/lib/PerfBench/ycsb-0.17.0/lib/htrace-core4-4.1.0-incubating.jar:/usr/lib/PerfBench/ycsb-0.17.0/redis-binding/lib/commons-pool2-2.4.2.jar:/usr/lib/PerfBench/ycsb-0.17.0/redis-binding/lib/redis-binding-0.17.0.jar:/usr/lib/PerfBench/ycsb-0.17.0/redis-binding/lib/jedis-2.9.0.jar site.ycsb.Client -db site.ycsb.db.RedisClient -s -P workloads/workloada -threads 4 -load Command line: -db site.ycsb.db.RedisClient -s -P workloads/workloada -threads 4 -load YCSB Client 0.17.0
Loading workload...
Starting test.
2020-07-21 20:31:00:545 0 sec: 0 operations; est completion in 0 second
Exception in thread "Thread-5" redis.clients.jedis.exceptions.JedisDataException: NOAUTH Authentication required.
at redis.clients.jedis.Protocol.processError(Protocol.java:127)
at redis.clients.jedis.Protocol.process(Protocol.java:161)
at redis.clients.jedis.Protocol.read(Protocol.java:215)
at redis.clients.jedis.Connection.readProtocolWithCheckingBroken(Connection.java:340)
at redis.clients.jedis.Connection.getRawObjectMultiBulkReply(Connection.java:285)
at redis.clients.jedis.Connection.getObjectMultiBulkReply(Connection.java:291)
at redis.clients.jedis.Jedis.clusterSlots(Jedis.java:3376)
at redis.clients.jedis.JedisClusterInfoCache.discoverClusterNodesAndSlots(JedisClusterInfoCache.java:54)
at redis.clients.jedis.JedisClusterConnectionHandler.initializeSlotsCache(JedisClusterConnectionHandler.java:39)
at redis.clients.jedis.JedisClusterConnectionHandler.
What is the next step?
Any idea?
Any idea how to move forward with the password issue? I'll need to use TLS as well, but if password is failing that would affect TLS as well.
Using the latest YCSB -- 0.17.0 -- trying to run on redis cluster with password auth. bash-4.2$ redis-cli --version redis-cli 5.0.7 bash-4.2$
1) If I have the cluster without password, everything works fine:
both: bin/ycsb load redis -P workloads/workloada -p redis.host=10.254.143.239 -p redis.port=6379 -p redis.cluster=true and
bin/ycsb run redis -P workloads/workloada -p redis.host=10.254.143.239 -p redis.port=6379 -p redis.cluster=true
are successful
2) when installed redis cluster with password for auth, same runs failed and gave the following erros, appreciate your support
bin/ycsb load redis -P workloads/workloada -p redis.host=10.254.172.37 -p redis.port=6379 -p redis.cluster=true -p redis.password=amgad
/etc/alternatives/jre_openjdk/bin/java -cp /usr/lib/PerfBench/ycsb-0.17.0/redis-binding/conf:/usr/lib/PerfBench/ycsb-0.17.0/conf:/usr/lib/PerfBench/ycsb-0.17.0/lib/core-0.17.0.jar:/usr/lib/PerfBench/ycsb-0.17.0/lib/jackson-core-asl-1.9.4.jar:/usr/lib/PerfBench/ycsb-0.17.0/lib/jackson-mapper-asl-1.9.4.jar:/usr/lib/PerfBench/ycsb-0.17.0/lib/HdrHistogram-2.1.4.jar:/usr/lib/PerfBench/ycsb-0.17.0/lib/htrace-core4-4.1.0-incubating.jar:/usr/lib/PerfBench/ycsb-0.17.0/redis-binding/lib/commons-pool2-2.4.2.jar:/usr/lib/PerfBench/ycsb-0.17.0/redis-binding/lib/redis-binding-0.17.0.jar:/usr/lib/PerfBench/ycsb-0.17.0/redis-binding/lib/jedis-2.9.0.jar site.ycsb.Client -db site.ycsb.db.RedisClient -P workloads/workloada -p redis.host=10.254.172.37 -p redis.port=6379 -p redis.cluster=true -p redis.password=amgad -load Command line: -db site.ycsb.db.RedisClient -P workloads/workloada -p redis.host=10.254.172.37 -p redis.port=6379 -p redis.cluster=true -p redis.password=amgad -load YCSB Client 0.17.0
Loading workload... Starting test. Exception in thread "Thread-2" redis.clients.jedis.exceptions.JedisDataException: NOAUTH Authentication required. at redis.clients.jedis.Protocol.processError(Protocol.java:127) at redis.clients.jedis.Protocol.process(Protocol.java:161) at redis.clients.jedis.Protocol.read(Protocol.java:215) at redis.clients.jedis.Connection.readProtocolWithCheckingBroken(Connection.java:340) at redis.clients.jedis.Connection.getRawObjectMultiBulkReply(Connection.java:285) at redis.clients.jedis.Connection.getObjectMultiBulkReply(Connection.java:291) at redis.clients.jedis.Jedis.clusterSlots(Jedis.java:3376) at redis.clients.jedis.JedisClusterInfoCache.discoverClusterNodesAndSlots(JedisClusterInfoCache.java:54) at redis.clients.jedis.JedisClusterConnectionHandler.initializeSlotsCache(JedisClusterConnectionHandler.java:39) at redis.clients.jedis.JedisClusterConnectionHandler.(JedisClusterConnectionHandler.java:17)
at redis.clients.jedis.JedisSlotBasedConnectionHandler.(JedisSlotBasedConnectionHandler.java:20)
at redis.clients.jedis.JedisSlotBasedConnectionHandler.(JedisSlotBasedConnectionHandler.java:15)
at redis.clients.jedis.BinaryJedisCluster.(BinaryJedisCluster.java:41)
at redis.clients.jedis.JedisCluster.(JedisCluster.java:83)
at redis.clients.jedis.JedisCluster.(JedisCluster.java:70)
at redis.clients.jedis.JedisCluster.(JedisCluster.java:66)
at redis.clients.jedis.JedisCluster.(JedisCluster.java:62)
at site.ycsb.db.RedisClient.init(RedisClient.java:82)
at site.ycsb.DBWrapper.init(DBWrapper.java:86)
at site.ycsb.ClientThread.run(ClientThread.java:91)
at java.lang.Thread.run(Thread.java:748)
[OVERALL], RunTime(ms), 155
[OVERALL], Throughput(ops/sec), 0.0
[TOTAL_GCS_Copy], Count, 0
[TOTAL_GC_TIME_Copy], Time(ms), 0
[TOTAL_GCTIME%_Copy], Time(%), 0.0
[TOTAL_GCS_MarkSweepCompact], Count, 0
[TOTAL_GC_TIME_MarkSweepCompact], Time(ms), 0
[TOTAL_GCTIME%_MarkSweepCompact], Time(%), 0.0
[TOTAL_GCs], Count, 0
[TOTAL_GC_TIME], Time(ms), 0
[TOTAL_GCTIME%], Time(%), 0.0
bash-4.2#