# Copyright 2014 Fluo authors (see AUTHORS)
#
# 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.

#################
# Fluo properties
#################

# NOTE - All properties that have a default are set with it.  Uncomment
# a property if you want to use a value different than the default. 
# Properties that have no default are uncommented and must be set by
# the user.  Most are unset except for io.fluo.accumulo.classpath which 
# has a suggested value.

# Client properties
# -----------------
# Zookeeper connection string specifying host and chroot where Fluo stores data.
# A chroot directory suffix must be specified but doesn't need to be named
# '/fluo'.  If not specified, a Fluo instance cannot be initialized. 
# Interpolation (i.e ${io.fluo.client.accumulo.zookeepers}/fluo) can be used
# when setting this to reuse Accumulo's zookeeper connection string.
io.fluo.client.zookeeper.connect=${io.fluo.client.accumulo.zookeepers}/fluo
# Zookeeper timeout
#io.fluo.client.zookeeper.timeout=30000
# Accumulo instance to connect to
io.fluo.client.accumulo.instance=accumulo
# Accumulo user
io.fluo.client.accumulo.user=root
# Accumulo password
io.fluo.client.accumulo.password=secret
# Accumulo zookeepers
io.fluo.client.accumulo.zookeepers=node1,node2,node3

# Admin properties
# ----------------
# Clears configuration in Zookeeper if initialize is run again
# Useful if accumulo was reinitialized
io.fluo.admin.allow.reinitialize=true
# Accumulo table to initialize
io.fluo.admin.accumulo.table=stress
# Fluo uses iterators within Accumulo tablet servers, therefore Accumulo per
# table classpath need to be configured with a comma seperated list of uris
# where Accumulo can find Fluo jars.  These jars should be reachable from
# every tablet server.  For the setting below to work, FLUO_HOME must be 
# set as an environment variable during initialization.
io.fluo.admin.hdfs=hdfs://node2:9000
io.fluo.admin.accumulo.classpath=${io.fluo.admin.hdfs}/fluo/lib/fluo-api-1.0.0-beta-1-SNAPSHOT.jar,${io.fluo.admin.hdfs}/fluo/lib/fluo-accumulo-1.0.0-beta-1-SNAPSHOT.jar

# Observer properties
# -------------------
# Specifies observers
# io.fluo.observer.0=com.foo.Observer1
# Can optionally have configuration key values
# io.fluo.observer.1=com.foo.Observer2,configKey1=configVal1,configKey2=configVal2
io.fluo.observer.0=io.fluo.stress.trie.NodeObserver

# Transaction properties
# ----------------------
# Amount of time (in milliseconds) clients wait before rolling back transaction
#io.fluo.tx.rollback.time=300000

# Worker properties
# -----------------
# Number of worker yarn instances
io.fluo.worker.instances=17
# Number of threads in each worker instance
io.fluo.worker.num.threads=20
# Max memory of Worker yarn containers (in MB)
io.fluo.worker.max.memory.mb=512
# Number of worker virtual cores
io.fluo.worker.num.cores=2

# Loader properties
# -----------------
# Number of threads each loader runs
#io.fluo.loader.num.threads=10
# Queue size of loader
#io.fluo.loader.queue.size=10

# Oracle properties
# -----------------
# Oracle port
#io.fluo.oracle.port=9913
# Number of oracle yarn instances
#io.fluo.oracle.instances=1
# Max memory of Oracle yarn containers (in MB)
#io.fluo.oracle.max.memory.mb=256
# Number of oracle virtual cores
#io.fluo.oracle.num.cores=1

#Metrics
#------------------
#Configures metrics for processes not started by fluo script. Please see the metrics docs for more information.
#io.fluo.metrics.yaml.base64=LS0tCiNFZGl0IHRoaXMgZmlsZSB0byBjb25maWd1cmUgd2hpY2ggcmVwb3J0ZXIgRmx1byB1c2VzIGZvciBkcm9wd2l6YXJkLW1ldHJpY3MuICAgCiNzZWUgaHR0cHM6Ly9kcm9wd2l6YXJkLmdpdGh1Yi5pby9kcm9wd2l6YXJkL21hbnVhbC9jb25maWd1cmF0aW9uLmh0bWwjbWV0cmljcwpmcmVxdWVuY3k6IDEwIHNlY29uZHMKcmVwb3J0ZXJzOgogICAgLSB0eXBlOiBncmFwaGl0ZQogICAgICBob3N0OiAxMC4xLjIuMTA0CiAgICAgIHBvcnQ6IDIwMDMK

# MiniFluo properties
# -------------------
# Path to directory where MiniFluo stores its data
#io.fluo.mini.data.dir=${env:FLUO_HOME}/mini 
# Indicates if MiniFluo should start a MiniAccumulo cluster
#io.fluo.mini.start.accumulo=true 

io.fluo.app.trie.nodeSize=8
io.fluo.app.trie.stopLevel=5
