[mysqld]
auto_increment_increment = 1
auto_increment_offset = 1
back_log = 2048
basedir = /usr
bind_address = 0.0.0.0
binlog-format = ROW
binlog_cache_size = 262144
character-set-server = utf8mb4
collation-server = utf8mb4_general_ci
connect_timeout = 30
default-storage-engine = InnoDB
enforce-gtid-consistency = 1
event-scheduler = OFF
expire_logs_days = 2
general-log = 1
gtid_mode = ON
innodb_autoinc_lock_mode = 1
innodb_buffer_pool_dump_at_shutdown = 1
innodb_buffer_pool_dump_pct = 100
innodb_buffer_pool_instances = 1
innodb_buffer_pool_load_at_startup = 1
innodb_buffer_pool_size = 393216000
innodb_data_file_path = ibdata1:10M:autoextend
innodb_file_format = Barracuda
innodb_file_format_check = 1
innodb_file_per_table = 1
innodb_flush_log_at_trx_commit = 2
innodb_flush_method = O_DIRECT
innodb_io_capacity = 200
innodb_io_capacity_max = 2000
innodb_large_prefix = 1
innodb_lock_wait_timeout = 50
innodb_log_buffer_size = 1048576
innodb_log_file_size = 2047M
innodb_log_files_in_group = 2
innodb_monitor_enable = all
innodb_open_files = 300
innodb_purge_threads = 4
innodb_stats_on_metadata = 0
innodb_stats_transient_sample_pages = 20
innodb_status_file = false
innodb_status_output = 0
innodb_status_output_locks = 0
innodb_strict_mode = 1
innodb_thread_concurrency = 0
interactive_timeout = 1000
join_buffer_size = 134217
key_buffer_size = 67108864
log-queries-not-using-indexes = OFF
log_bin_trust_function_creators = 1
log_error_verbosity = 3
log_slave_updates = 1
log_slow_slave_statements = 1
long_query_time = 0.1
loose-log_slow_verbosity = full
loose-slow_query_log_use_global_control = long_query_time,log_slow_verbosity
loose-userstat = 1
loose-audit-log = OFF
master-verify-checksum = 1
max_allowed_packet = 67108864
max_binlog_size = 1G
max_connect_errors = 1000000
max_connections = 265
max_execution_time = 300000
max_heap_table_size = 67108864
max_user_connections = 215
myisam-recover-options = FORCE,BACKUP
myisam_sort_buffer_size = 8M
net_write_timeout = 60
open-files-limit = 65535
performance-schema-instrument = memory/%=COUNTED
performance_schema = 1
# query_cache probably needs to be modifiable
# vitess defaults to query_cache_type = 2 and slightly lower size
query_cache_limit = 0
query_cache_size = 0
query_cache_type = 0
read_buffer_size = 134217
read-only = 1
read_rnd_buffer_size = 268435
relay-log-info-repository = TABLE
relay_log_recovery = 1
secure-file-priv = /vt/tmp
skip-external-locking = 1
# perhaps we can set this to true in the future, when all connections truly
# go through vitess
skip-networking = 0
skip-slave-start = 1
slave-sql-verify-checksum = 1
# compression is currently not compatible with semi-sync
# see https://bugs.mysql.com/bug.php?id=85382
slave_compressed_protocol = 0
slave_net_timeout = 30
slow-query-log = 1
sort_buffer_size = 262144
sql_mode = STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_AUTO_VALUE_ON_ZERO,NO_ENGINE_SUBSTITUTION,NO_ZERO_DATE,NO_ZERO_IN_DATE,ONLY_FULL_GROUP_BY
# Disabling SSL for now, for QA and because connections should go over gRPC
ssl = 1
sync_binlog = 0
sync_master_info = 10000
sync_relay_log = 10000
sync_relay_log_info = 10000
# not sure why we set this so high
table_definition_cache = 2048
table_open_cache = 2048
thread_stack = 205520
thread_cache_size = 48
tmp_table_size = 33554432
transaction-isolation = REPEATABLE-READ
# Semi-sync replication is required for automated unplanned failover
# (when the master goes away). Here we just load the plugin so it's
# available if desired, but it's disabled at startup.
#
# If the -enable_semi_sync flag is used, VTTablet will enable semi-sync
# at the proper time when replication is set up, or when masters are
# promoted or demoted.
plugin-load = rpl_semi_sync_master=semisync_master.so;rpl_semi_sync_slave=semisync_slave.so

# When semi-sync is enabled, don't allow fallback to async
# if you get no ack, or have no slaves. This is necessary to
# prevent alternate futures when doing a failover in response to
# a master that becomes unresponsive.
rpl_semi_sync_master_timeout = 1000000000000000000
rpl_semi_sync_master_wait_no_slave = 1