Infinite Graph provides concurrent multiuser access to data. To ensure
that data remains consistent, database access is controlled through
locks granted by a lock server.
The lock server manages concurrent access to persistent objects by
granting or refusing locks to requesting transactions. When a
transaction requests data from a federated database, Infinite Graph
locates the lock server that services the federated database and then
contacts the lock server to obtain a lock on the requested data. The
lock is granted only if it is compatible with existing locks.
Obtaining a lock prevents multiple concurrent transactions from
performing incompatible operations on the same data, whether these
transactions belong to different applications or to different threads
of the same application.
A lock server is identified by its location—that is, by the
workstation, or lock-server host, on which it is running. Every
federated database stores the name of a lock-server host as a
property. This is set in the Infinite Graph properties files.
Properties file excerpt:
[sourcecode language=”text” wraplines=”false”]
# graph database properties file
# Graph Database Instance
The LS server listens to requests on port 6780. If you are using a
firewall, please provide an exception so that port 6780 is open to
ensure remote systems can communicate with the LS.
Command Line Tools
There are three command line tools associated with the LS. They are
listed below. They can be used both on Windows and Unix operating
To start the Lockserver service:
To stop the AMS service:
To check if the AMS is already running:
To listing current locks:
- oolockmon bootfileName
The oocheckls can be run remotely as well. For example if you want to
check to see if a Lockserver is running on a remote host called
myserver.test.com, simply run it with a hostname as an argument:
- oocheckls myserver.test.com
Logging and Environment Variables
On Windows, the LS logs messages to the Application Log which can be
viewed with the Windows Event Viewer.
On Unix, the default location for the log is /usr/spool/obj. You can
use the OO_SERVER_LOG_DIR environment variable to change this
location. For example, to change the log directory to
/var/log/infinitegraph in bash:
- export OO_SERVER_LOG_DIR=/var/log/infinitegraph
On Windows operating systems, the InfiniteGraph installer will add a
lockserver service, so that the lockserver will start automatically at
Windows startup. The name of the service is “ools-13″.