blob: b7f39bbb8d624daf1ba215ffc273777773229383 [file] [log] [blame]
#
# Licensed 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 (Default parameters)
# =====================================================================================================================
# ---------------------------------------------------------------------------------------------------------------------
# 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: HIGH_THROUGHPUT
# 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
#low latency mode - clients are expected to update commit table
lowLatency: false
# Default module configuration (No TSO High Availability & in-memory storage for timestamp and commit tables)
timestampStoreModule: !!org.apache.omid.tso.InMemoryTimestampStorageModule [ ]
commitTableStoreModule: !!org.apache.omid.tso.InMemoryCommitTableStorageModule [ ]
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 [ ]