#
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements.  See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership.  The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License.  You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied.  See the License for the
# specific language governing permissions and limitations
# under the License.
#
internal_ip=127.0.0.1
internal_meta_port=9005
internal_data_port=40012
seed_nodes=127.0.0.1:9003,127.0.0.1:9005,127.0.0.1:9007
default_replica_num=1
consistency_level=mid
connection_timeout_ms=20000
write_operation_timeout_ms=30000
read_operation_timeout_ms=30000
catch_up_timeout_ms=300000
use_batch_in_catch_up=true
min_num_of_logs_in_mem=1000
max_num_of_logs_in_mem=2000
log_deletion_check_interval_second=-1
is_use_async_server=false
is_use_async_applier=true
is_enable_raft_log_persistence=true
open_server_rpc_port=false
