###############################
# configuration for all scripts
###############################
# Fluo Home
test -z "$FLUO_HOME" && FLUO_HOME=/path/to/accumulo
# Fluo application name
FLUO_APP_NAME=stresso

###############################
# configuration for run-test.sh
###############################
# Place where logs from test are placed
LOG_DIR=$BIN_DIR/../logs
# Maximum number to generate
MAX=$((10**9))
#the number of splits to create in table
SPLITS=17
# Number of mappers to run for data generation, which determines how many files
# generation outputs.  The number of files determines how many mappers loading
# data will run.
MAPS=17
# Number of reduce tasks
REDUCES=17
# Number of random numbers to generate initially
GEN_INIT=$((10**6))
# Number of random numbers to generate for each incremental step.
GEN_INCR=$((10**3))
# Number of incremental steps.
ITERATIONS=3
# Seconds to sleep between incremental steps.
SLEEP=30
# Compact levels with less than the following possible nodes after loads
COMPACT_CUTOFF=$((256**3 + 1))
