Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Supporting XRootD #43

Open
jedori0228 opened this issue Sep 10, 2021 · 7 comments
Open

Supporting XRootD #43

jedori0228 opened this issue Sep 10, 2021 · 7 comments

Comments

@jedori0228
Copy link
Contributor

jedori0228 commented Sep 10, 2021

When we use a XRootD path (useful for grid jobs) in SpectrumLoader, this file does not pass the following line, and is neglected, since stat() returns non-zero value.

if(stat(p.we_wordv[i], &sb) == 0)
fileList.push_back(p.we_wordv[i]);

A XRootD file can be used if stat() is commented out (but still the wildcard will not work for XRootD path).

@cjbacchus
Copy link
Contributor

cjbacchus commented Sep 10, 2021

There is special logic in WildcardSource to let through /pnfs/ locations (not xrootd'd locations) even if they can't be found
https://github.com/SBNSoftware/sbnana/blob/develop/sbnana/CAFAna/Core/WildcardSource.cxx

and then in FileListSource it is supposed to automatically translate pnfs paths into their xrootd equivalents.
https://github.com/SBNSoftware/sbnana/blob/develop/sbnana/CAFAna/Core/FileListSource.cxx#L98

So, all of this should work if you just let CAFAna xrootd your paths for you. Except, the line in FileListSource is commented out (it exists in the nova version) for some reason. Can you try uncommenting this and running with a /pnfs/ path to see what happens?

@cjbacchus
Copy link
Contributor

Oh, hang on. We would also need a return wildcard; after the warning in WildcardSource. So could you try with both of those changes included?

@jedori0228
Copy link
Contributor Author

Sorry for the late response. I checked uncommenting

// loc = pnfs2xrootd(loc); // no-op for non /pnfs locations
and just using /pnfs/ path works, except that I had to also modify
loc = std::string("root://fndcagpvm01.fnal.gov:1094//pnfs/fnal.gov/usr/")+&loc.c_str()[6];
: fndcagpvm01 -> fndca1

@wesketchum
Copy link
Contributor

@jedori0228 @cjbackhouse is this still an oustanding issue, or what is the status here?

@cjbacchus
Copy link
Contributor

I think the best way forward is for @jedori0228 to make a PR with the two changes mentioned above.

@wesketchum
Copy link
Contributor

@jedori0228 @cjbackhouse did this ever happen?

@cjbacchus
Copy link
Contributor

Comment above is still relevant. That said, this fix is in cafanacore (used by the RecordSource branch), I believe. So we could get it that way too.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants