blob: 82577b22e19f3142bf1fc4b6de9018c2e785d0cd [file] [log] [blame]
# 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 [ ]