PROOF
- New functionality
- XrdProofd plug-in
- Possibility to define the list worker directly in the
xrootd config file (new directive xpd.worker, see Wiki reference pages)
- Support for automatic reconnections in the case xrootd
is restarted
- Dedicated admin area (under xrd.admin/.xproof.port) to
keep information about active and terminated sessions, and active
clients. This is used to reguraly check the client and session
activity, to cleanup orphalin sessions and to shutdown inactive client
connections.
- domain + level control of printout message
- Dynamic "per-query" scheduling
- Dynamic worker startup. It can be enabled by the cluster
administrator or by a user with 'Proof.DynamicStartup'
environment variable. The effect is that a session starts only on
the master. When a query processing starts at the master
TXProofServ::GetWorkers is called. It receives a list of machines
from the scheduler and the worker processes are started.
The environment is copied from the master to the workers.
It includes: the include and library paths, the set of enabled
packages as well as the macros loaded by the user.
- A packet resubmitting mechanism. When a worker dies all the
packets that it processed are resubmitted.
- Improvements:
- XrdProofd plug-in
- Overall refactorization for easier
maintainance and improved solidity
- Improved format of printout messages: all information
messages contain now the tag 'xpd-I' and all error messages the
tag 'xpd-E', so that they can easily be grepped out from the
log file.
- Log sending
-
Implement selective sending of logs from workers to master to avoid duplicating
too many text lines on the master log. Logs are now sent only after Exec, Print
requests and in case an error (level >= kError) occured. Of course, the full
logs can always be retrieved via TProofMgr::GetSessionLogs
- Log retrieval:
- for 'grep' operations, use the system 'grep' command
via 'popen'
instead of a handmade filtering; this implies that the full grep
functionality is now available
- set the default number of displayed lines to 100
instead of 10
- Improve diagnostic in case of worker death: clients will
now
receive a message containing the low level reason for the failure and a
hint for getting more information
- Fixes
- Invalidate the TProofMgr when the physical connection is
closed; avoids
crashing when trying to get the logs after a failure.
- Fix a memory leak in log retrieval (the TProofLog object
was never
deleted)
- Add protections for the cases the manager cannot be
initialized
- Fix a race condition possibly affecting the handling of
workers death
- Avoid duplicating worker logs in the master log file
unless
when explicitely needed by the request (Exec(...), Print(...)) or when
an error occured