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

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

Parent Directory Parent Directory


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

Revision 44512 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Jun 4 13:55:55 2012 UTC (2 years, 7 months ago) by ganis
File length: 56858 byte(s)
Diff to previous 44491
Fix RESOURCE_LEAK and bunch of FORWARD_NULL coverity issues; make sure SafeDel macro is defined

Revision 44491 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Jun 4 08:33:29 2012 UTC (2 years, 7 months ago) by ganis
File length: 56333 byte(s)
Diff to previous 44405
Fix for SECURE_CODING coverity issues

Revision 44405 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu May 31 14:23:19 2012 UTC (2 years, 7 months ago) by ganis
File length: 55075 byte(s)
Diff to previous 44372
Fix coverity issues

Revision 44372 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed May 30 20:22:25 2012 UTC (2 years, 7 months ago) by rdm
File length: 55038 byte(s)
Diff to previous 44104
fix clang warning:
TXProofMgr.cxx:430:43: warning: equality comparison with extraneous parentheses [-Wparentheses-equality]
            while ((to->GetString()[from] == ' ')) { from++; }
                    ~~~~~~~~~~~~~~~~~~~~~~^~~~~~

Revision 44104 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu May 3 23:25:39 2012 UTC (2 years, 8 months ago) by ganis
File length: 55040 byte(s)
Diff to previous 44103
Fix warning introduced by the previous patch

Revision 44103 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu May 3 23:11:44 2012 UTC (2 years, 8 months ago) by ganis
File length: 55161 byte(s)
Diff to previous 42858
Fix bunch of Coverity reports

Revision 42858 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Feb 3 11:34:05 2012 UTC (2 years, 11 months ago) by ganis
File length: 54536 byte(s)
Diff to previous 39402
   This patch adds in TProofMgr two static functions to upload files.
   These functionare called UploadFiles and differ in the first argument, which is used
   to pass the files to be uploaded. These can be given as a list (of TFileInfo or TObjString),
   a directory or specified in a text file.
   The functions are documented at
              http://root.cern.ch/drupal/content/uploading-data-files-proof-cluster

   The patch also adds TProofMgr::GetMssUrl() and TProofMgr::SetMssUrl(...) to manage the mass
   storage URL attached to a given cluster. By the default the information is retrieved by the
   server daemon, but can be modified by the user. The functions TProof::GetDataPoolUrl() and
   TProof::SetDataPoolUrl(...) now redirect to TProofMgr::GetMssUrl() and TProofMgr::SetMssUrl(...).

   The obsolete functions TProof::UploadDataset have now been removed.

   This patch addresses some issues raised on Savannah.

Revision 39402 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu May 26 12:56:31 2011 UTC (3 years, 8 months ago) by axel
File length: 53372 byte(s)
Diff to previous 38581
Replace legacy clib/getline and editline by a new library, textinput,
located at core/textinput/src/textinput. That new library is written
in C++, standalone (no external dependencies), cross platform
including Windows, and contains only what we need - unlike
e.g. editline. It implements almost all bash-like editing commands,
color highlighting, history etc. It allows for multiple input objects
and multiple display objects, e.g. GUI and terminal in parallel. It
can be used as a stand-alone library, too, and will become part of
cling - which explains the different license and file names (.cpp).

core/textinputs/src/Getline* contains the adapters to ROOT; the
previous core/editline/enhance.cxx is transformed to
Getline_color.cxx. This new adapter interfaces with TTabCom directly,
without going via an extern "C" function pointer, to allow for an
ostream being passed that will contain all completion options, one per
line. TApplication now defines a virtual function to be called for tab
completion; TRint implements it using TTabCom.

One major change is that the user input string is accessible as const
char* instead of being a char* - the buffer length is unknown
anyway. This caused changes in callers of Getline(); the history and
the getline function types needed to change for CINT.

--enable-editline has been deprecated and is inoperable.

Revision 38581 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Mar 23 15:33:13 2011 UTC (3 years, 10 months ago) by ganis
File length: 53360 byte(s)
Diff to previous 38580
Fix warnings following buildbot findings

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: 53358 byte(s)
Diff to previous 34254
  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 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: 53039 byte(s)
Diff to previous 33639
Fix warnings in notification statements

Revision 33639 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri May 28 13:25:46 2010 UTC (4 years, 7 months ago) by ganis
File length: 53027 byte(s)
Diff to previous 32815
Fix version number in compatibility check affecting TProofMgr::Find

