CMSSW Fallback
The patch attached to this page allows a CMSSW run to fallback from the normal TFC access to a secondary protocol, such as the global xrootd redirector.
This is only tested on CMSSW_3_8_0 or later.
CMSSW Patches
Before you apply any patches, make sure you have your CMS environment set up correctly. From the CMSSW_3_8_x directory, do:
cmsenv
export CVSROOT=:pserver:anonymous@cmscvs.cern.ch:/cvs_server/repositories/CMSSW
Now, apply patches and build the new code:
addpkg IOPool/Input
addpkg FWCore/Services
addpkg FWCore/Catalog
pushd src/FWCore/Catalog
/usr/bin/curl -k https://twiki.cern.ch/twiki/pub/Main/CmsIOFallback/fwcore_catalog_fallback.patch | patch -p0
popd
pushd src/FWCore/Services
/usr/bin/curl -k https://twiki.cern.ch/twiki/pub/Main/CmsIOFallback/fwcore_services_fallback.patch | patch -p0
popd
pushd src/IOPool/Input
/usr/bin/curl -k https://twiki.cern.ch/twiki/pub/Main/CmsIOFallback/iopool_input_fallback.patch | patch -p0
popd
scram b -j4 USER_CXXFLAGS="-g"
It might take 3-5 minutes depending on the speed of your computer.
Add the xrootd service to the CMSSW run
Assuming that your site-local-config.xml event-data stanza looks like this:
<event-data>
<catalog url="trivialcatalog_file://opt/osg/app/cmssoft/cms/SITECONF/local/PhEDEx/storage.xml?protocol=direct"/>
</event-data>
change it to the following:
<event-data>
<catalog url="trivialcatalog_file://opt/osg/app/cmssoft/cms/SITECONF/local/PhEDEx/storage.xml?protocol=direct"/>
<catalog url="trivialcatalog_file://opt/osg/app/cmssoft/cms/SITECONF/local/PhEDEx/storage.xml?protocol=xrootd"/>
</event-data>
where the xrootd protocol points to the xrootd redirector of your choice. If you want to use the global redirector, you would add the following line to your storage.xml file:
<lfn-to-pfn protocol="xrootd" destination-match=".*" path-match="/+store/(.*)" result="root://xrootd.unl.edu//store/$1"/>
You can run CMSSW as normal; whenever CMSSW runs into a file it can't open, it will start using the CMS Data Access Testbed.