-
Notifications
You must be signed in to change notification settings - Fork 21
Configuration properties
gigapaxos servers or clients need a configuration properties file with the default name gigapaxos.properties
in the current directory, which can be changed to a non-default value by specifying it as a system property using -DgigapaxosConfig=
. If the command-line startup scripts gpServer.sh
or gpClient.sh
are being used, they expect the default properties file at ../conf/gigapaxos.properties
relative to the location of the script.
The gigapaxos properties file minimally consists of a set of active replicas and reconfigurators and their socket addresses. Here is an example:
#CLIENT_SSL_MODE=SERVER_AUTH
DISABLE_RECONFIGURATION=true
APPLICATION=edu.umass.cs.reconfiguration.testing.NoopAppTesting
#DEMAND_PROFILE_TYPE=edu.umass.cs.reconfiguration.reconfigurationutils.DemandProfile
active.100=127.0.0.1:2000
#active.101=127.0.0.1:2001
#active.102=127.0.0.1:2002
reconfigurator.700=127.0.0.1:3000
#reconfigurator.700=127.0.0.1:3001
#reconfigurator.700=127.0.0.1:3002
The uncommented (lines not starting with #
) lines starting with active
or reconfigurator
specify the names and socket addresses of the servers. The application and reconfiguration policy classes are respectively specified using the APPLICATION
and DEMAND_PROFILE_TYPE
properties.
-
Port numbers: The socket addresses for the servers must satisfy some constraints. If a socket address
IP:port
is used by some server, the addressesIP:port+CLIENT_PORT_OFFSET
andIP:port+CLIENT_PORT_SSL_OFFSET
can not be used by any other server. This is because the latter two ports are respectively used by the server to service client requests without and with SSL respectively. The default values ofCLIENT_PORT_OFFSET
andCLIENT_PORT_SSL_OFFSET
are 100 and 200 respectively and can be configured to other values using the same properties file. -
Modification: Some properties can not be changed after bootstrap for safety reasons. These include
APPLICATION
,GIGAPAXOS_DATA_DIR
, the list of active and reconfigurator servers and their socket addresses,DISABLE_CHECKPOINTING
,DISABLE_LOGGING
, etc. Attempting to change these properties by manually editing the properties file will result in errors. -
Data directory: The best practice is to pick a unique data directory (
GIGAPAXOS_DATA_DIR
) for each ensemble of servers described in a properties file. The safety-critical rule is that a server with the same name can not be part of two different server ensembles sharing the same data directory. If you do want to reuse the same data directory (the current directory by default) across different ensembles, it is best to ensure that all server names across all properties files are unique. -
Socket addresses: All servers must be able to communicate with all other servers under graceful conditions. Thus, it is not possible to have some servers running on loopback and others on non-loopback addresses. The servers must allow inbound TCP communication on any non-privileged port (ports greater than 1024), not just the three ports implicitly specified in the properties file; this is because there are internal server functions that use other system selected ports.