Deephaven properties files overview
Properties files are text files, usually named with a .prop
extension, that store key-value pairs. They configure most variable operations and the behavior of a Java process.
There are four main properties files in a typical Deephaven installation:
iris-common.prop
- the "root" properties file, which simply includes other property files.iris-environment.prop
- contains the majority of installation-specific settings.iris-endpoints.prop
- defines server names and addresses, service host points, and ports for Deephaven services in the installation. This is generated by the installer and should not be manually updated as any changes will be overwritten during the next upgrade.iris-defaults.prop
defines common settings needed for all Deephaven installations. A new version of Deephaven may change these properties, but the customer may not. Any environment-specific settings should be placed iniris-environment.prop
, where they will override the defaults.
Properties file locations
Properties files are stored in etcd and accessed via the configuration service. On a Deephaven server, any properties files on disk are just for reference and are not authoritative.
The set of files synchronized to clients using the Deephaven Updater
includes a current snapshot of the properties files stored in etcd.
Deephaven properties file format
Deephaven properties files have several important extensions: the ability to include other properties files, scoped blocks, and finalization. See Deephaven properties files for complete details.
Changing a properties file
To change a properties file stored in etcd and managed by the Configuration Server, you must export it to a local file, edit, and import the changed file. The main tool for this is dhconfig properties
.
System Properties
Properties can be passed to a Java process on the command line. These properties are set before any properties files are loaded. Some properties, such as those governing the actual start-up process, must be set this way:
- the name of the properties file to load
- scope defining properties -
service.name
,process.name
- properties used to connect to the Configuration Server
Deephaven processes use a global Configuration object for properties. This Configuration includes all system properties, but system properties do not include the Configuration properties (e.g. System.getProperty(“prop.name”). See Java process launch for details about how Deephaven processes are started, including system properties, JVM arguments, and environment variables.