Revision 32815 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Mar 29 14:47:57 2010 UTC (4 years, 9 months ago) by ganis
File length: 52949 byte(s)
Diff to previous 30171
   Disable TXSocket handling while sending / receiving files.
   This is because TXProofMgr::CpProgress processes pending events
   (call to TSystem::ProcessEvents()) potentially screwing-up
   the synchronization in the TXSocket pipe

Revision 30171 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Sep 15 13:43:12 2009 UTC (5 years, 4 months ago) by ganis
File length: 51915 byte(s)
Diff to previous 29893
   Add support for method TProofMgr::Find to run 'find' on the sandbox and
   allowed directories

Revision 29893 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Aug 25 07:19:10 2009 UTC (5 years, 5 months ago) by ganis
File length: 50969 byte(s)
Diff to previous 29613
   In TXProofMgr::Rm, add possibility to skip the confirmation question
   (option '-f'/'--force').
   (Change committed before to the wrong branch).


Revision 29613 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Jul 29 11:21:27 2009 UTC (5 years, 5 months ago) by ganis
File length: 50463 byte(s)
Diff to previous 29609
    In TXProofMgr::Cp and related:
    - fix a problem with the locality determination
    - improve the notification messages during transfer

Revision 29609 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Jul 29 10:06:49 2009 UTC (5 years, 5 months ago) by ganis
File length: 50340 byte(s)
Diff to previous 29579
    Make the recently introduced TProofMgr::Rm return an error code instead of void.

Revision 29579 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sat Jul 25 12:19:25 2009 UTC (5 years, 6 months ago) by ganis
File length: 50146 byte(s)
Diff to previous 29059
   In TProofMgr, add support for the following functionality:
       - sandbox file listing and browsing
       - sandbox file removal
       - file upload, download
   See http://root.cern.ch/drupal/content/accessing-sandbox for details.

Revision 29059 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Jun 17 15:43:11 2009 UTC (5 years, 7 months ago) by ganis
File length: 23497 byte(s)
Diff to previous 28809
   Automatize running of PROOF sessions in valgrind.
   The second argument of TProof::Open is used to trigger the relevant settings.

   To valgrind the master session start PROOF with

      TProof::Open("<master>","valgrind")

   or

      TProof::Open("<master>","valgrind=master")

   To valgrind two workers sessions use

      TProof::Open("<master>","valgrind=workers")

   To valgrind <n> workers sessions use

      TProof::Open("<master>","valgrind=workers#<n>")


   To valgrind master and 2 workers (for <n> workers add '#<n>')

      TProof::Open("<master>","valgrind=master+workers")


   The valgrind logs are available with the tag '<ordinal>-valgrind' in the log dialog
   or form TProofMgr::GetSessionLogs() .

   To add options to valgrind execute

      TProof::AddEnvVar("PROOF_WRAPPERCMD", "valgrind_opts:<options>")

   before starting the session.

Revision 28809 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Jun 4 14:19:29 2009 UTC (5 years, 7 months ago) by ganis
File length: 23399 byte(s)
Diff to previous 28746
  In GetSessionLogs, make sure that the title of the TProofLog object is the master Url


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: 23395 byte(s)
Diff to previous 28572
   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 28572 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue May 12 14:21:03 2009 UTC (5 years, 8 months ago) by ganis
File length: 22592 byte(s)
Diff to previous 28566
  - Adapt new GetSessionLogs functionality to PROOF-Lite
  - Fix a comment in TXProofMgr::GetSessionLogs

Revision 28566 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue May 12 12:21:07 2009 UTC (5 years, 8 months ago) by ganis
File length: 22571 byte(s)
Diff to previous 27034
   In GetSessionLogs, add the possibility to postpone the retrieval of the logs
   files when the TProofLog object is created.


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: 22173 byte(s)
Diff to previous 24822
   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 24822 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Jul 14 17:27:28 2008 UTC (6 years, 6 months ago) by ganis
File length: 22235 byte(s)
Diff to previous 24719
Add missing protection

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: 22219 byte(s)
Diff to previous 24595

    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 24595 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sat Jun 28 05:35:46 2008 UTC (6 years, 6 months ago) by brun
File length: 21034 byte(s)
Diff to previous 24588
Fix compilation warning reported by nightly builds

Revision 24588 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Jun 27 13:52:23 2008 UTC (6 years, 6 months ago) by ganis
File length: 21029 byte(s)
Diff to previous 24580

  Few additions in preparation of the new XrdProofd:
  - New signature for TProofMgr::AttachSession to be used internally in case of
    reconnections
  - Accomodate support for hard/soft Reset operations.

