Configuring Theseus via Theseus.properties

Contents

  1. Overview
  2. Complete list of properties

1. Overview

Theseus relies on a single file called Theseus.properties for dynamic configuration. Each line in this file consists of:

[setting name] = [setting value]
where the setting name is a configuration identifier and setting value is a value supplied by the user.

Your distribution of Theseus contains a Theseus.properties file with various default values filled in. You can change any of these values as necessary, but it is suggested that you first make a backup of the original file.

2. Complete list of properties

What follows is a complete list of properties, their meaning, and their default values.

PropertyMeaningDefault
/system/debug/show_dfg Displays text representation of internal dataflow graph formed after compiling the plan. false
/system/logger/model Model of logger to run. Currently, only "basic" is supported. pool
/system/compiler/model Model of compiler to run. Currently, only "basic" is supported. pool
/system/registry/model Model of registry to run. Currently, only "basic" is supported. pool
/system/executor/model Model of executor to run. Currently, only "pool" is supported. pool
/system/executor/pool/worker_profiles Worker thread mix. Each entry consists of a name, the number of threads, and the thread priority that they should run at (0 being highest). A typical entry looks like: name=num_threads:pri. There must be at least one entry named "default". NOTE: If you alter anything, it is suggested that you only alter the number of threads available to default. default=10:0
/system/executor/pool/admin_period Indicates the frequency (in milliseconds) that the administrative thread runs (0 or less means: do not run). 0
/system/executor/pool/memory/pool_sizes/num_ops The initial size of object pools where pool size should roughly correspond to the number of operators executed (not total number of invocations). 100
/system/executor/pool/memory/pool_sizes/num_tuples The initial size of object pools where pool size should roughly correspond to the number of tuples processed by each operator in a plan. 1000
/system/executor/streaming_rate Specifies the granularity of streaming (in tuples). 1
/system/logger/level Shows diagnostic/error/warn messages based on this setting. Values range between 0 and 9, lower meaning "less verbose". For example, "0" shows nothing but "3" shows quite a bit. 0
/system/logger/period Number of milliseconds between times that logging messages are flushed to the file system. 0
/system/logger/file File to use for logger output ("stdout" or the name of a file is acceptable). theseus.log
/system/logger/append_file Append to existing logfile, re-creating if necessary. false
/system/tools/client/stats Whether or not runtime statistics (such as overall execution time) should be shown. false
/system/tools/client/asap Output results immediately (true) or after all execution has stopped (false). true
/system/tools/client/header Show headers for each relation output (true) or not (false). true
/operators/dbquery/eos_on_exception Whether or not any SQL exceptions that occur during Java Statement.executeQuery() calls (generated by dbquery) should be propagated. Drivers may vary on when/why exceptions are thrown. For example, an exception might be thrown against a "select * from foo" query if "foo" does not already exist. This setting allows you to control whether such errors are propagated (and likely stop execution) or whether they are caught. In the case of the latter, a null relation (i.e., just an EOS) is returned from dbquery. Set to "true" if you want errors to be caught and EOSes to be returned instead or set to "false" and have such errors be propagated. true
/operators/jdbc/driver Desired JDBC driver class to be used by DbExport, DbAppend, DbUpdate, DbQuery, Schedule, and Unschedule. These drivers will be resolved when Theseus first loads via Class.forName(). If different operators use different drivers at different times, specify a list of drivers by using a comma (",") as a delimiter. Example: "sun.jdbc.JdbcOdbcDriver,my.driver.Driver". sun.jdbc.odbc.JdbcOdbcDriver
/operators/xwrapper/connect-timeout The number of milliseconds before an Xwrapper operator times out when attempting to connect to a remote source. 10000
/operators/xwrapper/read-timeout The number of milliseconds before an Xwrapper operator times out when attempting to read from a remote source. 10000