blob: 1654dae465ffbb712a3d3249803f3cf366b2bd3e [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.
# -----------------------------------------------------------------------
# WARNING: DO NOT EDIT THIS FILE.
# All customizations must be created in a file "site.ducc.properties" that is in
# your ducc_runtime/resources. DUCC's startup procedures will merge this file and
# your site.ducc.propeties into ducc.properties which is what DUCC will use.
# WARNING DO NOT EDIT THIS FILE.
# ====================================================================================
# This configuration file contains most of the specifications for DUCC.
#
# Two other important customizable files define the classes and nodes.
#
# The class definition file is specified by the property 'ducc.rm.class.definitions'
# and a sample called ducc.classes has been provided in DUCC_HOME/resources.
#
# Node definitions are by default taken from ducc.nodes but this may be overridden
# with the -n option on start_ducc.
#
# The first two entries here are customized in site.ducc.properties by ducc_post_install.
#
# ====================================================================================
# The name of the node where DUCC runs.
ducc.head = <head-node>
# The full name of the Java command.
ducc.jvm = <full-path-to-java-command>
# The name of the cluster as shown by the Web Server.
ducc.cluster.name=Apache UIMA-DUCC
# Specify location of private resources directory. UIMA-3892
ducc.private.resources = ${DUCC_HOME}/resources.private
# Location of security home directory. When non-empty the userid is appended and it replaces the
# default of <user.home> as the location of the keys used in request validation.
ducc.security.home =
# Name any site-local jars
#ducc.local.jars =
# Declare which components to load into the jvm on process startup.
ducc.jms.provider=activemq
# ---------------------------------------------------
# ---------------------------------------------------
# Define the ActivemQ broker configuration.
# ducc.broker.protocol - Ddefine broker protocol. Should typically be
# tcp. *** Dont specify : or // ***
# ducc.broker.hostname - The name of the host where the broker is running.
# ducc.broker.port - The broker's connection port
# ducc.broker.url.decoration - The broker *client* url decoration.
# recoveryInterval=30000 - Specifies an interval between recovery attempts,
# i.e when a connection is being refreshed,
# in milliseconds
# jms.useCompression=true - Compress message body
# ducc.broker.name - the broker name - must match the actual broker name
# in the broker config. THIS IS NOT THE BROKER HOSTNAME
# WHICH IS CONFIGURED IN ducc.broker.hostname.
# ducc.broker.jmx.port - the Broker's jmx port
#
ducc.broker.protocol=tcp
ducc.broker.hostname=${ducc.head}
ducc.broker.port=61617
# Broker decorations:
# useCompression: true, compress JMS cargo
ducc.broker.url.decoration=jms.useCompression=true
ducc.broker.name=localhost
ducc.broker.jmx.port=1100
#
# ActiveMQ credentials file used to authenticate DUCC daemons with the broker.
#
ducc.broker.credentials.file=${ducc.private.resources}/ducc-broker-credentials.properties
# ActiveMQ Auto-management configuration
# docc.broker.automanage - if true, DUCC will start and stop the broker as needed.
# Otherwise, the installation is responsible for
# managing ActiveMQ
# ducc.broker.memor.options - If automanaged, the memory configuration passed to the JVM
# ducc.broker.configuration - If automanaged, the location of the ActiveMQ broker configuration
# ducc.broker.home - If automanaged, the location of the ActiveMQ installation
# ducc.broker.server.url.decoration - If automanaged, the broker URL decoration
#
ducc.broker.automanage = true
ducc.broker.memory.options = -Xmx1G
ducc.broker.configuration = conf/activemq-ducc.xml
ducc.broker.home = ${DUCC_HOME}/apache-uima/apache-activemq
# transport.soWriteTimeout=45000, 45sec timeout on write operations to the socket.
ducc.broker.server.url.decoration = transport.soWriteTimeout=45000
# To enable tracing of RM messages arriving in OR and NodeMetrics arriving in WS.
#ducc.transport.trace = orchestrator:RmStateDuccEvent webserver:NodeMetricsUpdateDuccEvent
# By default, use Linux OS authentication (via PAM)
#ducc.authentication.implementer=org.apache.uima.ducc.ws.authentication.LinuxAuthenticationManager
# Specify users allowed to login (default is all users can login)
#ducc.authentication.users.include = user1 user2
# Specify users not allowed to login (default is all users can login; if user is in both include and exclude lists, then exclude is enforced)
#ducc.authentication.users.exclude = user1 user3
# Specify groups allowed to login (default is all groups can login)
#ducc.authentication.groups.include = groupA groupB
# Specify groups not allowed to login (default is all groups can login; if group is in both include and exclude lists, then exclude is enforced)
#ducc.authentication.groups.exclude = groupA groupC
# Access UIMA message catalogs
ducc.locale.language=en
ducc.locale.country=us
# Specify a minimum amount of free swap space available on a node.
# If an agent detects free swap space dipping below the value defined
# below, it will find the fattest (in terms of memory) process in its
# inventory and kill it. The value of the parameter below is expressed
# in KB.
# Initially disabled by setting the threshold at 0.
# Set this to 1GB equiv
ducc.node.min.swap.threshold=0
# administrative endpoint for all ducc components
ducc.admin.endpoint=ducc.admin.channel
# endpoint type choices[topic]
ducc.admin.endpoint.type=topic
# jmx port number for Ducc process. Each Ducc process will attempt
# to use this port for its JMX Connector. If the port is not available
# port+1 will be used until an available port is found.
ducc.jmx.port=2099
ducc.agent.jvm.args = -Xmx500M
ducc.orchestrator.jvm.args = -Xmx1G
ducc.rm.jvm.args = -Xmx1G
ducc.pm.jvm.args = -Xmx1G
ducc.sm.jvm.args = -Xmx1G
ducc.ws.jvm.args = -Xmx2G -Djava.util.Arrays.useLegacyMergeSort=true
# ========== General Configuration block ==========
# Max number of work-item CASes for each job (default is "unlimited")
# Note: formerly known as ducc.threads.limit
ducc.job.max.pipelines.count = 5000
# ========== CLI Configuration block ==========
# These environment values are included on job/service/AP submissions
ducc.environment.propagated = USER HOME LANG DUCC_SERVICE_INSTANCE
# No timeout on CLI requests
ducc.cli.httpclient.sotimeout=0
#------------------------------------------------------------------------------
# off, // CLI submit and cancel signature enforcement disabled
# on, // CLI submit and cancel signature enforcement enabled (default)
ducc.signature.required=on
#------------------------------------------------------------------------------
# ========== Web Server Configuration block ==========
ducc.ws.configuration.class=org.apache.uima.ducc.ws.config.WebServerConfiguration
# This endpoint is used for webserver self test to determine viability of broker.
# After 3 missed messages to self via broker, webserver considers broker to be down.
ducc.ws.state.update.endpoint=ducc.ws.state
# endpoint type choices[topic]
ducc.ws.state.update.endpoint.type=topic
ducc.ws.state.publish.rate=5000
# Optionally configure the webserver to run on a non-head node
# ducc.ws.node = my.node.com
# Optionally configure the webserver IP address
# ducc.ws.ipaddress = <fill in an IP address>
# Optionally configure the webserver IP port for HTTP requests, default is 42133
ducc.ws.port = 42133
# Optionally configure the webserver IP port for HTTPS requests, default is 42155
ducc.ws.port.ssl = 42155
# Optionally configure the webserver ssl pw for HTTPS requests, default is quackquack
# See private/ducc.private.properties
# Optionally configure the webserver login session timeout, in minutes, default is 60
ducc.ws.session.minutes = 60
# Optionally configure the webserver job automatic cancel timeout, default is 10. To disable feature specify 0.
# Employed when user specifies --wait_for_completion flag on job submission, in which case the job monitor
# program must visit http://<host>:<port>/ducc-servlet/proxy-job-status?id=<job-id> within this expiry time
# else the job will be automatically canceled (unless feature disabled) by the webserver acting as the
# administrator ducc (which must be specified in the ducc.administrators file).
ducc.ws.automatic.cancel.minutes = 5
# Optionally configure the webserver max history entries for each of Jobs/Reservations/Services
ducc.ws.max.history.entries = 4096
# Specify the ducc webserver jsp compilation directory
# Note: This directory is removed then recreated on each webserver restart
ducc.ws.jsp.compilation.directory = /tmp/ducc/jsp
# Specify login enabled (default is true)
ducc.ws.login.enabled = false
# For node visualization - if true,strip domain names from labels for cleaner visuals
ducc.ws.visualization.strip.domain = true
# Optionally configure the webserver request log, default is 0 (meaning no request logging)
# Logs are written to DUCC_HOME/logs/webserver
ducc.ws.requestLog.RetainDays = 30
# --------------------------------------------------------------
# name: ducc.ws.banner.message
# purpose: display banner message on all main pages
# choices: default=none
# change: effective immediately
#ducc.ws.banner.message = Do not adjust your set. This is a message from your DUCC administrator.
# ========== Web Server Configuration block ==========
# ========== Job Driver Configuration block ==========
ducc.jd.configuration.class=org.apache.uima.ducc.transport.configuration.jd.JobDriverConfiguration
ducc.jd.state.update.endpoint=ducc.jd.state
# endpoint type choices[topic]
ducc.jd.state.update.endpoint.type=topic
ducc.jd.state.publish.rate=15000
# This is a human-readable string used to form queue names for the JMS queues used to pass
# CASs from the Job Driver to the Job Processes. The completed queue named comprises the prefix
# concatenated with the DUCC assigned Job number.
ducc.jd.queue.prefix=ducc.jd.queue.
# After dispatching a work item to UIMA-AS client for processing, the number of minutes that the Job Driver will
# wait for two callbacks (queued and assigned) before considering the work item lost. The elapsed time for the
# callbacks is normally sub-second. Intermittent network problems may cause unusual spikes.
# If not specified, default value is 5 minutes.
ducc.jd.queue.timeout.minutes=5
# If not specified, default value is 24 hrs (24*60 minutes)
ducc.default.process.per.item.time.max = 1440
# If not specified, default max time in minutes allowed for AE initialization.
ducc.default.process.init.time.max = 120
# The following 5 values comprise the specification used by the DUCC Orchestrator daemon to request an
# allocation from the DUCC Resource Manager for Job Driver use. The values given below are the defaults.
ducc.jd.host.class=JobDriver
ducc.jd.host.description=Job Driver
ducc.jd.host.memory.size=2GB
ducc.jd.host.number.of.machines=1
ducc.jd.host.user=System
# For a newly started Job, the number of JP UIMA initialization failures
# allowed until at least one JP succeeds - otherwise, the Job self-destructs.
# Default is 1.
ducc.jd.startup.initialization.error.limit=1
# The next 4 values are related - each JD is assigned a piece of the Job Driver host memory which,
# along with the size of the CR's type system, limits the number of active work-item CASes in a job.
# To avoid swapping the max heap size should also be restricted.
# Memory size in MB allocated for each JD (default 300)
ducc.jd.share.quantum = 400
# The number of "slices" of size "jd.share.quantum" kept in reserve.
# The Orchestrator makes Reservation requests to RM to get Reservations
# (Job Driver hosts) each of which is then subdivided into "slices", one
# per JD. This number specifies the number of unused "slices" that should
# be kept on-hand in anticipation of newly submitted jobs (default 2)
ducc.jd.share.quantum.reserve.count = 3
# The maximum length of a work-item name returned by CAS.getDocumentText().
# Truncation is enforced beyond this limit.
# If not specified, there is no limit.
ducc.jd.workitem.name.maximum.length = 64
# Extra JVM args to be appended to any user-supplied "driver_jvm_args"
# Dynamic: changes to this property immediately affect new submitted work
# Flag: -DUimaAsCasTracking will add to logs:
# UIMA-AS client & service trigger internal tracing including RefId,
# UIMA-AS client onBeforeMessageSendHandler callbacks including RefId, and
# UIMA-AS client onBeforeProcessCAS callbacks including RefId
# Flag: -DUimaAsClientTracking will add to jd.out.log:
# core pool size changes,
# UIMA-AS client sendAndReceive invocations,
# UIMA-AS client onBeforeMessageSendHandler callbacks, and
# UIMA-AS client onBeforeProcessCAS callbacks
# Note: should contain an Xmx a little below the "ducc.jd.share.quantum" value
# the Xmx entry is ignored if the user has specified one
ducc.driver.jvm.args = -Xmx300M
# Max number of threads in Jetty thread pool servicing incoming
# HTTP requests
# ducc.driver.jetty.max.threads = 100
# Max idle time for jetty threads (in millis). When a thread exceeds
# its idle time it will be terminated.
# ducc.driver.jetty.thread.idletime = 60000
# Extra JVM args to be appended to any user-supplied "process_jvm_args"
# Dynamic: changes to this property immediately affect new submitted work
# ducc.process.jvm.args=-XX:+HeapDumpOnOutOfMemoryError
# --------------------------------------------------------------
# name: ducc.jd.communications.scheme
# purpose: specify communications scheme between JD and JPs
# choices: [http,https] default=https
# change: effective immediately for new jobs
ducc.jd.communications.scheme=https
# --------------------------------------------------------------
# name: ducc.jd.error.handler.class
# purpose: specify error handler
# default: org.apache.uima.ducc.ErrorHandler
# change: effective immediately for new jobs
ducc.jd.error.handler.class = org.apache.uima.ducc.ErrorHandler
# --------------------------------------------------------------
# name: ducc.jd.error.handler.args
# purpose: configure error handler
# choices: max_job_errors=<e> max_timeout_retrys_per_workitem=<r>
# change: effective immediately for new jobs
ducc.jd.error.handler.args = max_job_errors=15 max_timeout_retrys_per_workitem=0
# ========== Job Driver Configuration block ==========
# ========== Service Manager Configuration block ==========
# Class used to implement the SM - internals only, don't change.
ducc.sm.configuration.class=org.apache.uima.ducc.sm.config.ServiceManagerConfiguration
# Name of the AMQ topic used to communicate with SM - internals, don't change
ducc.sm.state.update.endpoint=ducc.sm.state
# AMQ protocol to use - internals, don't change
ducc.sm.state.update.endpoint.type=topic
# Default pinger
ducc.sm.default.monitor.class = org.apache.uima.ducc.cli.UimaAsPing
# max consecutive init failures or ping failures for ping-only services before we stop starting things
ducc.sm.instance.failure.max 5
# backward compatibility
ducc.sm.instance.failure.limit ${ducc.sm.instance.failure.max}
# failure window size in MINUTES.
ducc.sm.instance.failure.window 30
# max consecutive instance init failures before we stop trying to start things
ducc.sm.init.failure.limit 1
# How often services are monitored to insure they're responding, in milliseconds
ducc.sm.meta.ping.rate = 60000
# How many consecutive missed pings are required to mark a service unresponsive
ducc.sm.meta.ping.stability = 10
# How long to wait for a ping to respond, in milliseconds
ducc.sm.meta.ping.timeout = 15000
# Port the CLI uses to contact SM
ducc.sm.http.port=19989
# Node where SM resides
ducc.sm.http.node=${ducc.head}
# How long to keep a reference-started service alive after the last referencing job exits
ducc.sm.default.linger=300000
# === END == Service Manager Configuration block ==========
# ========== Orchestrator Configuration block ==========
ducc.orchestrator.configuration.class=org.apache.uima.ducc.orchestrator.config.OrchestratorConfiguration
#------------------------------------------------------------------------------
# cold, // Recover: All is lost JD host: employ new
# warm, // Recover: Unmanaged Reservations only (default) JD host: employ new
ducc.orchestrator.start.type=warm
#------------------------------------------------------------------------------
ducc.orchestrator.state.update.endpoint=ducc.orchestrator.state
# endpoint type choices[topic]
ducc.orchestrator.state.update.endpoint.type=topic
ducc.orchestrator.state.publish.rate=10000
#------------------------------------------------------------------------------
# How long between between maintenance cycles (in milliseconds)
# Each maintenance cycle the orchestrator removes obsolete JD queues (MqReaper)
# and performs health related activities (HealthMonitor) including: capping JPs
# for a Jobs that have too many initialization failures and terminating Jobs whose
# JDs have failed.
ducc.orchestrator.maintenance.rate=60000
#------------------------------------------------------------------------------
# orchestrator's jetty http port
ducc.orchestrator.http.port=19988
# Node where OR is running. This is needed by CLI to compose a URL to access OR jetty server
ducc.orchestrator.http.node=${ducc.head}
#------------------------------------------------------------------------------
# Specify if reserving an entire machine is allowed
# This could be a bad idea when a cluster has very few, very large machines.
ducc.orchestrator.unmanaged.reservations.accepted=true
# ========== Orchestrator Configuration block ==========
# Resource Manager Configuration block
ducc.rm.configuration.class=org.apache.uima.ducc.rm.config.ResourceManagerConfiguration
# Queue name for broadcast RM state
ducc.rm.state.update.endpoint=ducc.rm.state
# If enabled, RM tries to start as soon as it recovers state from an OR publication,
# instead of waiting for init.stability for nodes to check in.
ducc.rm.state.update.endpoint.type=topic
# the frequency, relative to or publications, at which RM runs a schedule
ducc.rm.state.publish.ratio = 1
# maximum allotment in GB for Non-preemptable shares - default is unlimited
#ducc.rm.global_allotment = 360
# Base size of dram quantum in Gb
ducc.rm.share.quantum = 1
# Implementation class for actual scheduling algorithm
ducc.rm.scheduler = org.apache.uima.ducc.rm.scheduler.NodepoolScheduler
# File defining the scheduler classes - found in DUCC_HOME/resources
ducc.rm.class.definitions = ducc.classes
# File defining the user registry. Optional, need not exist. Found in DUCC_HOME/resources.
ducc.rm.user.registry = ducc.users
# default memory, in GB, if not specified
ducc.rm.default.memory = 4
# number of node metrics heartbeats to wait for before rm starts up
ducc.rm.init.stability = 2
# number of missed node metrics updates to consider node down
ducc.rm.node.stability = 5
# which policy to use when shrinking/evicting shares - alternatively, SHRINK_BY_MACHINE
ducc.rm.eviction.policy = SHRINK_BY_INVESTMENT
# max nodes to initially allocate until init is complete
ducc.rm.initialization.cap = 1
# When true, jobs expand not all at once after init, but a bit slower, doubling each epoch
# until max fair-share is set. If false, jobs increase immediately to their fair share,
# at the cost of mass evictions.
ducc.rm.expand.by.doubling = true
# Predict when a job will end and avoid expanding if not needed
ducc.rm.prediction = true
# Add this fudge factor (milliseconds) to the expansion target when using prediction
ducc.rm.prediction.fudge = 120000
# What is minimum number of processes for a job before we do defrag? If a job has less than this amount
# RM may attempt defragmentation to bring the processes up to this value.
ducc.rm.fragmentation.threshold = 8
# Endpoint for RM admin CLI
ducc.rm.admin.endpoint = ducc.rm.admin.channel
ducc.rm.admin.endpoint.type = queue
# Agent Configuration block
ducc.agent.configuration.class=org.apache.uima.ducc.agent.config.AgentConfiguration
ducc.agent.request.endpoint=ducc.agent
# endpoint type choices[topic]
ducc.agent.request.endpoint.type=topic
# Endpoint where uima as service wrapper reports status
ducc.agent.managed.process.state.update.endpoint=ducc.managed.process.state.update
# endpoint type choices[socket]
ducc.agent.managed.process.state.update.endpoint.type=socket
# endpoint parameters which are transport specific. For socket
# transport params are:
# - transferExchange=true - include Camel Exchange wrapper in a message
# - synch=false - use socket transport for one-way messaging (no replies neeeded)
ducc.agent.managed.process.state.update.endpoint.params=transferExchange=true&sync=false
# max UID reserved by OS. This is used to detect rogue processes and to report
# available memory on a node.
ducc.agent.node.metrics.sys.gid.max=500
ducc.agent.node.metrics.publish.rate=30000
ducc.agent.node.metrics.endpoint=ducc.node.metrics
# endpoint type choices[topic]
ducc.agent.node.metrics.endpoint.type=topic
# Rate at which an agent publishes its process inventory
# The agent will only publish at this rate if there are
# changes since the last publish.
ducc.agent.node.inventory.publish.rate=10000
# If no changes in inventory, publish every 3 intervals defined by ducc.agent.node.inventory.publish.rate
ducc.agent.node.inventory.publish.rate.skip=3
ducc.agent.node.inventory.endpoint=ducc.node.inventory
# endpoint type choices[topic]
ducc.agent.node.inventory.endpoint.type=topic
# ducc.agent.launcher.thread.pool.size - Deprecated
#ducc.agent.launcher.thread.pool.size=10
# enable/disable use of ducc_ling
# ducc.agent.launcher.use.ducc_spawn: true, use ducc_ling. Default: false
ducc.agent.launcher.use.ducc_spawn=true
# specify location of ducc_ling in the filesystem
ducc.agent.launcher.ducc_spawn_path=${DUCC_HOME}/admin/${os.arch}/ducc_ling
# Max amount of time (in millis) agent allows the process to stop before issuing kill -9
ducc.agent.launcher.process.stop.timeout=60000
# Max time in millis allowed for AE initialization. Default 2 hours 7200000. - Deprecated
#ducc.agent.launcher.process.init.timeout=7200000
# exclude the following user ids while detecting rogue processes
ducc.agent.rogue.process.user.exclusion.filter=
#exclude the following processes while detecting rogue processes
ducc.agent.rogue.process.exclusion.filter=sshd:,-bash,-sh,/bin/sh,/bin/bash,grep,ps
# Fudge Factor (in terms of percantage) that agent uses to multiply a share size when
# determining if a JP exceeds its alloted memory, which is calculated as follows
# (fudge factor/100)*share size + share size. If this number exceeds JPs RSS, the agent
# kills the process.
ducc.agent.share.size.fudge.factor=5
# Enable/Disable CGroup support.
ducc.agent.launcher.cgroups.enable=true
# Define location of cgroups utils like cgexec. For mixed clusters with different
# flavors of unix, the utilities may be in different places. In such case, add a
# a comma separated list of paths like this:
# ducc.agent.launcher.cgroups.utils.dir=/usr/bin,<OS 1 path>,<OS 2 path>
ducc.agent.launcher.cgroups.utils.dir=/usr/bin,/bin
# Set cgroup memory.swappiness
ducc.agent.launcher.cgroups.swappiness=10
# number of retries to use when cgcreate fails
ducc.agent.launcher.cgroups.max.retry.count=1
# amount by which to increase delay (in msecs) between each retry
ducc.agent.launcher.cgroups.retry.delay.factor=2000
# exclusion file to enable node based exclusion for cgroups and aps
# syntax: <node>=cgroups,ap
# the above will exclude node from using cgroups and/or prevent deployment of APs
ducc.agent.exclusion.file=${DUCC_HOME}/resources/exclusion.nodes
# Define cgroup control subsystems used to enforce fair share on a node
ducc.agent.launcher.cgroups.subsystems=memory,cpu
# Define script which will collect total swap used by a given process. This
# script is launched by an agent via duccling and running as the owner
# of the process.
ducc.agent.swap.usage.script=${DUCC_HOME}/bin/ducc_get_process_swap_usage.sh
#
# Uncomment the following line to support auto reaping of rogue processes by Ducc's Agent
# ducc.agent.rogue.process.reaper.script=${DUCC_HOME}/admin/ducc_reap_rogues.sh
#
# Process Manager Configuration block
ducc.pm.configuration.class=org.apache.uima.ducc.pm.config.ProcessManagerConfiguration
ducc.pm.request.endpoint=ducc.pm
# endpoint type choices[queue]
ducc.pm.request.endpoint.type=queue
#------------------------------------------------------------------------------
ducc.pm.state.update.endpoint=ducc.pm.state
# endpoint type choices[topic]
ducc.pm.state.update.endpoint.type=topic
ducc.pm.state.publish.rate=15000
# New Configuration classes supporting the DUCC 2.0 isolation from user code.
ducc.uima-as.configuration.class=org.apache.uima.ducc.transport.configuration.jp.JobProcessConfiguration
ducc.job-process.configuration.class=org.apache.uima.ducc.transport.configuration.jp.JobProcessConfiguration
ducc.service.configuration.class=org.apache.uima.ducc.transport.configuration.service.ServiceConfiguration
ducc.uima-as.endpoint=ducc.job.managed.service
# endpoint type choices[socket]
ducc.uima-as.endpoint.type=socket
# endpoint parameters which are transport specific. For socket
# transport params are:
# - transferExchange=true - include Camel Exchange wrapper in a message
# - synch=false - use socket transport for one-way messaging (no replies neeeded)
ducc.uima-as.endpoint.params=transferExchange=true&sync=false
# saxon8.jar - Saxon is an XSLT and XQuery processor. It is used by UIMA-AS
# when deploying a service.
ducc.uima-as.saxon.jar.path=file:${DUCC_HOME}/apache-uima/saxon/saxon8.jar
# dd2spring.xsl - contains a set of rules used when transforming
# UIMA-AS deployment descriptor into SpringFramework's
# context file used to deploy UIMA-AS based service.
ducc.uima-as.dd2spring.xsl.path=${DUCC_HOME}/apache-uima/bin/dd2spring.xsl
# maximum amount of time to wait for a response from the JD. This value
# is used by the JP when sending requests to the JD.
ducc.process.request.timeout=30000
# Define process container class for DD jobs to instantiate and invoke via reflection.
# The container provides classpath isolation for user defined analytics.
# The container is instantiated with classes from a System classloader.
ducc.process.uima.as.container.class = org.apache.uima.ducc.user.jp.UimaASProcessContainer
# Define process container class for non-DD jobs to instantiate and invoke via reflection.
# The container provides classpath isolation for user defined analytics.
# The container is instantiated with classes from a System classloader.
ducc.process.uima.container.class = org.apache.uima.ducc.user.jp.UimaProcessContainer
# define the sleep time (millis) for JP to use when JD sends empty CAS. In this case the
# JD's CR has processed its collection. The JP threads need to slow down sending
# requests
ducc.process.thread.sleep.time=60000
# Custom Flow Controller to use for Ducc Job Processes that don't provide a process_DD descriptor
ducc.flow-controller.specifier=org.apache.uima.ducc.FlowController
# DATABASE PROPERTIES
# Name of the database host - initially disabled until database is created.
# Overridden in site.ducc.properties by ducc_post_install or db_create.
ducc.database.host = --disabled--
# Database JMX host. Default is to allow only local JMX access. Specify the real name for remote access.
ducc.database.jmx.host = localhost
# Database JMX port.
ducc.database.jmx.port = 7199
#-----------------------------------
# DATABASE MEMORY TUNING
# WARNING: if you're not sure what these do you should probably not change them as incorrect
# values can adversly affect the database, the database node, or both.
# Given that. If you're running on a mostly small system, e.g. 8GB or less, probably you
# should set ducc.database.mem.heap to 1 or 2 GB and ducc.database.mem.new to 100M
#
# By default we allow cassandra to calculate these for us.
#
# IMPORTANT: if you set one of these you MUST set both, or cassandra will refuse to start.
#-----------------------------------
# Database xmx. If not set, cassandra will calculate it for you.
#ducc.database.mem.heap = 4G
# Database setting for 'young' generation. If not set, cassandra will calculate it for you
#ducc.database.mem.new = 100M
#-----------------------------------
k# END OF DATABASE MEMORY TUNING
#-----------------------------------
# This class implementes the persistence interface for the services registry
#ducc.service.persistence.impl = org.apache.uima.ducc.database.StateServicesDb
ducc.service.persistence.impl = org.apache.uima.ducc.common.persistence.services.StateServices
# This class implements the persistence interface for Job, Reservation, Service, and AP instances, plus
# the Orchestrator checkpoint.
#ducc.job.history.impl = org.apache.uima.ducc.database.HistoryManagerDb
ducc.job.history.impl = org.apache.uima.ducc.transport.event.common.history.HistoryPersistenceManager
#ducc.rm.persistence.impl = org.apache.uima.ducc.database.RmStatePersistence
ducc.rm.persistence.impl = org.apache.uima.ducc.common.persistence.rm.NullRmStatePersistence
# end database things -------------------------------------------------------------------------------