-
Notifications
You must be signed in to change notification settings - Fork 2.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
when threads was bigger than recordcount, the load phase was keeping running even the recordcount reached #1176
Comments
Great catch! Do you have time to put together a PR to fail fast? |
(or bound the thread count to the number of operations if you prefer) |
Hi,I am sorry that I am not familiar with java. So fix this problem is beyond my power. Can you find someone else to fix this bug? |
I'll try. Thanks for the report! Whomever takes this up, the problem is that the extra threads end up being passed "0" for the record count, which is interpreted as "unlimited". So what we should do is ensure we don't make more threads than record count for load phase and operation count for run phase (probably also output an INFO log message that we're doing so). |
It's related to issue brianfrankcooper#1176
To solve issue brianfrankcooper#1176
when I run the following commad ,I take a long time to run but without stop.So I used the hbase shell to get the row of the table test and found the row was much bigger than 50
./bin/ycsb load hbase12 -p recordcount=50 -P ./workloads/workloada -p hosts=master -p table=test -p columnfamily=f1 -threads 55
[root@dell-003 YCSB]$ ./bin/ycsb load hbase12 -p recordcount=50 -P ./workloads/workloada -p hosts=master -p table=test -p columnfamily=f1 -threads 55
[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 com.yahoo.ycsb:hbase12-binding -am package -DskipTests dependency:build-classpath -DincludeScope=compile -Dmdep.outputFilterFile=true'
/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.171-8.b10.el7_5.x86_64/bin/java -cp /home/xjm/YCSB/hbase12/conf:/home/xjm/YCSB/hbase12/target/hbase12-binding-0.15.0-SNAPSHOT.jar:/home/xjm/.m2/repository/org/apache/htrace/htrace-core4/4.1.0-incubating/htrace-core4-4.1.0-incubating.jar:/home/xjm/YCSB/core/target/core-0.15.0-SNAPSHOT.jar:/home/xjm/.m2/repository/com/github/stephenc/findbugs/findbugs-annotations/1.3.9-1/findbugs-annotations-1.3.9-1.jar:/home/xjm/.m2/repository/org/hdrhistogram/HdrHistogram/2.1.4/HdrHistogram-2.1.4.jar:/home/xjm/.m2/repository/log4j/log4j/1.2.17/log4j-1.2.17.jar:/home/xjm/.m2/repository/org/apache/htrace/htrace-core/3.1.0-incubating/htrace-core-3.1.0-incubating.jar:/home/xjm/.m2/repository/org/apache/hbase/hbase-shaded-client/1.2.5/hbase-shaded-client-1.2.5.jar:/home/xjm/.m2/repository/org/slf4j/slf4j-log4j12/1.6.1/slf4j-log4j12-1.6.1.jar:/home/xjm/.m2/repository/org/codehaus/jackson/jackson-core-asl/1.9.4/jackson-core-asl-1.9.4.jar:/home/xjm/.m2/repository/commons-logging/commons-logging/1.2/commons-logging-1.2.jar:/home/xjm/.m2/repository/org/slf4j/slf4j-api/1.7.25/slf4j-api-1.7.25.jar:/home/xjm/YCSB/hbase10/target/hbase10-binding-0.15.0-SNAPSHOT.jar:/home/xjm/.m2/repository/org/codehaus/jackson/jackson-mapper-asl/1.9.4/jackson-mapper-asl-1.9.4.jar com.yahoo.ycsb.Client -db com.yahoo.ycsb.db.hbase12.HBaseClient12 -p recordcount=50 -P ./workloads/workloada -p hosts=master -p table=test -p columnfamily=f1 -threads 55 -load
Command line: -db com.yahoo.ycsb.db.hbase12.HBaseClient12 -p recordcount=50 -P ./workloads/workloada -p hosts=master -p table=test -p columnfamily=f1 -threads 55 -load
YCSB Client 0.15.0-SNAPSHOT
Loading workload...
log4j:WARN No appenders could be found for logger (org.apache.htrace.core.Tracer).
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.
Starting test.
DBWrapper: report latency for each error is false and specific error codes to track for latency are: []
DBWrapper: report latency for each error is false and specific error codes to track for latency are: []
DBWrapper: report latency for each error is false and specific error codes to track for latency are: []
DBWrapper: report latency for each error is false and specific error codes to track for latency are: []
DBWrapper: report latency for each error is false and specific error codes to track for latency are: []
DBWrapper: report latency for each error is false and specific error codes to track for latency are: []
DBWrapper: report latency for each error is false and specific error codes to track for latency are: []
DBWrapper: report latency for each error is false and specific error codes to track for latency are: []
DBWrapper: report latency for each error is false and specific error codes to track for latency are: []
DBWrapper: report latency for each error is false and specific error codes to track for latency are: []
DBWrapper: report latency for each error is false and specific error codes to track for latency are: []
DBWrapper: report latency for each error is false and specific error codes to track for latency are: []
DBWrapper: report latency for each error is false and specific error codes to track for latency are: []
DBWrapper: report latency for each error is false and specific error codes to track for latency are: []
DBWrapper: report latency for each error is false and specific error codes to track for latency are: []
DBWrapper: report latency for each error is false and specific error codes to track for latency are: []
DBWrapper: report latency for each error is false and specific error codes to track for latency are: []
DBWrapper: report latency for each error is false and specific error codes to track for latency are: []
DBWrapper: report latency for each error is false and specific error codes to track for latency are: []
DBWrapper: report latency for each error is false and specific error codes to track for latency are: []
DBWrapper: report latency for each error is false and specific error codes to track for latency are: []
DBWrapper: report latency for each error is false and specific error codes to track for latency are: []
DBWrapper: report latency for each error is false and specific error codes to track for latency are: []
DBWrapper: report latency for each error is false and specific error codes to track for latency are: []
DBWrapper: report latency for each error is false and specific error codes to track for latency are: []
DBWrapper: report latency for each error is false and specific error codes to track for latency are: []
DBWrapper: report latency for each error is false and specific error codes to track for latency are: []
DBWrapper: report latency for each error is false and specific error codes to track for latency are: []
DBWrapper: report latency for each error is false and specific error codes to track for latency are: []
DBWrapper: report latency for each error is false and specific error codes to track for latency are: []
DBWrapper: report latency for each error is false and specific error codes to track for latency are: []
DBWrapper: report latency for each error is false and specific error codes to track for latency are: []
DBWrapper: report latency for each error is false and specific error codes to track for latency are: []
DBWrapper: report latency for each error is false and specific error codes to track for latency are: []
DBWrapper: report latency for each error is false and specific error codes to track for latency are: []
DBWrapper: report latency for each error is false and specific error codes to track for latency are: []
DBWrapper: report latency for each error is false and specific error codes to track for latency are: []
DBWrapper: report latency for each error is false and specific error codes to track for latency are: []
DBWrapper: report latency for each error is false and specific error codes to track for latency are: []
DBWrapper: report latency for each error is false and specific error codes to track for latency are: []
DBWrapper: report latency for each error is false and specific error codes to track for latency are: []
DBWrapper: report latency for each error is false and specific error codes to track for latency are: []
DBWrapper: report latency for each error is false and specific error codes to track for latency are: []
DBWrapper: report latency for each error is false and specific error codes to track for latency are: []
DBWrapper: report latency for each error is false and specific error codes to track for latency are: []
DBWrapper: report latency for each error is false and specific error codes to track for latency are: []
DBWrapper: report latency for each error is false and specific error codes to track for latency are: []
DBWrapper: report latency for each error is false and specific error codes to track for latency are: []
DBWrapper: report latency for each error is false and specific error codes to track for latency are: []
DBWrapper: report latency for each error is false and specific error codes to track for latency are: []
DBWrapper: report latency for each error is false and specific error codes to track for latency are: []
DBWrapper: report latency for each error is false and specific error codes to track for latency are: []
DBWrapper: report latency for each error is false and specific error codes to track for latency are: []
DBWrapper: report latency for each error is false and specific error codes to track for latency are: []
DBWrapper: report latency for each error is false and specific error codes to track for latency are: []
^CTraceback (most recent call last):
File "./bin/ycsb", line 332, in
sys.exit(main())
File "./bin/ycsb", line 323, in main
return subprocess.call(ycsb_command)
File "/usr/lib64/python2.7/subprocess.py", line 524, in call
return Popen(*popenargs, **kwargs).wait()
File "/usr/lib64/python2.7/subprocess.py", line 1376, in wait
pid, sts = _eintr_retry_call(os.waitpid, self.pid, 0)
File "/usr/lib64/python2.7/subprocess.py", line 478, in _eintr_retry_call
return func(*args)
KeyboardInterrupt
hbase(main):009:0> count 'test'
Current count: 1000, row: user1247668656357586436
Current count: 2000, row: user1491375628047015142
Current count: 3000, row: user1731391436838246180
Current count: 4000, row: user1973988732972337575
Current count: 5000, row: user2219137599687463645
Current count: 6000, row: user2467199353570805052
Current count: 7000, row: user2708448167993830083
Current count: 8000, row: user2952943660882184705
Current count: 9000, row: user3199772409133732119
Current count: 10000, row: user3442919420311020377
Current count: 11000, row: user3685175071150813207
Current count: 12000, row: user3926983846085978686
Current count: 13000, row: user4173139549217872555
Current count: 14000, row: user4414730008935196151
Current count: 15000, row: user4660998796674603117
Current count: 16000, row: user4907940629533663628
Current count: 17000, row: user5151873770438118528
Current count: 18000, row: user5393684936845043281
Current count: 19000, row: user5632145766003063858
Current count: 20000, row: user5879534474766751720
Current count: 21000, row: user6121903210214057647
Current count: 22000, row: user6364707004270293139
Current count: 23000, row: user6608529452038994216
Current count: 24000, row: user6855584369505567824
Current count: 25000, row: user7098399980857501102
Current count: 26000, row: user7341433907427276263
Current count: 27000, row: user7587150588651727092
Current count: 28000, row: user7829293154884006825
Current count: 29000, row: user8071654036334128441
Current count: 30000, row: user8313357580658965134
Current count: 31000, row: user8562084525664775775
Current count: 32000, row: user8807801206889226604
Current count: 33000, row: user9049496897216878986
Current count: 34000, row: user991572774677832446
34029 row(s) in 4.6110 seconds
=> 34029
hbase(main):010:0>
The text was updated successfully, but these errors were encountered: