# 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.
#
# =====================================================================================================================
#
# Omid TSO Server Configuration
# ---------------------------------------------------------------------------------------------------------------------
#
# Tune here the default values for TSO server config parameters found in 'default-omid-server-configuration.yml' file
#
# =====================================================================================================================


# ---------------------------------------------------------------------------------------------------------------------
# Basic configuration parameters
# ---------------------------------------------------------------------------------------------------------------------

# Network interface for TSO server communication. Uncomment the following line to use a specific interface
# networkIfaceName: eth0
# If a network interface in the configuration, the TSO will attempt to guess default network interface.
# See org.apache.omid.tso.TSOServerConfig.getDefaultNetworkInterface for more information.

# Port reserved by the Status Oracle
port: 54758
# Wait strategy for the Disruptor processors in TSO pipeline. Options:
# 1) HIGH_THROUGHPUT - [Default] Use this in production deployments for maximum performance
# 2) LOW_CPU - Use this option when testing or in deployments where saving CPU cycles is more important than throughput
waitStrategy: LOW_CPU
# The number of elements reserved in the conflict map to perform conflict resolution
conflictMapSize: 100000000
# The number of Commit Table writers that persist data concurrently to the datastore. It has to be at least 2.
numConcurrentCTWriters: 2
# The size of the batch of operations that each Commit Table writes has. The maximum number of operations that can be
# batched in the system at a certain point in time is: numConcurrentCTWriters * batchSizePerCTWriter
batchSizePerCTWriter: 25
# When this timeout expires, the contents of the batch are flushed to the datastore
batchPersistTimeoutInMs: 10
# Timestamp generation strategy
# INCREMENTAL - [Default] regular counter
# WORLD_TIME - world time based counter
timestampType: WORLD_TIME
lowLatency: false
# Default module configuration (No TSO High Availability & in-memory storage for timestamp and commit tables)
timestampStoreModule: !!org.apache.omid.timestamp.storage.HBaseTimestampStorageModule [ ]
commitTableStoreModule: !!org.apache.omid.committable.hbase.HBaseCommitTableStorageModule [ ]

leaseModule: !!org.apache.omid.tso.VoidLeaseManagementModule [ ]

# Default stats/metrics configuration
metrics: !!org.apache.omid.metrics.NullMetricsProvider [ ]

monitorContext: false

# ---------------------------------------------------------------------------------------------------------------------
# Timestamp storage configuration options
# ---------------------------------------------------------------------------------------------------------------------
# Could be any guava module that binds org.apache.omid.timestamp.storage.TimestampStorage
# Current available Timestamp stores:
#     org.apache.omid.tso.InMemoryTimestampStorageModule
#     org.apache.omid.timestamp.storage.HBaseTimestampStorageModule
#     org.apache.omid.timestamp.storage.ZKTimestampStorageModule

# ---------------------------------------------------------------------------------------------------------------------
# Commit Table storage configuration options
# ---------------------------------------------------------------------------------------------------------------------
# Could be any guava module that binds org.apache.omid.committable.CommitTable
# Available CommitTable stores:
#     org.apache.omid.committable.hbase.HBaseCommitTableStorageModule
#     org.apache.omid.tso.InMemoryCommitTableStorageModule

# ---------------------------------------------------------------------------------------------------------------------
# Metrics configuration options
# ---------------------------------------------------------------------------------------------------------------------
# Metrics could be anything that is org.apache.omid.metrics.MetricsRegistry
# There are 4 built-in reporters: CSV, SLF4J, GRAPHITE, CONSOLE
# Please see org.apache.omid.metrics.CodahaleMetricsConfig for details.

# Example configuration for reporting statistics to the console every minute:
#
# metrics: !!org.apache.omid.metrics.CodahaleMetricsProvider [
#     !!org.apache.omid.metrics.CodahaleMetricsConfig {
#         outputFreqInSecs: 60,
#         reporters: !!set {
#             !!org.apache.omid.metrics.CodahaleMetricsConfig$Reporter CONSOLE
#         },
#     }
# ]

# Example of multiple reporter configuration (to CSV files and console)
#
# metrics: !!org.apache.omid.metrics.CodahaleMetricsProvider [
#     !!org.apache.omid.metrics.CodahaleMetricsConfig {
#         outputFreqInSecs: 60,
#         reporters: !!set {
#             !!org.apache.omid.metrics.CodahaleMetricsConfig$Reporter CSV,
#             !!org.apache.omid.metrics.CodahaleMetricsConfig$Reporter CONSOLE
#         },
#         csvDir: "csvMetrics",
#         prefix: "somePrefix",
#     }
# ]

# =====================================================================================================================
# Some example configurations
# =====================================================================================================================

# ---------------------------------------------------------------------------------------------------------------------
# Configuration WITHOUT High Availability using HBase for all required storage & reporting metrics to CSV files
# ---------------------------------------------------------------------------------------------------------------------
#
# commitTableStoreModule: !!org.apache.omid.tso.DefaultHBaseCommitTableStorageModule [ ]
#     See optional params
#         - tableName
#         - familyName
#         - principal
#         - keytab
# timestampStoreModule: !!org.apache.omid.tso.DefaultHBaseTimestampStorageModule [ ]
#     See optional params
#         - tableName
#         - familyName
#         - principal
#         - keytab
# leaseModule: !!org.apache.omid.tso.VoidLeaseManagementModule [ ]
# metrics: !!org.apache.omid.metrics.CodahaleMetricsProvider [
#     !!org.apache.omid.metrics.CodahaleMetricsConfig {
#         reporters: !!set {
#             !!org.apache.omid.metrics.CodahaleMetricsConfig$Reporter CSV
#         },
#         csvDir: "myCSVMetricsDir",
#         prefix: "myAppPrefixForMetrics",
#     }
# ]

# ---------------------------------------------------------------------------------------------------------------------
# Configuration WITHOUT High Availability using ZK to store the timestamps & reporting metrics to console every 30 secs
# ---------------------------------------------------------------------------------------------------------------------
#
# commitTableStoreModule: !!org.apache.omid.tso.DefaultHBaseCommitTableStorageModule [ ]
# timestampStoreModule: !!org.apache.omid.tso.DefaultZKTimestampStorageModule
#         zkCluster: "localhost:2181"
#         namespace: "omid"
# leaseModule: !!org.apache.omid.tso.VoidLeaseManagementModule [ ]
# metrics: !!org.apache.omid.metrics.CodahaleMetricsProvider [
#     !!org.apache.omid.metrics.CodahaleMetricsConfig {
#         outputFreqInSecs: 30,
#         reporters: !!set {
#             !!org.apache.omid.metrics.CodahaleMetricsConfig$Reporter CONSOLE
#         },
#     }
# ]


# ---------------------------------------------------------------------------------------------------------------------
# Configuration WITH High Availability using HBase for all required storage and no metrics reports
# ---------------------------------------------------------------------------------------------------------------------
#
# commitTableStoreModule: !!org.apache.omid.tso.DefaultHBaseCommitTableStorageModule [ ]
# timestampStoreModule: !!org.apache.omid.tso.DefaultHBaseTimestampStorageModule [ ]
# leaseModule: !!org.apache.omid.tso.HALeaseManagementModule
#     leasePeriodInMs: 10000
#     tsoLeasePath: "/tso-lease"
#     currentTsoPath: "/current-tso"
#     zkCluster: "localhost:2181"
#     zkNamespace: "omid"
# metrics: !!org.apache.omid.metrics.NullMetricsProvider [ ]
