#!/bin/bash

# Large value workload on the canonical setup

# Use up to 65000-byte values to account for MySQL limitations:
# From http://dev.mysql.com/doc/refman/5.0/en/char.html :
# "The effective maximum length of a VARCHAR in MySQL 5.0.3 and later is subject to the maximum row size (65,535 bytes, which is shared among all columns) and the character set used."

if [ $DATABASE == "rethinkdb" ]; then
    ./dbench                                                                                      \
        -d "$BENCH_DIR/bench_output/Canonical_workload_with_large_values_(4K-64K)" -H $SERVER_HOSTS    \
        {server}rethinkdb:"--active-data-extents 1 -m 32768 $SSD_DRIVES"                                            \
        {client}stress[$STRESS_CLIENT]:"-v 4096-65000 -c $CANONICAL_CLIENTS -d $CANONICAL_DURATION"\
        iostat:1 vmstat:1 rdbstat:1
elif [ $DATABASE == "mysql" ]; then
    ./dbench                                                                                   \
        -d "$BENCH_DIR/bench_output/Canonical_workload_with_large_values_(4K-64K)" -H $SERVER_HOSTS             \
        {server}mysql:"$MYSQL_COMMON_FLAGS $MYSQL_BUFFER_FLAGS $MYSQL_DURABILITY_FLAGS $MYSQL_SSD_FLAGS"              \
        {client}mysqlstress[$STRESS_CLIENT]:"-v 4096-65000 -c $CANONICAL_CLIENTS -d $CANONICAL_DURATION" \
        iostat:1 vmstat:1
elif [ $DATABASE == "membase" ]; then
    ./dbench                                                                                   \
        -d "$BENCH_DIR/bench_output/Canonical_workload_with_large_values_(4K-64K)" -H $SERVER_HOSTS -p 11211 \
        {server}membase:"-d $MEMBASE_DATA_PATH -m 32768"                                       \
        {client}stress[$STRESS_CLIENT]:"-v 4096-65000 -c $CANONICAL_CLIENTS -d $CANONICAL_DURATION" \
        iostat:1 vmstat:1
else
    echo "No workload configuration for $DATABASE"
fi

