atlas pool replacement
DESCRIPTION
Atlas POOL Replacement. Developer workshop on I/O and persistence evolution LAL, Orsay, 20-22 Feb 2012 Marcin Nowak (PAS BNL). POOL Code Migration. POOL code was migrated into ATLAS offline codebase in Q3 2011 Location: SVN, AtlasCore, Database/APR New requirement files - PowerPoint PPT PresentationTRANSCRIPT
Developer workshop on I/O and persistence evolutionLAL, Orsay, 20-22 Feb 2012
Marcin Nowak (PAS BNL)
Atlas POOL Replacement
POOL Code Migration
POOL code was migrated into ATLAS offline codebase in Q3 2011 Location: SVN, AtlasCore, Database/APR New requirement files
75% of the migration effort spent
Take from POOL only what ATLAS is actually using Package-level granularity – see next slide
Minimize changes to the files and code .cpp extensions!
Easier to keep in synch with LCG POOL Gradual progress instead of big bang approach
Safer and more practical
Migration of tests was tricky (CMT) Half of the integration tests is gone (no more DataSvc) All remaining are working and run nightly
but without full automatic results validation OVAL -> ?
2
Marcin Nowak BNL PAS GroupI/O and persistence evolution workshop,
Orsay Feb 2012
POOL Packages
Migrated packagesPOOLCoreStorageSvcRootStorageSvc FileCatalog XMLCatalogPersistencySvcImplicitCollection
CollectionBase RootCollectionRelationalCollectionCollectionUtilities
Tests
3
Marcin Nowak BNL PAS Group
Packages not migratedObjectRelationalAccessRelationalStorageServiceRulesFileCatalogRelationalFileCatalogLFCCatalogDataSvcCollection
I/O and persistence evolution workshop, Orsay Feb 2012
APR – Athena Integration
New package : Database/APR in AtlasCore Included in 17.5.0 release and 17.6.0 nightlies
Builds are based on LCG62 releases without POOL
External/AtlasPOOL glue package redirects to APR Simple and fully transparent for “all” client packages
3 packages using DataSvc for “trivial” purposes had to be adapted to PersistencySvc
A package importing LCG POOL directly were causing build process to freeze Python utility loading RootCollection library (dictionary) explicitly had to be modified
In summary: relatively smooth migration Developing and fixing of APR components much easier and faster now
But lack of any usable Athena release makes this a bit pointless still
4
Marcin Nowak BNL PAS GroupI/O and persistence evolution workshop,
Orsay Feb 2012
The “old” POOL
“old” POOL code remains in the LCG CVS repository Still part of LCG60 and LCG61 nightly builds and new releases
LCG61 is used in Athena 17.1.X releases Repository remains open for as long as ATLAS continues to use LCG61
POOL and APR code is still identical We hope to get any necessary ROOT-related fixes to RootStorageSvc from
Markus and propagate them to APR has not happened so far
I am developing Collection packages in APR and porting changes back to POOL happens frequently
There are no Atlas-specific features introduced to APR yet
5
Marcin Nowak BNL PAS GroupI/O and persistence evolution workshop,
Orsay Feb 2012
New Possibilities with APR
Things we can do now that APR is part of Athena: Move/merge TrigCollQuery with CollectionUtilities
Better integration Easier tag acceptance for releases
Integrate/expose file management (FileManager?) Collections, THistSvc
Do something about File Catalog Seems like we treat it more like a nuisance than a useful feature
Integrate/replace Token with Athena/Gaudi navigation Introduce dataset notion to navigation Try to remove unused POOL persistency features
Listing for completeness, but not recommending
I/O and persistence evolution workshop, Orsay Feb 2012
6
Marcin Nowak BNL PAS Group