Revision 107c5f6a60e94c3cf478ee25e50164fd31b014b0 authored by Tamir Duberstein on 06 April 2017, 20:54:49 UTC, committed by Facebook Github Bot on 06 April 2017, 21:09:13 UTC
Summary: siying this is a resubmission of #2081 with the 4th commit fixed. From that commit message: > Note that the previous use of quotes in PLATFORM_{CC,CXX}FLAGS was incorrect and caused GCC to produce the incorrect define: > > #define ROCKSDB_JEMALLOC -DJEMALLOC_NO_DEMANGLE 1 > > This was the cause of the Linux build failure on the previous version of this change. I've tested this locally, and the Linux build succeeds now. Closes https://github.com/facebook/rocksdb/pull/2097 Differential Revision: D4839964 Pulled By: siying fbshipit-source-id: cc51322
1 parent d2dce56
write_stress_runner.py
#! /usr/bin/env python
import subprocess
import argparse
import random
import time
import sys
def generate_runtimes(total_runtime):
# combination of short runtimes and long runtimes, with heavier
# weight on short runtimes
possible_runtimes_sec = range(1, 10) + range(1, 20) + [100, 1000]
runtimes = []
while total_runtime > 0:
chosen = random.choice(possible_runtimes_sec)
chosen = min(chosen, total_runtime)
runtimes.append(chosen)
total_runtime -= chosen
return runtimes
def main(args):
runtimes = generate_runtimes(int(args.runtime_sec))
print "Going to execute write stress for " + str(runtimes)
first_time = True
for runtime in runtimes:
kill = random.choice([False, True])
cmd = './write_stress --runtime_sec=' + \
("-1" if kill else str(runtime))
if len(args.db) > 0:
cmd = cmd + ' --db=' + args.db
if first_time:
first_time = False
else:
# use current db
cmd = cmd + ' --destroy_db=false'
if random.choice([False, True]):
cmd = cmd + ' --delete_obsolete_files_with_fullscan=true'
if random.choice([False, True]):
cmd = cmd + ' --low_open_files_mode=true'
print("Running write_stress for %d seconds (%s): %s" %
(runtime, ("kill-mode" if kill else "clean-shutdown-mode"),
cmd))
child = subprocess.Popen([cmd], shell=True)
killtime = time.time() + runtime
while not kill or time.time() < killtime:
time.sleep(1)
if child.poll() is not None:
if child.returncode == 0:
break
else:
print("ERROR: write_stress died with exitcode=%d\n"
% child.returncode)
sys.exit(1)
if kill:
child.kill()
# breathe
time.sleep(3)
if __name__ == '__main__':
random.seed(time.time())
parser = argparse.ArgumentParser(description="This script runs and kills \
write_stress multiple times")
parser.add_argument("--runtime_sec", default='1000')
parser.add_argument("--db", default='')
args = parser.parse_args()
main(args)
![swh spinner](/static/img/swh-spinner.gif)
Computing file changes ...