[root] / trunk / proof / proofx / src / TXSlave.cxx Repository:
ViewVC logotype

Log of /trunk/proof/proofx/src/TXSlave.cxx

Parent Directory Parent Directory


Links to HEAD: (view) (download) (as text) (annotate)
Sticky Revision:

Revision 44692 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Jun 14 15:28:35 2012 UTC (2 years, 7 months ago) by ganis
File length: 23679 byte(s)
Diff to previous 44688
Automatize enabling of the remote-plite option in such a way that setting 'xpd.remoteplite 1' is enough for all nodes

Revision 44688 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Jun 14 12:55:20 2012 UTC (2 years, 7 months ago) by ganis
File length: 23658 byte(s)
Diff to previous 44683
Restore option 'masteronly' (broken by previous patch); make sure that 'workers=0' is treated correctly

Revision 44683 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Jun 14 09:27:40 2012 UTC (2 years, 7 months ago) by ganis
File length: 23657 byte(s)
Diff to previous 41313
   First version of the final patch enabling multi-workers on single node using
   PROOF-Lite. This is supposed to improved scalability for large number of workers
   (>300-400) and is currently available only for non-data driven tasks.
   The new setup configuration is enabled by the directive 'xpd.remoteplite 1' in
   the xproofd configuration file.

Revision 41313 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Oct 10 15:44:18 2011 UTC (3 years, 3 months ago) by ganis
File length: 23458 byte(s)
Diff to previous 39115
  - Fix an issue with option 'xpd.multiuser'
  - Correct/add some comments

Revision 39115 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu May 5 15:54:41 2011 UTC (3 years, 8 months ago) by ganis
File length: 23459 byte(s)
Diff to previous 38580
  - Fix bug in TXSocket::Create whose effect was to make the three additional attempts
    following the first to send a wrong and meaningless creation info (ordinal number, etc).
    The bug was introduced while fixing the log path trasmission problem.
  - Improve the way information about the logs files is saved when failure happens
    during creation. The log paths for these failing now should be now correctly saved
    and accessible via TProofLog.
  - Improve TSlave::Print when the connection is invalid (print all the valid information,
    available, not only the header one)

Revision 38580 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Mar 23 15:24:54 2011 UTC (3 years, 10 months ago) by ganis
File length: 24001 byte(s)
Diff to previous 38538
  Patch fixing a problem with log path transmission when the node dies early or not even starts.
  The log path was empty and wrong was filled in when retrieving the log buffers, disorienting
  debugging. This was experienced frequently by ALICE.

  The log file is now trasmitted as part of the responde to the session 'Create' request, so it
  is always registered by the master in the relevant field in TSlave. Also, the last errors, if
  any, typically logged in the xproofd log file, are now copied to the relevant worker or master
  log file so that they are also accessible to client.

  The patch also factorizes some calls in XrdProofdProofServMgr in preparation to the improved
  session lauch strategy.

Revision 38538 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Mar 21 14:13:29 2011 UTC (3 years, 10 months ago) by ganis
File length: 22161 byte(s)
Diff to previous 34718
  In TXSocket and TXSlave:
  - Fix problem with the way collection over a socket just marked as 'bad' was interrupted;
    the interrupt was de facto ineffective, so that collection stayed always until the
    timeout expired (default: 5 minutes). Should solve some of the cases were slow response
    was experienced.

Revision 34718 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Aug 3 15:08:56 2010 UTC (4 years, 5 months ago) by ganis
File length: 22044 byte(s)
Diff to previous 34254
   Add the possibility to define an external list of environment variables to be transmitted to the master
   and workers. This is done via the environment variable PROOF_ENVVARS. This addition allows to change
   the variables wthout changing the macro or application running TProof::Open (see forum).
   See http://root.cern.ch/drupal/content/controlling-environment-proof-session .

Revision 34254 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Jun 30 16:29:36 2010 UTC (4 years, 6 months ago) by ganis
File length: 21993 byte(s)
Diff to previous 28955
Fix warnings in notification statements

Revision 28955 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Jun 12 12:46:21 2009 UTC (5 years, 7 months ago) by ganis
File length: 21987 byte(s)
Diff to previous 28746
Make sure that any setting of XrdSecPROTOCOL is communicated to the master