Revision 24580 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Jun 26 21:25:19 2008 UTC (6 years, 6 months ago) by ganis
File length: 20721 byte(s)
Diff to previous 24540
   - Fix a problem preventing patterns to be grepped to be correctly trasmitted to the server.
     This enables full grep functionality, included regular expressions
   - Fix a problem with a notification message on the server side

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: 20923 byte(s)
Diff to previous 23120
Invalidate the TProofMgr when the physical connection is closed

Revision 23120 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Apr 10 13:50:28 2008 UTC (6 years, 9 months ago) by ganis
File length: 20733 byte(s)
Diff to previous 22635
   Remove duplication and fix the definition of the reference URL.
   This also fixes a problem with MatchUrl().

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: 21751 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/TXProofMgr.cxx
File length: 21751 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/TXProofMgr.cxx
File length: 21771 byte(s)
Diff to previous 20867
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 20867 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sun Nov 18 17:03:10 2007 UTC (7 years, 2 months ago) by rdm
Original Path: trunk/proofx/src/TXProofMgr.cxx
File length: 21771 byte(s)
Diff to previous 20862
add io.h on Windows for lseek et al.

Revision 20862 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sun Nov 18 14:51:42 2007 UTC (7 years, 2 months ago) by ganis
Original Path: trunk/proofx/src/TXProofMgr.cxx
File length: 21735 byte(s)
Diff to previous 20758
   Synchronize with braches/dev/proof r20835

   Summary:

   TProofServ:
     - read session.rootrc with level kEnvChange to be able to change existing
       settings
     - Avoid deleting a query result twice in some special cases
     - Fix a problem with the initialization of fKeptQueries
   rootrc.in:
     - restore default settings the asynchronous reading
   TFileCacheRead:
     - add missing protection in ReadBuffer
   TEventIter:
     - Enable the usage of TTreeCache
   XrdProofdProtocol:
     - Additional check on the ownership of the unix socket
     - Improve notification during Reset
     - Reduce default timeout on admin requests and make it configurable
   XrdProofConn:
     - Use the configurable maxtry everywhere where relevant
   TPacketizerAdaptive:
     - Store info on all the processed packets in per-worker lists

   TProofMgr, TXProofMgr, TXSocket, XProofProtocol, XrdProofdProtocol:
     - Add possibility for the admin to broadcast a message to the connected users

   getProof:
     - Add missing protection

Revision 20758 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sun Nov 11 21:29:49 2007 UTC (7 years, 2 months ago) by ganis
Original Path: trunk/proofx/src/TXProofMgr.cxx
File length: 18862 byte(s)
Diff to previous 20682
   Several small fixes and few additions imported from 'branches/dev/proof':
   - XrdProofdProtocol:
      + Fix a problem in CleanuProofServ sometimes preventing proper cleanup
      + In ReadBuffer, do not trigger an error on empty files
      + Add missing protection against an empty string while setting the ROOT version
   - XrdProofdManager:
      + Define the list of unique nodes to avoid broadcasting twice to the same node
   - XrdProofWorker: improve matching technique
   - TProof: add setter and getter for Int_t parameter
   - TProofServ:
      + do not flush the log file in SendAsynMessage: this recent change
        made the logs "disappear" form the ProgressDialog
      + Activate control on the max number of query result kept 
   - TPacketizerUnit: fix a problem with filling the histof for PerfStats
   - TProofPlayer: call Begin() also during selecter re-initialization

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/TXProofMgr.cxx
File length: 18747 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/TXProofMgr.cxx
File length: 17397 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/TXProofMgr.cxx
File length: 17449 byte(s)
Diff to previous 19038
remove :$ from tag line

