Starting and stopping
After installation, the FoundationDB Document Layer is set to start automatically. You can manually start and stop the layer with the commands shown below.
These commands start and stop the master
fdbdocmonitor process, which
in turn starts
On Linux, the Document Layer is started and stopped using the
command as follows:
$ sudo service fdb-document-layer start $ sudo service fdb-document-layer stop
On Ubuntu, it can be prevented from starting at boot as follows (without stopping the service):
$ sudo update-rc.d fdb-document-layer disable
On RHEL/CentOS, it can be prevented from starting at boot as follows (without stopping the service):
$ sudo chkconfig fdb-document-layer off
On macOS, the Document Layer is started and stopped using
$ sudo launchctl load /Library/LaunchDaemons/com.foundationdb.fdbdocmonitor.plist $ sudo launchctl unload /Library/LaunchDaemons/com.foundationdb.fdbdocmonitor.plist
It can be stopped and prevented from starting at boot as follows:
$ sudo launchctl unload -w /Library/LaunchDaemons/com.foundationdb.fdbdocmonitor.plist
fdbdocmonitor and fdbdoc
The core Document Layer server process is
process uses up to one full CPU core.
To make configuring, starting, stopping, and restarting
processes easy, the Document Layer also comes with a singleton daemon
fdbdocmonitor, which is started automatically on boot.
fdbdocmonitor reads the document.conf file and
starts the configured set of
document.conf file changes, the
automatically detects the changes and starts, stops, or restarts child
processes as necessary.
During normal operation,
fdbdocmonitor is transparent, and you
interact with it only by modifying the configuration in document.conf
and perhaps occasionally by starting and stopping it manually. If some problem
fdbdoc process from starting or causes it to stop
fdbdocmonitor will log errors to the system log.
Managing trace files
By default, trace files are output to:
Trace files are rolled every 10MB. These files are valuable to the FoundationDB team for support and diagnostic purposes and should be retained. Old trace files are automatically deleted so that there are no more than 100 MB worth of trace files per process. The size of each log file and the maximum total size of the log files are configurable on a per process basis in the configuration file.
Slow query log
If slow query logging has been enabled in the configuration file (as it is by default), then any application queries that result in full collection scans will be logged to the current trace file.
If logs are written to the default location, then a list of all slow queries present in the logs can be recovered with the following command:
grep SlowQuery /var/log/foundationdb/document/fdbdoc-trace*
grep SlowQuery /usr/local/foundationdb/document/logs/fdbdoc-trace*
Future versions of the Document Layer may use a different storage format or storage location for slow query logging. Any changes in this functionality will be included in the relevant release notes.
MongoDB® administrative commands
Due to the Document Layer’s unique architecture,
replication and sharding operations are entirely invisible to users and
administrators. A significant benefit of this approach is that the Document
Layer does not need to provide additional commands such as those described
Replication Commands or
Sharding Commands in MongoDB®.
Document Layer does not have any authentication framework yet. So, we don’t support any of ‘Authentication Commands’, ‘User Management Commands,’ and ‘Role Management Commands’. We are going to add TLS based authentication very soon.
Among the ‘Instance Administration Commands,’ the following are
renameCollection. Many of the remaining commands concern issues with
MongoDB® operation that administrators of the Document Layer don’t need
to consider (e.g.
compact) and so are unlikely to be
implemented unless they prove necessary to provide compatibility with a
framework, ODM, or legacy software.
The following ‘Diagnostic Commands’ are implemented or partially
whatsmyuri. If you would like to see another diagnostic
command implemented or made more detailed, please tell us about it so we
can prioritize this work.
Additionally, the Document Layer has added the following database commands
that are not present in MongoDB®:
To uninstall the Document Layer from a cluster of one or more machines:
Uninstall the packages on each machine in the cluster.
$ sudo dpkg -P fdb-document-layer
$ sudo rpm -e fdb-document-layer
$ sudo /usr/local/foundationdb/document/uninstall-FoundationDB-Document-Layer.sh
Remove the key-value pairs stored by the Document Layer in the Key-Value store. Connect to the appropriate cluster with one of the Key-Value store language bindings, and remove the directory which contains the state for the Document Layer (defaults to
document). Here is an example using Python:
import fdb fdb.api_version(200) db = fdb.open() dl = fdb.DirectoryLayer() dl.remove_if_exists(db, ["document"])