Revision 28746 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu May 28 13:03:29 2009 UTC (5 years, 7 months ago) by ganis
File length: 21693 byte(s)
Diff to previous 27034
   Cleanup of the TProofMgr fucntions DetachSession and ShutdownSession, and better
   handling of the internal list registration, to fix potential segvs when reopening
   a PROOF session inside the same ROOT session.
   Now, for both normal PROOF and PROOF-Lite, it should be possible to close a
   session handled by the TProof object 'p' with any of the following:

       root[] delete p
   or
       root[] TProof::Mgr("<server>")->ShutdownSession(p)
   or
       root[] TProof::Mgr("<server>")->ShutdownSession(id_p)

       (where id_p is the local session id given by TProof::Mgr("<server>")->QuerySessions())

   and re-open a session on the same server right after.

   Other fixes / changes:
    - New auxilliary methods:
      - TProofMgr::DiscardSession(TProof *) to remove a session from the internal
        list of a manager;
      - TProofDesc *TProofMgr::GetProofDesc(TProof *) to quickly get the TProofDesc
        container associated with a session by object
    - Make sure that the default port is always 1093 (in a couple of places it was 1094!)
    - Improve some comments

Revision 27034 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Dec 19 15:30:06 2008 UTC (6 years, 1 month ago) by ganis
File length: 21819 byte(s)
Diff to previous 26738
   From Jan: prepare for query-enqueing support:
   - add new protocol message to resume an enqueued session
   - add framework to process enqueued queries after a resume: the processing part on masters
     has been moved to a new method ProcessNext which is called also after a resume request.
   - remove duplication in the definition of message types for SendCoordinator
     (same codes defined in XProofProtocol.h and TXSocket.h)

Revision 26738 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Dec 8 18:05:39 2008 UTC (6 years, 1 month ago) by ganis
File length: 21811 byte(s)
Diff to previous 26678

    In the case it is active, apply the limitation of the max number of master sessions also
    in dynamic mode.

Revision 26678 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Dec 5 14:53:23 2008 UTC (6 years, 1 month ago) by ganis
File length: 21692 byte(s)
Diff to previous 26512

   Patch to:
   - Add the possibility to set upper limits on the virtual memory (changes in TProofPlayer,
     TProofServ, TXProofServ and pmain (separate patch)).
     If enebled, the session gets firts a warning when it reaches 80% of the limit, and then
     processing is stopped whenit exceeds 95% of the limit, sending back the results.
     Also, the memory footprint is notified when the session is terminated.
   - Make sure the the active valuse in XrdProofWorker are always correct; this was not the
     case for dynamic startup as the notification at the end of the query was not done.
     This information is crucial or the scheduler.
     The way the information is stored in XrdProofdProofServ had to be modified
     and a new internal message type (kReleaseWorker) added.
     (Changes in several proofd classes, TProof, TXsocket and TXProofServ)
   - Fix problem with setting a static upper limit of the sessions that can be started,
     and enable this functionality for the dynamic mode (changes in XrdProofSched)
   - Remove a deleted worker from all the lists in TProof::MarkBad to avoid later attempts of use.
   - Better control the use of the internal pipe for socket readiness notification in TXSocket.

Revision 26512 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Nov 28 15:37:43 2008 UTC (6 years, 1 month ago) by ganis
File length: 21685 byte(s)
Diff to previous 24803
   - Flush the socket after a failure from CollectInputFrom in HandleInput to stop
     recursive calls to TXSocketHandler::Notify

Revision 24803 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sun Jul 13 09:04:30 2008 UTC (6 years, 6 months ago) by ganis
File length: 21588 byte(s)
Diff to previous 24764
Add missing protection in debug statement

Revision 24764 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Jul 10 11:33:39 2008 UTC (6 years, 6 months ago) by ganis
File length: 21564 byte(s)
Diff to previous 24734
   Make sure that messages are always processed. In the case a de-activated worker was
   removed during collection, associated messages were not processed, screwing up the
   overall synchronization

Revision 24734 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Jul 9 10:05:44 2008 UTC (6 years, 6 months ago) by ganis
File length: 21285 byte(s)
Diff to previous 24719
Rename PostMessage as PostMsg to solve problem on Windows

Revision 24719 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Jul 9 07:07:25 2008 UTC (6 years, 6 months ago) by ganis
File length: 21289 byte(s)
Diff to previous 24568

    Patch refactorizing the XrdProofd plugin.
    The class XrdProofdProtocol is now in charge only of the operations strctly related
    to the XProofd protocol. All auxilliary services have been moved to dedicated service
    classes controlled by XrdProofdManager. In particular:
    - XrdProofdClientMgr handles the clients (represented by instances of XrdProofdClient)
      including login, authentication and access control
    - XrdProofdProofServMgr handles the PROOF sessions (represented by instances of
      XrdProofdProofServ) including creation, attachment, detachment, destruction and
      environment setting
    - XrdProofdNetMgr handles connections between instances of XProofd running on different
      nodes
    - XrdProofdPriorityMgr handles the session priorities

    A special effort has been done to get rid of all possible internal dead-lock situations.
    Internal actions on clients and sessions are now all asynchronous, governed by internal
    pipes.

    The new plugin also offers new functionality, among which:
    - a XProofd admin area, located under <xrd.admin>/.xproof.<port>, keeps information about
      active and terminated sessions, and the minimal state for active clients. This is used
      to reguraly check the client and session activity, to cleanup orphalin sessions and
      to shutdown inactive client connections.
      In particular this allows a more solid implementation of Reset, which now exists in two
      flavours: 'soft', TProof::Reset(<masterurl>), (default) asks the sessions to terminate gently;
      'hard', TProof::Reset(<masterurl>,kTRUE) schedules all sessions for forced termination.
    - support for automatic attempts for reconnection in the case the daemon restarts.
      This allows to reconfigure the plugin by xrootd restart w/o affecting the running
      sessions.
    - support the definition of workers via config file directive, getting de facto rid of
      the proof.conf file.
    - domain+level control of printout message; the format has been improved: in particular
      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.

    The Wiki 'XrdProofdDirectives Directives' page has been updated with the new directives.

Revision 24568 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Jun 26 11:57:42 2008 UTC (6 years, 6 months ago) by ganis
File length: 20208 byte(s)
Diff to previous 24540
   - Fix a race condition possibly affecting the handling of workers death
   - Improve diagnostic from MarkBad: clients will now receive something like this

root [1] Worker 'localhost-0.1' has been removed from the active list

 +++ Message from top master at aleph025.cern.ch:1093 : marking localhost:1093 (0.1) as bad
 +++ Reason: problems receiving a message in TProof::CollectInputFrom(...)

 +++ Most likely your code crashed on worker 0.1 at localhost:1093.
 +++ Please check the session logs for error messages either using
 +++ the 'Show logs' button or executing
 +++
 +++ root [] TProof::Mgr("aleph025.cern.ch:1093")->GetSessionLogs()->Display("0.1",0)

Revision 24540 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Jun 25 14:03:08 2008 UTC (6 years, 7 months ago) by ganis
File length: 21101 byte(s)
Diff to previous 22635
Invalidate the TProofMgr when the physical connection is closed

Revision 22635 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Mar 13 10:50:20 2008 UTC (6 years, 10 months ago) by rdm
File length: 20981 byte(s)
Diff to previous 21235
move all PROOF related libraries under the new proof directory.

Revision 21235 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Dec 6 16:14:22 2007 UTC (7 years, 1 month ago) by ganis
Original Path: trunk/proofx/src/TXSlave.cxx
File length: 20981 byte(s)
Diff to previous 20882
Fix warnings on Solaris

Revision 20882 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Nov 19 11:31:26 2007 UTC (7 years, 2 months ago) by rdm
Original Path: trunk/proofx/src/TXSlave.cxx
File length: 21011 byte(s)
Diff to previous 20682
Set property svn:eol-style LF on all source and Makefiles. This should avoid
problems with Win32 line endings ending up in the repository. All MS tools
support LF eols fine.

Revision 20682 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Nov 6 15:51:59 2007 UTC (7 years, 2 months ago) by ganis
Original Path: trunk/proofx/src/TXSlave.cxx
File length: 21011 byte(s)
Diff to previous 19826
  Import branches/dev/proof r20654

  Summary:

  + Improvements
    - Add support for SSH SOCKS4 tunnelling; the local port for the tunnel can be specified
      in the master URL, e.g. TProof::Open("master/?tunnel:8000")
    - Add the possibility to plot the estimated instantaneous rate
    - Add "PROOF_ForceLocal" parameter to the !TPacketizerAdaptive; if set to 1, all the data
      are processed locally.
    - Add support for remote grep functionality while retrieving logs (needed by the forthcoming
      memory monitor)
  + Bug fixes
    - Several small fixes to revive the multi-master mode.
    - XrdProofdProtocol:
      - add missing lock to the client instance in SendMsg to avoid screwing up requests from
        workers on the same machine
         - lock the mutex of the requester when setting prorities
         - add notification during Reset
         - fix problem with the detection of the 'allow' directive
         - fix problem with the parsing of the return value from XrdProofServProxy::TerminateProofServ()
         - always use the effective user to retrieve info fom another server
           (XrdProofdManager::GetProofConn is now used)
         - fix possible dead-locks from debug notifications done after hard-killing a session
         - re-enable the garbage collector thread of the connection manager in XrdProofConn to
           fix a problem with closing physical connections;
         - fix a problem with !CleanupProofServ in the case of a non-privileged daemon running
           in multi-user mode
         - introduce a timeout when waiting for the startup of a 'proofserv'.
    - XrdProofConn: init mutex in the ctor; lock in SendRecv
    - XrdProofSched: add support for using the priorities defined in the group manager to define
      the number of workers for sessions
      - TProof:
         - Broadcast priorities to unique nodes only
         - timeout after 5 mins the initial Collect to avoid clients getting stuck at this stage
         - add support for generic timeout in Collect (disabled by default)
         - fix a problem with SendFile.
      - TXProofServ: add a call to !TProof::InterruptCurrentMonitor() in Terminate() to stop 
        infinite loops in Collect
      - TXSocket:
         - Implement a flag to interrupt a TXSocket while waiting for messages
         - Split the session creation timeout in 4 attempts: the total timeout is the same but
           it may circumvent occasional forking problems.
      - XROOTD: 
         - fix a potential (possibly accademic) memory leak in the client
         - fix a access permission problem with Kerberos ticket forwarding
         - fix bug preventing 'locate' to work properly
         - re-enable optimized 'locate'

Revision 19826 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Sep 19 19:56:11 2007 UTC (7 years, 4 months ago) by rdm
Original Path: trunk/proofx/src/TXSlave.cxx
File length: 21005 byte(s)
Diff to previous 19825
imported svn:keywords Id property

Revision 19825 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Sep 19 19:49:10 2007 UTC (7 years, 4 months ago) by rdm
Original Path: trunk/proofx/src/TXSlave.cxx
File length: 21056 byte(s)
Diff to previous 19519
remove :$ from tag line

Revision 19519 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Aug 2 09:55:13 2007 UTC (7 years, 5 months ago) by ganis
Original Path: trunk/proofx/src/TXSlave.cxx
File length: 21066 byte(s)
Diff to previous 19248
Make sure that the FQDN is used as name of the host.

Revision 19248 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Jul 3 16:01:33 2007 UTC (7 years, 6 months ago) by ganis
Original Path: trunk/proofx/src/TXSlave.cxx
File length: 21062 byte(s)
Diff to previous 19006
Add functionality to broadcast group priorities.

Revision 19006 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Jun 12 10:30:35 2007 UTC (7 years, 7 months ago) by ganis
Original Path: trunk/proofx/src/TXSlave.cxx
File length: 20602 byte(s)
Diff to previous 18940
  TXSlave.cxx
  - If available, save the group info in fGroup

  XrdProofConn.cxx
  - If available, send over the group info during the login handshake

Revision 18940 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Jun 5 05:40:11 2007 UTC (7 years, 7 months ago) by ganis
Original Path: trunk/proofx/src/TXSlave.cxx
File length: 20493 byte(s)
Diff to previous 18450
  In TXSlave::HandleError, close physical connection after a fatal error.

Revision 18450 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Mar 30 16:46:06 2007 UTC (7 years, 9 months ago) by rdm
Original Path: trunk/proofx/src/TXSlave.cxx
File length: 20416 byte(s)
Diff to previous 18353
From Gerri:
This fixes a problem with the selection of a non-default ROOT version
showing up at the CAF.

Revision 18353 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Mar 19 15:14:10 2007 UTC (7 years, 10 months ago) by rdm
Original Path: trunk/proofx/src/TXSlave.cxx
File length: 20636 byte(s)
Diff to previous 17562
From Gerri:
- Support for multiple ROOT versions on a PROOF cluster.
  TProofMgr::ShowROOTVersions() giving the following output:

root [0] TProof::Mgr("")->ShowROOTVersions()
----------------------------------------------------------

Available versions (tag ROOT-vers remote-path PROOF-version):

 * cvs 5.15/03 /home/ganis/local/root/head/head 12
   dev 5.15/03 /home/ganis/local/root/head/root 12

----------------------------------------------------------

- TProofMgr::SetROOTVersion(const char *version_tag)

    to change the default for the user, eg

root [1] TProof::Mgr("")->SetROOTVersion("dev")
root [2] TProof::Mgr("")->ShowROOTVersions()
----------------------------------------------------------

Available versions (tag ROOT-vers remote-path PROOF-version):

   cvs 5.15/03 /home/ganis/local/root/head/head 12
 * dev 5.15/03 /home/ganis/local/root/head/root 12

----------------------------------------------------------

Available version are defined by the administrator via the
"xpd.rootsys" directive:

xpd.rootsys /home/ganis/local/root/head/head cvs
xpd.rootsys /home/ganis/local/root/head/root dev

in the xrootd config file.

- Improve error reporting in TXSocket
- Fix a problem with resetting a label in TProofProgressDialog

Revision 17562 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Jan 29 15:11:11 2007 UTC (7 years, 11 months ago) by rdm
Original Path: trunk/proofx/src/TXSlave.cxx
File length: 20417 byte(s)
Diff to previous 17412
Frrom Gerri:
There is a new classes TProofServLogHandler allowing to redirect
the output to the client in real-time. It has two main constructors,
one taking an external command (like BUILD.sh) and opening a pipe,
the other taking a pointer to a open file. TProofServ uses the class
via the guard class TProofServLogHandlerGuard to better localize the
usage. This redirection is not always activated. For the time being it
is active for Process and Cache actions,and it can be deactivated via

TProof::SetRealTimeLog(kFALSE)

(for BUILD.sh - executed externally - is always ON).
In particular, with the patch applied, the outputs from BUILD.shi
will scroll down on the screen, and clicking on "Show logs" in the
dialog box during process shows the messages and allows to see what
the session is doing: this is quite nice, because getting
an empty window from "Show Logs" is frustrating, in my opinion.

So, all this fixes the bug/request #16845.

The patch also fixes bug #22555 (hanging while enabling a package
without BUILD.sh) and several other small bugs (a couple of unitialized
variables) or typos.
It also cleanups the API a bit (we had  SetQueryType and SetQueryMode
doing exactly the same thing ...).

Revision 17412 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sat Jan 20 19:29:35 2007 UTC (8 years ago) by brun
Original Path: trunk/proofx/src/TXSlave.cxx
File length: 19557 byte(s)
Diff to previous 17393
-Remove Varargs.h from TString.h and TObject.h and add this include
in the few files that need it.

-Move the following enums from TBuffer.h to TBufferFile.h

   enum { kMapSize = 503 };
   enum { kStreamedMemberWise = BIT(14) }; //added to version number to know if a collection has been stored member-wise
   enum { kNotDecompressed = BIT(15) };    //indicates a weird buffer, used by TBasket
   enum { kCannotHandleMemberWiseStreaming = BIT(17), //if set TClonesArray should not use memeber wise streaming
          kTextBasedStreaming = BIT(18) };            // indicates if buffer used for XML/SQL object streaming

Revision 17393 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Jan 18 17:10:22 2007 UTC (8 years ago) by rdm
Original Path: trunk/proofx/src/TXSlave.cxx
File length: 19536 byte(s)
Diff to previous 17035
From Gerri:
- add a few missing protections on fSocket.

Revision 17035 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sun Dec 3 23:34:04 2006 UTC (8 years, 1 month ago) by rdm
Original Path: trunk/proofx/src/TXSlave.cxx
File length: 19481 byte(s)
Diff to previous 16969
From Gerri:
0. Introduction of the static:
      TProof::Mgr(const char *url)
   to get the manager to the cluster; this gives access to all the manager
   functionality, included Reset(). TProof::Reset() is removed.

1. Two new classes: TProofLog and TProofLogElem.
   TProofLog contains a list of TProofLogElem, one per node. TProofLogElem
   basically contains a TMacro plus methods to play  with it.

2. The TProofLog object can be retrieved via the manager:

      TProofLog *pl = TProof::Mgr("cluster")->GetSessionLogs()

   by default the last session is retrieved: the signature for GetSessionLogs is

      TProofLog *TProofMgr::GetSessionLogs(Int_t ridx, const char *stag)

   the first argument is a reversed relative index (-1 gets the next to last
   session), the second is the session unique tag; if the second is
   specified the first is ignored.

3. TProofMgr has a new method ReadBuffer to quickly read a buffer from
   a file via XrdProofd: this allows to avoid the second xrootd on the
   redirector and in general is useful when a quick reading is needed.
   Also, the buffer is always retrieved via the master, so we should not
   have firewall problems in accessing directly the xrootd of the workers.

4. In the sandbox I have kept the .sessions file with the active sessions
   and I have added .terminated in each session working dir which have
   been terminated. On the master, each session working dir has the file
   .workers with the relevant information about the workers.

5. The max number of old session workdirs is set to 10 by default
   (configurable in xpd.cf): the sandbox is trimmed when closing a session.

6. Some unrelated changes/fixes contained in the patch:
   - in XrdProofdProtocol:
      - use of /proc (linux, solaris) or sysctl (mac) to verify/search
        for running of a process. For other platforms I have left the
        parsing of the output of 'ps'.
      - I have introduced a 'cron'  thread: it runs every minute and for
        the moment it just cleans a vector; this is the place where to do
        client independent actions, like checking if the config files have
        changed, for example.
      - I have added the possibility to control which user can access
        the cluster; requested by Jan Fiete.

7. The patch contains also several fixes here and there I have found by
   testing.

Revision 16969 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Nov 28 12:10:52 2006 UTC (8 years, 1 month ago) by rdm
Original Path: trunk/proofx/src/TXSlave.cxx
File length: 19463 byte(s)
Diff to previous 16859
From Gerri:
This patch eliminates TVirtualProof, TVirtualProofMgr and TVirtualProofDesc.
The first is integrated in TProof, the second in TProofMgr and the third
becomes TProofDesc defined in TProofMgr.h.

Revision 16859 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Nov 22 00:25:32 2006 UTC (8 years, 2 months ago) by rdm
Original Path: trunk/proofx/src/TXSlave.cxx
File length: 19491 byte(s)
Diff to previous 16839
From Gerri:
simplify checking if socket is in the list of active sockets.

Revision 16839 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Nov 20 15:56:36 2006 UTC (8 years, 2 months ago) by rdm
Original Path: trunk/proofx/src/TXSlave.cxx
File length: 19510 byte(s)
Diff to previous 16775
From Maarten + Gerri:
Patch to allow run time configuration of proofserv environment. The client
can pass a set of shell variables to PROOF. These variables can be used
to startup different versions of the proofserv, or they can instruct the
system to run proofserv under valgrind or tcheck, etc. Main changes:
- default wrapper script for proofserv
- modifies the build system for the wrapper script
- adds a list of environment variables to TVirtualProof, which are
  passed to the wrapper by proofd/xrootd.
- adds code to TProofServ to pickup these variables and pass them
  along to the slaves/submasters

Revision 16775 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Nov 15 17:45:55 2006 UTC (8 years, 2 months ago) by rdm
Original Path: trunk/proofx/src/TXSlave.cxx
File length: 18246 byte(s)
Diff to previous 16460
From Gerri and Bertrand:
Fixes and new features developed in preparation for the Intel quad-core
launch demo:
- Add instantaneous event and MB processing rates in the Progress signal
  and make necessary modification to exploit it in the Progress Dialog.