Revision 19038 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Jun 15 11:38:28 2007 UTC (7 years, 7 months ago) by ganis
Original Path: trunk/proofx/src/TXProofMgr.cxx
File length: 17459 byte(s)
Diff to previous 18353
   Reduce the default amount of notification in case of login failures
   due to invalid "credentials" (user unknown or not allowed, invalid
   group, ...)

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/TXProofMgr.cxx
File length: 17351 byte(s)
Diff to previous 17717
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 17717 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Feb 6 00:09:29 2007 UTC (7 years, 11 months ago) by rdm
Original Path: trunk/proofx/src/TXProofMgr.cxx
File length: 16090 byte(s)
Diff to previous 17035
From Gerri:
- in GetSessionLogs, make 'isess' sign-insensitive (request #22552)

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/TXProofMgr.cxx
File length: 15932 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/TXProofMgr.cxx
File length: 12295 byte(s)
Diff to previous 16775
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 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/TXProofMgr.cxx
File length: 12400 byte(s)
Diff to previous 16557
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 16557 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Oct 19 12:38:07 2006 UTC (8 years, 3 months ago) by rdm
Original Path: trunk/proofx/src/TXProofMgr.cxx
File length: 12423 byte(s)
Diff to previous 15507
From Gerri:
Major set of robustness fixes, improving error reporting and reducing the
startup failures especially observed on AMD64. Summary of changes:
- XrdProofdProtocol.cxx, .h
   - Remove zombie treatment: done by XrdScheduler::Reaper()
   - Check the modification date of the PROOF config file so that changes
     can be picked up on the fly
   - Fix problem with the definition of the image
   - Improved tracing (see etc/proof/xpd.cf.sample)
   - Several bug fixes

- XrdProofConn
   - fix problem with marshalling in case of retries.

- TProofServ, TXProofServ
   - Add return codes to CreateServer() and Setup() for proper termination
     in case of errors

- TProof
   - Make sure that TXProofMgr is the last one in the list of sockets for proper
     cleaning

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/TXProofMgr.cxx
File length: 12423 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/TXProofMgr.cxx
File length: 11825 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/TXProofMgr.cxx
File length: 11812 byte(s)
Diff to previous 14884
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 14884 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon May 1 20:13:42 2006 UTC (8 years, 8 months ago) by rdm
Original Path: trunk/proofx/src/TXProofMgr.cxx
File length: 11316 byte(s)
Diff to previous 14752
Cleanup code by using TUrl::GetHostFQDN().

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/TXProofMgr.cxx
File length: 11709 byte(s)
Diff to previous 14336
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 14336 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Mar 20 21:43:44 2006 UTC (8 years, 10 months ago) by pcanal
Original Path: trunk/proofx/src/TXProofMgr.cxx
File length: 9936 byte(s)
Diff to previous 14164
Reduce direct dependencies on TClass.h, TROOT.h and TStreamerInfo.h.
Warning:  This means that some file that relied on the indirect
inclusion of these header file might now fail to compile with
an error message mention that gROOT is no known or that TClass,
TROOT or TStreamerInfo is incompletely defined.  Simply add the
proper include directive.

Revision 14164 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Mar 3 15:42:37 2006 UTC (8 years, 10 months ago) by rdm
Original Path: trunk/proofx/src/TXProofMgr.cxx
File length: 9917 byte(s)
Diff to previous 14139
From Gerri:
- TXSocket.cxx, TXProofMgr.cxx:
   Fix problem causing in some cases a new unwanted session being created
   with the wrongs IDs.
- TProof.cxx, TVirtualProof.cxx
   Make sure to store always the FQDN (if available) as master host name.
- TProofMgr.cxx
   Remove redundant debug printout.

Revision 14139 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Mar 1 15:46:12 2006 UTC (8 years, 10 months ago) by rdm
Original Path: trunk/proofx/src/TXProofMgr.cxx
File length: 9917 byte(s)
Diff to previous 14110
From Gerri:
proofd/src/XrdProofdProtocol.cxx
 - add missing mutex protections in accessing relevant lists
 - make the forked process to 'exit' in the case the correct uid/gid could
   not be set

proofd/src/XrdProofServProxy.cxx, .h
 - fix a problem in the definition of forked session validity

proofx/src/TXProofMgr.cxx
 - make sure that the session list exists before deleting it

Revision 14110 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sun Feb 26 16:09:57 2006 UTC (8 years, 10 months ago) by rdm
Original Path: trunk/proofx/src/TXProofMgr.cxx
File length: 9894 byte(s)
Diff to previous 13681
Fix missing cvs tag lines.

Revision 13681 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Dec 13 10:12:02 2005 UTC (9 years, 1 month ago) by brun
Original Path: trunk/proofx/src/TXProofMgr.cxx
File length: 9894 byte(s)
Diff to previous 13662
From Gerri:
Writing the notes I realized that the attach functionality of gROOT->Proof(...)
could be automatized, such that it attaches to the first session on the master,
if any:

   gROOT->Proof("masterhost")     // attach to first session, if any, or create one

   gROOT->Proof("masterhost/?N")     // force creation of new session

   gROOT->Proof("masterhost/?2")     // attach to session 2

In the standard case in which there is only a session this gives a very convenient
way of reconnecting.

I have fixed also a small problem with setting of fUser and fRemoteProtocol
for the second slave on a node.

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/TXProofMgr.cxx
File length: 9748 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/TXProofMgr.cxx
File length: 9708 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