Server Configuration
Folder Structure
File |
Description |
|---|---|
|
Contains one file, |
|
Compiled server libraries |
|
Contains log, by default one log file |
|
config files |
etc config files
File |
Description |
|---|---|
|
Java configuration used to start the serve, particularly the amount of RAM used |
|
Logging configuration, the possible switches are documented on the file |
|
General configuration |
afs_server.conf
By default, the RAM usage is 512MB, makes assumptions for a small instance using only the web UI.
A good number is: httpMaxContentLength * 3 * Web UI uploads + ttpMaxContentLength * 12 * openBIS Drive uploads
For 10 concurrent users doing uploads using the defaults that means: 15728640 * 3 * 10 = 470~ MB If only using the web UI
logging.properties
#############################################################
# JUL Log Levels (must use these exact names) and Log4j mapping
#
# OFF = no logging | Log4j: OFF
# SEVERE = serious failures, system errors | Log4j: ERROR
# WARNING = potential problems, recoverable | Log4j: WARN
# INFO = general informational messages | Log4j: INFO
# CONFIG = static configuration messages | Log4j: DEBUG
# FINE = general debugging/tracing | Log4j: DEBUG
# FINER = more detailed tracing | Log4j: TRACE
# FINEST = most detailed, very verbose | Log4j: TRACE
# ALL = enable all logging | Log4j: ALL
#############################################################
system.property.prefix=afs.logging.
# Global logging level
.global.level=INFO
# List of handlers to configure
.global.handlerAliases = myFileHandler, resolvedPropertiesHandler
# Custom File Handler using your custom class
myFileHandler.class = ch.ethz.sis.shared.log.standard.handlers.DailyRollingFileHandler
myFileHandler.logFileName = log/afs.log
myFileHandler.maxLogFileSize = 10485760
myFileHandler.append = true
myFileHandler.level = INFO
myFileHandler.messagePattern = %d{yyy-MM-dd HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n
# Resolved Properties Handler
resolvedPropertiesHandler.class = ch.ethz.sis.shared.log.standard.handlers.SingleFileHandler
resolvedPropertiesHandler.level = INFO
resolvedPropertiesHandler.append = false
resolvedPropertiesHandler.maxLogFileSize = 10048576
resolvedPropertiesHandler.filter = OPERATION.ExposablePropertyPlaceholderConfigurer
resolvedPropertiesHandler.logFileName = log/startup_properties.log
resolvedPropertiesHandler.messagePattern = %d %-5p [%t] %c - %m%n
service.properties (Mandatory)
The service.properties contains around two dozen properties that SHOULD NOT be modified on standard production environments.
Here are ONLY discussed the ones that SHOULD BE manually configured.
Property |
Description |
|---|---|
|
Defaults to |
|
Same used by the DSS. Defaults to |
|
Same used by the DSS. |
|
Defaults to 50, a good number is: Concurrent Uploads/Downloads Web UI + 4 * Concurrent Uploads/Downloads openBIS Drive |
|
Secret password, to be shared only to those allowed to call BEGIN and PREPARE and COMMIT manually. Used for 2 Phase Transactions |
|
Secret password, to be shared only with the transaction manager to run recovery workflows. |
|
Ideally points directly to the AS in localhost http://localhost:8080 |
|
Defaults to 30000 millis, 30 sec |
|
Used by the integration plugin, should be an INSTANCE_ADMIN |
|
Password for the openBIS user |
|
Defaults to ./last-seen-deletion |
|
Defaults to 1000 |
|
Defaults to 900 seconds, 15 minutes |
service.properties (Optional)
Additionally, these are MANDATORY for Archiving but RECOMMENDED for EVERYONE, provides a cache for the immutable dataset metadata.
Values are already filled in the template, just uncomment them.
Property |
Description |
|---|---|
|
Value to be used: pathInfoFeedingTask |
|
Value to be used: ch.systemsx.cisd.etlserver.path.PathInfoDatabaseFeedingTask |
|
Value to be used: 3600 |
|
Value to be used: pathinfo |
|
Value to be used: prod |
|
Value to be used: postgresql |
|
Value to be used: ch.systemsx.cisd.openbis.dss.generic.shared.PathInfoDatabaseVersionHolder |
|
Value to be used: afs-server/sql/pathinfo |
Additionally, these are MANDATORY for setups with multiple share ids, this is for backwards compatibility with the way DSS shuffles data.
Property |
Description |
|---|---|
|
Value to be used: pathInfoFeedingTask, eagerShufflingTask, shufflingTask |
|
Value to be used: ch.ethz.sis.openbis.afsserver.server.messages.MessagesConsumerMaintenanceTask |
|
Value to be used: Eager shuffling |
|
Value to be used: ch.ethz.sis.openbis.afsserver.server.shuffling.messages.EagerShufflingMessageHandler |
|
Value to be used: 3600 |
|
Value to be used: ch.systemsx.cisd.etlserver.plugins.SegmentedStoreShufflingTask |
|
Value to be used: 3600 |
|
Value to be used: ch.systemsx.cisd.etlserver.plugins.SimpleShuffling |
|
Value to be used: ch.systemsx.cisd.openbis.dss.generic.shared.SimpleShareFinder |
|
Value to be used: true |
|
Value to be used: messages |
|
Value to be used: prod |
|
Value to be used: postgresql |
|
Value to be used: ch.ethz.sis.messages.db.MessagesDatabaseVersionHolder |
|
Value to be used: afs-server/sql/messages |