- Add possibility to change the Progress and Feedback periods
- A number of small improvements and bug fixes

Revision 16460 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Oct 6 09:14:58 2006 UTC (8 years, 3 months ago) by rdm
Original Path: trunk/proofx/src/TXSlave.cxx
File length: 18145 byte(s)
Diff to previous 15930
instead of Printf() use Info() which prints also on which master/slave
it happened.

Revision 15930 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sat Aug 5 20:04:47 2006 UTC (8 years, 5 months ago) by brun
Original Path: trunk/proofx/src/TXSlave.cxx
File length: 18208 byte(s)
Diff to previous 15507
From Gerri:
I have realized that the new tarball requires the mods to the XrdProofd plugin
that I wanted to keep separated. This explains the problem on Mac (and also
 everywhere the plug-in is build).
It also contains the fix of the problem mention by Fons with selectors from a library.

Revision 15507 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Jun 21 16:18:27 2006 UTC (8 years, 7 months ago) by rdm
Original Path: trunk/proofx/src/TXSlave.cxx
File length: 18181 byte(s)
Diff to previous 15338
From Gerri:
The patch implements the following new functionality:

  - Shutdown of idle sessions when quitting ROOT; if not idle the session
    is shutdown as soon as processing terminates; it is possible to delay
    the automatic shutdown by a tunable amount of time via a new directive
    in the xrootd config file 'xpd.shutdown' (see xpd.cf.example).

  - New static method TProof::Reset(const char *url) to hard-cleanup an
    user area (implemented for Xproofd only); this implied quite some
    additions in XrdProofdProtocol.

  - Possibility to temporary remove / re-insert a worker from the active list
       TProof::DeactivateWorker(const char *ord)
       TProof::ActivateWorker(const char *ord)
    with 'ord' the ordinal numer, e.g. "0.3" .

  - A default url for the disk pool
       const char *TVirtualProof::GetDataPoolUrl()
    It is set by default to a string send back by the master, but it can
    be changed via
       void  TVirtualProof::SetDataPoolUrl(const char *url)

    Jan should then adapt his code to use this as default.

  - Posibility to timeout Collect; for now this is only used at forced
    termination.

The patch includes many small changes and bug fixes. One of the most important
is in TXNetSystem (a bug preventing correct treatment of multiple request
to the same redirector).

Revision 15338 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Jun 5 22:51:14 2006 UTC (8 years, 7 months ago) by rdm
Original Path: trunk/proofx/src/TXSlave.cxx
File length: 17570 byte(s)
Diff to previous 15312
From Gerri:
base/inc/TVirtualProof.h, proof/inc/TProof.h, proof/src/TProof.cxx
proof/src/TProofProgressDialog.cxx:
 - fix a problem with the progress dialog when detaching a session:
   a new signal CloseProgressDialog() is introduced, as well as the
   possibility to empty the list of submitted queries at once via
   TProof::Remove().

proofx/inc/TXHandler.h, .cxx:
 - add generic argument to HandleInput() and HandleError().

proofx/inc/TXProofMgr.h, .cxx:
 - move to new signature for HandleInput(), HandleError().

proof/inc/TSlave.h:
 - add method to flush underlying socket.

proofx/inc/TXSlave.h, .cxx:
 - move to new signature for HandleInput(), HandleError().
 - implement new method to flush underlying socket.

proofx/inc/TXSocket.h, .cxx:
 - Add method to flush socket.
 - Handle interrupt messages in the reader thread.
 - Remove interrupt semaphore (not needed any more).
 - Remove timeout argument from GetInterrupt (not needed any more).

proofx/inc/TXProofServ.h, .cxx:
 - move to new signature for HandleInput(), HandleError().
 - implement interrupt handling in HandleInput().
 - implement dedicated version of LockSession to deal with new format
   of session tag (this is a bug fix).

proofd/inc/XrdProofConn.h, .cxx:
 - Add mutex protection in the SendRecv method (it can be called from both
   the reader and main threads).

proofd/src/XrdProofdProtocol.cxx:
 - use an asynchronous message (instead of a signal) for interrupts.

