glite-lb-bkserverd (8) - Linux Manuals

glite-lb-bkserverd: bookkeeping server daemon


glite-lb-bkserverd - bookkeeping server daemon


glite-lb-bkserverd [options]


glite-lb-bkserverd accepts L&B events from interlogger, manages the data storage, and serves user queries (L&B consumer clients).

Currently, the data are stored in MySQL database.

The main process spawns several slave processes. Then it listens on port (default value is 9000) for consumer queries and port+1 for interlogger daemon requests to store events to database. Requests are redirected to the slaves (and picked up by the first free slave process). All the connection handling and data processing (including SSL handshake) is performed by the slaves.

The slaves voluntarily die and are resurrected periodically to workaround potential resource leakage.


-a HOST:PORT, --address HOST:PORT
Make the server pretend (wrt. data handling) it listens on HOST:PORT instead of the real listening address. This is used for debugging and various administrative purposes (e.g. computing usage statistics on data dumped from another server).

-c FILE, --cert FILE
Get certificate from FILE. This option overrides the $X509_USER_CERT environment variable.

-b SWITCH, --transactions SWITCH
Set transaction on/off. SWITCH is true where its value is not 0.

-C DIR, --CAdir DIR
Trusted CA's certificates directory. DIR. This option overrides the $X509_CERT_DIR environment variable.

Trusted VOMS server's certificates directory. DIR. This option overrides the $X509_VOMS_DIR environment variable.

-d, --debug
Don't run as daemon. Additional diagnostics are not enabled, they can be configured through log4c instead.

-r, --rgmaexport
Write state info to RGMA interface.

-i FILE, --pidfile FILE
Store master pid into FILE instead of the default pidfile location. Unless unavoidable it is not recommended to change the pidfile location as it is also used for locking to prevent starting up multiple server instances and to generate the semaphore set unique key (see option -l).

-k FILE, --key FILE
Get private key from FILE. This option overrides the $X509_USER_KEY environment variable.

-l NUM, --semaphores NUM
Use NUM semaphores (job locks).

To prevent race conditions on simultaneous event storage and job-state updates glite-lb-bkserverd uses a set of semaphores to lock jobs. Jobids are hashed to the semaphores and only one of the set of jobs that map to a particular semaphore may be updated at any given time. Therefore NUM is a limit on potential processing parallelism.

NUM defaults to the number of slaves (see -s).

Limit the maximum number of returned jobs/events that match user query to NUM:NUM:NUM in format events_limit:jobs_limit:size_limit.
-N NUM, --notif-dur NUM
Maximal duration of notification registrations in hours NUM.

-S PREFIX, --purge-prefix PREFIX
Purge files full-path prefix PREFIX.

-D PREFIX, --dump-prefix PREFIX
Dump files full-path prefix PREFIX.

-J DIR, --jpreg-dir DIR
JP registration temporary files prefix (implies '-j'). DIR.

-j , --enable-jpreg-export
Enable JP registration export (disabled by default).

-m STRING, --mysql STRING
STRING is a database connect string in the form

It defaults to lbserver/@localhost:lbserver20.

-n, --noauth
Turn off any authorization.

-p NUM, --port NUM
Listen on the port NUM.

-w NUM, --wsport NUM
Set port to serve the web services requests to NUM.

-r, --rgmaexport
Write state info into the RGMA interface. Experimental.

-s NUM, --slaves NUM
Fork NUM slaves.

--super-user USER, --super-user-file FILE
Bypass query authorization (i.e. return results anyway) when USER (or users listed in FILE) connect.

--no-index NUM
Disable checking the indices for superusers (NUM=1) or entirely (NUM=2).

(not recommended). Use a more strict locking strategy -- lock jobs sooner, when events are stored, not just for status update. This prevents a non-probable but still possible race condition with parallel purge but may slow down processing on heavy loaded servers. Anyway, the only consequence of the race condition is a little garbage left in the database which is cleaned form time to time anyway.

--notif-il-sock SOCK
Socket SOCK to send notifications.

--notif-il-sock PREFIX
File PREFIX for notifications.

--count-statistics NUM
Count certain statistics on jobs for superusers (NUM=1) or for all (NUM=2).

-t NUM, --request-timeout NUM
Request timeout NUM for one client.

Do not print diagnostic, even if -d is on.

Allow delayed registration (grey jobs), implies --strict-locking.

Activate LCAS-based authorization.

-I,--rss-time NUM
Set the maximal age (in seconds) of states published via RSS.

Run only proxy service.

Run both server and proxy service.

Path-name to the local socket for communication with LB proxy.

Size of the connection queue (accept).

Socket to send events to.

File prefix for events.

Enable automatic purging of the jobs in terminal state for proxy service (disabled by default, purging cron job installed by YAIM).

Disable checking of purged jobs when registering jobs with the EDG_WLL_LOGLFLAG_EXCL flag set.


if running as root (not recommended).


File to store pid and to generate semaphores key.

No configuration files needed.


If $X509_USER_KEY is set, it is used to locate private key file.

If $X509_USER_CERT is set, it is used to locate certificate file.

If $X509_CERT_DIR is set, it is used to locate the trusted CA's certificates and ca-signing-policy files.

If $X509USER_PROXY is set, it is used to locate proxy certificate file.

If $EDG_WL_RGMA_FILE is set, it is used as name of file for sharing data with RGMA services.

If $EDG_WL_RGMA_SOCK is set, it is used as name of socket for communication with RGMA.


In a case of a sudden crash, alive slave processes may survive or some resources (IPC locks, open ports) may stay allocated. Please, deal with such problems via standard commands kill and ipcrm.

Please report all bugs to CESNET gLite L&B issue tracker available at