GoogleCloudPlatform / PerfKitBenchmarker

PerfKit Benchmarker (PKB) contains a set of benchmarks to measure and compare cloud offerings. The benchmarks use default settings to reflect what most users will see. PerfKit Benchmarker is licensed under the Apache 2 license terms. Please make sure to read, understand and agree to the terms of the LICENSE and CONTRIBUTING files before proceeding.
https://googlecloudplatform.github.io/PerfKitBenchmarker/
Apache License 2.0
1.89k stars 480 forks source link

multi-digit ycsb versions (0.10.0+) causing 'Unexpected second line' error #1685

Open flint-dominic opened 6 years ago

flint-dominic commented 6 years ago

Any version i use above 0.9.0 causes 'Unexpected second line', I can comment out the error to have it run successfully, but this may lead to other complications. the error doesn't even print out the 'command_line' variable correctly:

STDERR: 2018-05-15 12:33:15,554 a8736554 MainThread aws_dynamodb_ycsb(1/1) pkb.py:791 ERROR Exception running benchmark Traceback (most recent call last): File "/usr/local/google/home/flint/Documents/test/PerfKitBenchmarker/perfkitbenchmarker/pkb.py", line 789, in RunBenchmarkTask RunBenchmark(spec, collector) File "/usr/local/google/home/flint/Documents/test/PerfKitBenchmarker/perfkitbenchmarker/pkb.py", line 655, in RunBenchmark DoRunPhase(spec, collector, detailed_timer) File "/usr/local/google/home/flint/Documents/test/PerfKitBenchmarker/perfkitbenchmarker/pkb.py", line 535, in DoRunPhase samples = spec.BenchmarkRun(spec) File "/usr/local/google/home/flint/Documents/test/PerfKitBenchmarker/perfkitbenchmarker/linux_benchmarks/aws_dynamodb_ycsb_benchmark.py", line 138, in Run vms, load_kwargs=load_kwargs, run_kwargs=run_kwargs)) File "/usr/local/google/home/flint/Documents/test/PerfKitBenchmarker/perfkitbenchmarker/linux_packages/ycsb.py", line 987, in LoadAndRun run_samples = self.Run(vms, workloads=workloads, run_kwargs=run_kwargs) File "/usr/local/google/home/flint/Documents/test/PerfKitBenchmarker/perfkitbenchmarker/linux_packages/ycsb.py", line 965, in Run (run_kwargs or {}))) File "/usr/local/google/home/flint/Documents/test/PerfKitBenchmarker/perfkitbenchmarker/linux_packages/ycsb.py", line 881, in RunStaircaseLoads results = self._RunThreaded(vms, parameters) File "/usr/local/google/home/flint/Documents/test/PerfKitBenchmarker/perfkitbenchmarker/linux_packages/ycsb.py", line 823, in _RunThreaded vm_util.RunThreaded(_Run, range(len(vms))) File "/usr/local/google/home/flint/Documents/test/PerfKitBenchmarker/perfkitbenchmarker/background_tasks.py", line 624, in RunThreaded max_concurrency=max_concurrent_threads) File "/usr/local/google/home/flint/Documents/test/PerfKitBenchmarker/perfkitbenchmarker/background_tasks.py", line 568, in RunParallelThreads errors.VmUtil.ThreadException) File "/usr/local/google/home/flint/Documents/test/PerfKitBenchmarker/perfkitbenchmarker/background_tasks.py", line 543, in _RunParallelTasks '{0}{1}'.format(os.linesep, os.linesep.join(error_strings))) ThreadException: The following exceptions occurred during parallel execution: Exception occurred while calling _Run(0): Traceback (most recent call last): File "/usr/local/google/home/flint/Documents/test/PerfKitBenchmarker/perfkitbenchmarker/background_tasks.py", line 235, in Run self.return_value = self.target(*self.args, self.kwargs) File "/usr/local/google/home/flint/Documents/test/PerfKitBenchmarker/perfkitbenchmarker/linux_packages/ycsb.py", line 821, in _Run results.append(self._Run(vm, params)) File "/usr/local/google/home/flint/Documents/test/PerfKitBenchmarker/perfkitbenchmarker/linux_packages/ycsb.py", line 788, in _Run return ParseResults(str(stderr + stdout), self.measurement_type) File "/usr/local/google/home/flint/Documents/test/PerfKitBenchmarker/perfkitbenchmarker/linux_packages/ycsb.py", line 275, in ParseResults raise IOError('Unexpected second line: {0}'.format(command_line)) IOError: Unexpected second line:

tohaowu commented 6 years ago

Would you provide the command?

flint-dominic commented 6 years ago

./pkb --ycsb_threads_per_client=50 --aws_dynamodb_ycsb_dynamodb_endpoint=http://dynamodb.us-west-2.amazonaws.com --machine_type=t2.xlarge --ycsb_client_vms=6 --cloud=AWS --ycsb_workload_files=workloada --noycsb_reload_database --ycsb_operation_count=100000000 --aws_dynamodb_ycsb_table=glota-flint --ycsb_version=0.13.0 --ycsb_record_count=100000 --ignore_package_requirements --ycsb_timelimit=1200 --benchmarks=aws_dynamodb_ycsb

HarpPDX commented 6 years ago

Note that pairing --ycsb_version=0.11.0 with --ycsb_measurement_type=hdrhistogram does work. Neither setting works if used individually.