proofx/inc/LinkDef.h, TXSocketHandler.h, .cxx, TXUnixSocket.cxx:
 - add TXSocketHandler in the dictionary.
 - cosmetics.

Revision 15312 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Jun 2 15:14:35 2006 UTC (8 years, 7 months ago) by rdm
Original Path: trunk/proofx/src/TXSlave.cxx
File length: 17275 byte(s)
Diff to previous 14752
From Gerri:
large PROOF patch. Main issues addressed:

- Output redirection to log file at 'proofserv' startup (instead of
  after Setup())
- Log messages activated at session creation
- Session sandbox restructuring in such a way that the unique session
  tag, created by the top master, uniquely identifies the session on
  all nodes, for example on top master:

   <User_Sandbox>/session-<top_master_session_tag>/
    master-0-<top_master_session_tag>/master-0-<top_master_session_tag>.log

  On worker 0.0

   <User_Sandbox>/session-<top_master_session_tag>/
    worker-0.0-<worker_0.0_session_tag>/worker-0.0-<worker_0.0_session_tag>.log

- Automatic creation of the dataset dir
- Improved handling of error conditions
- Reorganization of TProofServ and XrdProofdProtocol
- Several bug fixes, in particular in XrdProofdProtocol

Revision 14752 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Apr 19 10:57:44 2006 UTC (8 years, 9 months ago) by rdm
Original Path: trunk/proofx/src/TXSlave.cxx
File length: 15132 byte(s)
Diff to previous 14745
From Gerri:
This is the big patch.

Comments:

- Client side:
  - Remove use of plugin manager to avoid unwanted locks
  - Improved treatment of error conditions

- Server side:
  - Several new functionalities described in the release notes

Revision 14745 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Apr 19 08:22:26 2006 UTC (8 years, 9 months ago) by rdm
Original Path: trunk/proofx/src/TXSlave.cxx
File length: 11585 byte(s)
Diff to previous 14128
Change the TError.h macros:
Assert   ->  R__ASSERT
Check    ->  R__CHECK
Change the TCollection.h macro:
ForEach  ->  R__FOR_EACH
This to avoid potential problems due too trivial macro names.
The old macros will be removed in the next release. Currently
they will print out warning messages with the advice to move
to the new macro names.

Revision 14128 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Mar 1 10:55:21 2006 UTC (8 years, 10 months ago) by rdm
Original Path: trunk/proofx/src/TXSlave.cxx
File length: 11582 byte(s)
Diff to previous 14109
From Gerri:
- Fix problem with the definition of the worker host name causing
  TSlave::GetName() to return the full URL.

Revision 14109 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sun Feb 26 16:09:24 2006 UTC (8 years, 10 months ago) by rdm
Original Path: trunk/proofx/src/TXSlave.cxx
File length: 11949 byte(s)
Diff to previous 13662
From Gerri:
TXSocket::ProcesUnsolicitedMsg:
  - Fix desynchronization problem due to mutex being released too early;
TXSocketHandler::Notify, TXSlave::Init:
  - Optimize identification of owner TXSlave instance

Revision 13662 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Dec 12 16:42:14 2005 UTC (9 years, 1 month ago) by rdm
Original Path: trunk/proofx/src/TXSlave.cxx
File length: 11904 byte(s)
Diff to previous 13648
From Gerri:
- add missing cvs ident lines
- fix an issue with usage of the TProofResources class.

Revision 13648 - (view) (download) (as text) (annotate) - [select for diffs]
Added Mon Dec 12 12:54:27 2005 UTC (9 years, 1 month ago) by rdm
Original Path: trunk/proofx/src/TXSlave.cxx
File length: 11863 byte(s)
From Gerri:
- last part of the major PROOF upgrade to support disconnect/reconnect
  features using the libXrdProofd.so xrootd plugin.
More on how to configure and run with xrootd/xproofd coming very soon.

This form allows you to request diffs between any two revisions of this file. For each of the two "sides" of the diff, enter a numeric revision.

  Diffs between and
  Type of Diff should be a

Sort log by:

Subversion Admin
ViewVC Help
Powered by ViewVC 1.0.9