19#define TSelVerifyDataSet_cxx
100 par =
dynamic_cast<TNamed*
>(
fInput->FindObject(
"PROOF_VerifyDataSetOption"));
108 par =
dynamic_cast<TNamed*
>(
fInput->FindObject(
"PROOF_MSS"));
111 PDB(kSelector, 2)
Info(
"SlaveBegin",
"dataset MSS: '%s'",
fMss.Data());
114 par =
dynamic_cast<TNamed*
>(
fInput->FindObject(
"PROOF_StageOption"));
117 PDB(kSelector, 2)
Info(
"SlaveBegin",
"dataset stage options: '%s'",
fStageopts.Data());
124 if (strstr(opts,
"allfiles:") || strchr(opts,
'A'))
126 else if (strstr(opts,
"staged:") || strchr(opts,
'D'))
129 if (strstr(opts,
"open:") || strchr(opts,
'O'))
131 if (strstr(opts,
"touch:") || strchr(opts,
'T'))
133 if (strstr(opts,
"nostagedcheck:") || strchr(opts,
'I'))
136 if (strstr(opts,
"noaction:") || strchr(opts,
'N'))
138 if (strstr(opts,
"locateonly:") || strchr(opts,
'L'))
140 if (strstr(opts,
"stageonly:") || strchr(opts,
'S'))
143 if (strstr(opts,
"verbose:") || strchr(opts,
'V'))
150 PDB(kSelector, 1)
Info(
"SlaveBegin",
"o=%d", o);
163 Warning(
"SlaveBegin",
"kAllFiles mode: ignoring kStagedFiles or kReopen"
164 " or kTouch requests");
168 PDB(kSelector, 1)
Info(
"SlaveBegin",
"fFopt=%d",
fFopt);
174 Error(
"SlaveBegin",
"kLocateOnly and kStageOnly cannot be processed concurrently");
180 Warning(
"SlaveBegin",
"kNoAction mode: ignoring kLocateOnly or kStageOnly requests");
182 PDB(kSelector, 1)
Info(
"SlaveBegin",
"fSopt=%d",
fSopt);
195 PDB(kSelector, 1)
Info(
"SlaveBegin",
196 "fAllf=%d fCheckstg=%d fNonStgf=%d fReopen=%d fTouch=%d fStgf=%d",
205 PDB(kSelector, 1)
Info(
"SlaveBegin",
206 "fNoaction=%d fFullproc=%d fLocateonly=%d fStageonly=%d",
214 PDB(kSelector, 1)
Info(
"SlaveBegin",
215 "fDoall=%d fGetlistonly=%d fScanlist=%d",
233 (
fInput->FindObject(
"PROOF_CurrentElement")))) {
235 Info(
"Process",
"entry %lld: file: '%s'", entry, fCurrent->
GetName());
238 Error(
"Process",
"entry %lld: current element not found!", entry);
244 Error(
"Process",
"can not get TFileInfo; returning");
249 Info(
"Process",
"input fileinfo: ");
250 fileInfo->
Print(
"L");
275 fDbg, changed, touched, disappeared);
283 PDB(kSelector, 1)
Info(
"Process",
284 "fChangedDs = %d, fTouched = %d disappeared = %d",
289 Info(
"Process",
"updated fileinfo: ");
290 newfileinfo->
Print(
"F");
307 PDB(kSelector, 1)
Info(
"Process",
308 "file appear to be newly staged; %s",
321 fDbg, changed, opened);
328 Info(
"Process",
"updated fileinfo: ");
329 newfileinfo->
Print(
"L");
345 Info(
"SlaveTerminate",
346 "sub-dataset '%s' added to the output list (%lld files)",
R__EXTERN TProofServ * gProofServ
R__EXTERN TSystem * gSystem
Manages an element of a TDSet.
TObject * GetAssocObj(Long64_t i, Bool_t isentry=kFALSE)
Get i-th associated object.
static Bool_t CheckStagedStatus(TFileInfo *fileInfo, Int_t fopt, Int_t maxfiles, Int_t newstagedfiles, TFileStager *stager, Bool_t createStager, Bool_t dbg, Bool_t &changed, Bool_t &touched, Bool_t &disappeared)
Check stage status of the file described by "fileInfo".
static void ProcessFile(TFileInfo *fileInfo, Int_t sopt, Bool_t checkstg, Bool_t doall, TFileStager *stager, Bool_t createStager, const char *stageopts, Bool_t dbg, Bool_t &changed, Bool_t &opened)
Locate, stage, or fully validate file "fileInfo".
Class that contains a list of TFileInfo's and accumulated meta data information about its entries.
Class describing a generic file including meta information.
TUrl * GetFirstUrl() const
void Print(Option_t *options="") const override
Print information about this object.
static TFileStager * Open(const char *stager)
Open a stager, after having loaded the relevant plug-in.
The TNamed class is the base class for all named ROOT classes.
const char * GetName() const override
Returns name of object.
const char * GetTitle() const override
Returns title of object.
virtual void Warning(const char *method, const char *msgfmt,...) const
Issue warning message.
virtual void Error(const char *method, const char *msgfmt,...) const
Issue error message.
virtual void Info(const char *method, const char *msgfmt,...) const
Issue info message.
Class used by TMap to store (key,value) pairs.
Named parameter, streamable and storable.
Selector to verify dataset in parallel on workers.
void InitMembers()
Initialize members.
void SlaveTerminate() override
Worker Terminate.
TSelVerifyDataSet()
Constructor.
void SlaveBegin(TTree *tree) override
Worker Begin.
Bool_t Process(Long64_t entry) override
Process a single entry.
TFileCollection * fSubDataSet
TList * fInput
List of objects available during processing.
TSelectorList * fOutput
! List of objects created during processing
virtual void Abort(const char *why, EAbort what=kAbortProcess)
Abort processing.
const char * Data() const
static TString Format(const char *fmt,...)
Static method which formats a string using a printf style format descriptor and return a TString.
A TTree represents a columnar dataset.
This class represents a WWW compatible URL.
const char * GetUrl(Bool_t withDeflt=kFALSE) const
Return full URL.
const char * GetHostFQDN() const
Return fully qualified domain name of url host.