Enter / Exit Read Only Mode¶
Putting a DataONE envrionment in read only mode is achieved by turning off the
d1-processing service which should be running only on the primary CN.
Synopsis¶
To shutdown d1-processing:
Set the service control properties to
FALSEon the primary CNCheck that batch processing has completed
Shutdown the
da-processingservice
To startup d1-processing:
Set the service control properties to
TRUEStart the
d1-processingservice on the primary CN
Entering read only mode¶
d1-processing is responsible for synchronization, replication, and
log aggregation. Each of these processes involves long-running batches of
work where uncontrolled disruption of the batch may leave work in an incomplete
state. d1-processing monitors service control properties and will initiate
orderly shutdown of services when the value of the property changes to
FALSE. Hence, d1-processing should always be shut down in a controlled
manner by toggling the value of the service control properties.
d1-processing monitors three property files, one for each of
synchronization, replication, and log aggregation. The property files are
located under /etc/dataone/process.
Process |
Property File |
Service Control Property |
|---|---|---|
Synchronization |
|
|
Replication |
|
|
Log Aggregation |
|
|
In each case, the valid values for the service control property are TRUE or
FALSE, with FALSE indicating the service should shut itself down if
running and not start when the d1-processing service starts up.
The value of the property can be set by directly editing the properties file or
through a utility that can toggle the values. On the CNs, the script
/usr/local/bin/d1processingstate will report and set the value of the
service control property for each of the three services:
$ d1processingstate
Synchronization.active=TRUE
Replication.active=TRUE
LogAggregator.active=TRUE
$ sudo d1processingstate FALSE
Previous: Synchronization.active=TRUE
New: Synchronization.active=FALSE
Previous: Replication.active=TRUE
New: Replication.active=FALSE
Previous: LogAggregator.active=TRUE
New: LogAggregator.active=FALSE
A fabric script to toggle service values is also available for remotely setting the service control property values:
d1cnprocessingstate -S FALSE -H cn-orc-1.dataone.org
After setting the service control properties to FALSE, it may take some time
for services to shutdown before the d1-processing service can be shutdown.
The state of the services can be determined by watching the respective service logs.
Process |
Log File |
|---|---|
Synchronization |
|
Replication |
|
Log Aggregation |
|
The cn-synchronization.log will emit a message like:
[ WARN] 2018-07-02 11:51:10,000 [SynchronizationQuartzScheduler_Worker-21] (MemberNodeHarvestJob:execute:75) null- ObjectListHarvestTask Disabled
[ WARN] 2018-07-02 11:51:47,982 [SynchronizationQuartzScheduler_Worker-20] (SyncMetricLogJob:execute:50) SyncMetricLogJob Disabled
When satisfied that d1-processing activity has completed, the service may
be stopped:
sudo service d1-processing stop
Exiting read only mode¶
Exiting read only mode requires ensuring that the service control properties are
set to TRUE then starting the d1-processing service:
$ sudo d1processingstate TRUE
Previous: Synchronization.active=FALSE
New: Synchronization.active=TRUE
Previous: Replication.active=FALSE
New: Replication.active=TRUE
Previous: LogAggregator.active=FALSE
New: LogAggregator.active=TRUE
$ sudo service d1-processing start