Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Comments

Close side panel

CCDB populator will match payload and wrapper according to DataDescription#6150

Merged
shahor02 merged 14 commits intoAliceO2Group:devAliceO2Group/AliceO2:devfrom
chiarazampolli:WildcardedSpec_part2chiarazampolli/AliceO2:WildcardedSpec_part2Copy head branch name to clipboard
May 19, 2021
Merged

CCDB populator will match payload and wrapper according to DataDescription#6150
shahor02 merged 14 commits intoAliceO2Group:devAliceO2Group/AliceO2:devfrom
chiarazampolli:WildcardedSpec_part2chiarazampolli/AliceO2:WildcardedSpec_part2Copy head branch name to clipboard

Conversation

@chiarazampolli
Copy link
Collaborator

This allows to send to the CCDB populator multiple CCDB objects at the same time. The pairing paylod <--> wrapper will be done by the framework based on the Data Description.

@chiarazampolli chiarazampolli force-pushed the WildcardedSpec_part2 branch from abfd463 to 5204e5f Compare May 13, 2021 10:36
@shahor02
Copy link
Collaborator

Hi @chiarazampolli
I cannot reproduce on ubuntu the error reported my the macos CI

ERROR: please fix the warnings below about unused class rule
Warning: Unused class rule: std::unordered_map < o2::dcs::DataPointIdentifier, std::string>
Warning: Unused class rule: std::unordered_map < o2::dcs::DataPointIdentifier, std::vector < o2::dcs::DataPointValue>>
Warning: Unused class rule: std::unordered_map < o2::dcs::DataPointIdentifier, o2::dcs::DataPointValue>

and don't understand why it happens. You've suppressed the DataProcessor.h using these maps in the same library, but as far as I know, this is not a condition for dictionary generation. Can you try on your mac?
BTW, I thing also

#pragma link C++ class std::vector < o2::dcs::DataPointValue> + ;

should be added to this linkdef.

@chiarazampolli
Copy link
Collaborator Author

The test that fails in O2 is not related to this PR:

47/47 Test #32: multinode_test ..........................***Failed   33.21 sec

at least I think. @ktf , @TimoWilken , @shahor02 , any idea what it is?

Chiara

@shahor02
Copy link
Collaborator

@chiarazampolli : still fails on the the same Warning: Unused class rule. I've see before some erratic behaviour for unordered_map dictionary generation, might be again this. Added explicit include of the unordered_map to LinkDef, let's see if it helps.

@chiarazampolli
Copy link
Collaborator Author

@chiarazampolli : still fails on the the same Warning: Unused class rule. I've see before some erratic behaviour for unordered_map dictionary generation, might be again this. Added explicit include of the unordered_map to LinkDef, let's see if it helps.

I was just about to take a look and google for hints... Thanks for trying, let's see if your idea works.

@chiarazampolli
Copy link
Collaborator Author

Hi @shahor02 ,

Now there are different errors:

## sw/BUILD/O2-latest/log
--
[2359/3252] Building CXX object Detectors/DCS/CMakeFiles/O2lib-DetectorsDCS.dir/G__O2DetectorsDCS.cxx.o
FAILED: Detectors/DCS/CMakeFiles/O2lib-DetectorsDCS.dir/G__O2DetectorsDCS.cxx.o 
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++ -DBOOST_ALL_NO_LIB -DBOOST_CONTAINER_DYN_LINK -DBOOST_ERROR_CODE_HEADER_ONLY -DBOOST_FILESYSTEM_DYN_LINK -DBOOST_IOSTREAMS_DYN_LINK -DBOOST_PROGRAM_OPTIONS_DYN_LINK -DBOOST_REGEX_DYN_LINK -DENABLE_UPGRADES -DFAIRMQ_HAS_STD_FILESYSTEM=1 -DFMT_LOCALE -DMS_GSL_V3 -DO2lib_DetectorsDCS_EXPORTS -DWITH_OPENMP -I/Volumes/build/build/ci_checks/alice_ci_0/o2/sw/SOURCES/O2/6150/0/Detectors/DCS/include -IDetectors/DCS -IDetectors/DCS/src -I/Volumes/build/build/ci_checks/alice_ci_0/o2/sw/SOURCES/O2/6150/0/Detectors/DCS -I/Volumes/build/build/ci_checks/alice_ci_0/o2/sw/SOURCES/O2/6150/0/DataFormats/Headers/include -I/Volumes/build/build/ci_checks/alice_ci_0/o2/sw/SOURCES/O2/6150/0/DataFormats/MemoryResources/include -I/Volumes/build/build/ci_checks/alice_ci_0/o2/sw/SOURCES/O2/6150/0/GPU/Common -I/Volumes/build/build/ci_checks/alice_ci_0/o2/sw/SOURCES/O2/6150/0/Framework/Logger/include -I/Volumes/build/build/ci_checks/alice_ci_0/o2/sw/SOURCES/O2/6150/0/Common/Utils/include -I/Volumes/build/build/ci_checks/alice_ci_0/o2/sw/SOURCES/O2/6150/0/DataFormats/common/include -I/Volumes/build/build/ci_checks/alice_ci_0/o2/sw/SOURCES/O2/6150/0/Common/Constants/include -I/Volumes/build/build/ci_checks/alice_ci_0/o2/sw/SOURCES/O2/6150/0/CCDB/include -I/Volumes/build/build/ci_checks/alice_ci_0/o2/sw/SOURCES/O2/6150/0/Detectors/Calibration/include -I/Volumes/build/build/ci_checks/alice_ci_0/o2/sw/SOURCES/O2/6150/0/DataFormats/Reconstruction/include -I/Volumes/build/build/ci_checks/alice_ci_0/o2/sw/SOURCES/O2/6150/0/GPU/Utils -I/Volumes/build/build/ci_checks/alice_ci_0/o2/sw/SOURCES/O2/6150/0/DataFormats/Detectors/Common/include -I/Volumes/build/build/ci_checks/alice_ci_0/o2/sw/SOURCES/O2/6150/0/Common/MathUtils/include -I/Volumes/build/build/ci_checks/alice_ci_0/o2/sw/SOURCES/O2/6150/0/Utilities/rANS/include -I/Volumes/build/build/ci_checks/alice_ci_0/o2/sw/SOURCES/O2/6150/0/Common/SimConfig/include -I/Volumes/build/build/ci_checks/alice_ci_0/o2/sw/SOURCES/O2/6150/0/DataFormats/Calibration/include -isystem /Volumes/build/build/ci_checks/alice_ci_0/o2/sw/osx_x86-64/FairMQ/v1.4.37-1/include/fairmq -isystem /Volumes/build/build/ci_checks/alice_ci_0/o2/sw/osx_x86-64/FairMQ/v1.4.37-1/include -isystem /Volumes/build/build/ci_checks/alice_ci_0/o2/sw/osx_x86-64/boost/v1.75.0-1/include -isystem /Volumes/build/build/ci_checks/alice_ci_0/o2/sw/osx_x86-64/FairLogger/v1.9.1-1/include -isystem /Volumes/build/build/ci_checks/alice_ci_0/o2/sw/osx_x86-64/fmt/7.1.0-1/include -isystem /Volumes/build/build/ci_checks/alice_ci_0/o2/sw/osx_x86-64/ROOT/v6-20-08-alice1-1/include -isystem /Volumes/build/build/ci_checks/alice_ci_0/o2/sw/osx_x86-64/FairRoot/v18.4.1-1/include -isystem /Volumes/build/build/ci_checks/alice_ci_0/o2/sw/osx_x86-64/arrow/v1.0.0-1/include -isystem /Volumes/build/build/ci_checks/alice_ci_0/o2/sw/osx_x86-64/ms_gsl/3.1.0-1/include -isystem /Volumes/build/build/ci_checks/alice_ci_0/o2/sw/osx_x86-64/curl/7.70.0-1/include -isystem /Volumes/build/build/ci_checks/alice_ci_0/o2/sw/osx_x86-64/Vc/1.4.1-1/include -isystem /usr/local/include -fPIC -O2 -std=c++17 -Werror -Wno-error=deprecated-declarations -O2 -g -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX11.0.sdk -mmacosx-version-min=10.15 -fPIC -Xclang -fopenmp -std=gnu++17 -MD -MT Detectors/DCS/CMakeFiles/O2lib-DetectorsDCS.dir/G__O2DetectorsDCS.cxx.o -MF Detectors/DCS/CMakeFiles/O2lib-DetectorsDCS.dir/G__O2DetectorsDCS.cxx.o.d -o Detectors/DCS/CMakeFiles/O2lib-DetectorsDCS.dir/G__O2DetectorsDCS.cxx.o -c Detectors/DCS/G__O2DetectorsDCS.cxx
Detectors/DCS/G__O2DetectorsDCS.cxx:576:62: error: no template named 'unordered_map'; did you mean 'unordered_set'?
   static TGenericClassInfo *GenerateInitInstanceLocal(const unordered_map<o2::dcs::DataPointIdentifier,vector<o2::dcs::DataPointValue> >*)
                                                             ^~~~~~~~~~~~~
                                                             unordered_set
--
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/unordered_set:382:28: note: 'unordered_set' declared here
class _LIBCPP_TEMPLATE_VIS unordered_set
                           ^
Detectors/DCS/G__O2DetectorsDCS.cxx:578:7: error: no template named 'unordered_map'; did you mean 'unordered_set'?
      unordered_map<o2::dcs::DataPointIdentifier,vector<o2::dcs::DataPointValue> > *ptr = 0;
      ^~~~~~~~~~~~~
      unordered_set
--
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/unordered_set:382:28: note: 'unordered_set' declared here
class _LIBCPP_TEMPLATE_VIS unordered_set
                           ^
Detectors/DCS/G__O2DetectorsDCS.cxx:579:69: error: use of undeclared identifier 'unordered_map'
      static ::TVirtualIsAProxy* isa_proxy = new ::TIsAProxy(typeid(unordered_map<o2::dcs::DataPointIdentifier,vector<o2::dcs::DataPointValue> >));
                                                                    ^
Detectors/DCS/G__O2DetectorsDCS.cxx:582:26: error: use of undeclared identifier 'unordered_map'
                  typeid(unordered_map<o2::dcs::DataPointIdentifier,vector<o2::dcs::DataPointValue> >), ::ROOT::Internal::DefineBehavior(ptr, ptr),
                         ^
Detectors/DCS/G__O2DetectorsDCS.cxx:584:26: error: use of undeclared identifier 'unordered_map'
                  sizeof(unordered_map<o2::dcs::DataPointIdentifier,vector<o2::dcs::DataPointValue> >) );
                         ^
Detectors/DCS/G__O2DetectorsDCS.cxx:590:105: error: use of undeclared identifier 'unordered_map'
      instance.AdoptCollectionProxyInfo(TCollectionProxyInfo::Generate(TCollectionProxyInfo::MapInsert< unordered_map<o2::dcs::DataPointIdentifier,vector<o2::dcs::DataPointValue> > >()));
                                                                                                        ^
Detectors/DCS/G__O2DetectorsDCS.cxx:596:96: error: no template named 'unordered_map'; did you mean 'unordered_set'?
   static ::ROOT::TGenericClassInfo *_R__UNIQUE_DICT_(Init) = GenerateInitInstanceLocal((const unordered_map<o2::dcs::DataPointIdentifier,vector<o2::dcs::DataPointValue> >*)0x0); R__UseDummy(_R__UNIQUE_DICT_(Init));
                                                                                               ^~~~~~~~~~~~~
                                                                                               unordered_set
--
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/unordered_set:382:28: note: 'unordered_set' declared here
class _LIBCPP_TEMPLATE_VIS unordered_set
                           ^
Detectors/DCS/G__O2DetectorsDCS.cxx:600:66: error: no template named 'unordered_map'; did you mean 'unordered_set'?
      TClass* theClass =::ROOT::GenerateInitInstanceLocal((const unordered_map<o2::dcs::DataPointIdentifier,vector<o2::dcs::DataPointValue> >*)0x0)->GetClass();
                                                                 ^~~~~~~~~~~~~
                                                                 unordered_set
--
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/unordered_set:382:28: note: 'unordered_set' declared here
class _LIBCPP_TEMPLATE_VIS unordered_set
                           ^
Detectors/DCS/G__O2DetectorsDCS.cxx:613:67: error: no template named 'unordered_map'; did you mean 'unordered_set'?
      return  p ? ::new((::ROOT::Internal::TOperatorNewHelper*)p) unordered_map<o2::dcs::DataPointIdentifier,vector<o2::dcs::DataPointValue> > : new unordered_map<o2::dcs::DataPointIdentifier,vector<o2::dcs::DataPointValue> >;
                                                                  ^~~~~~~~~~~~~
                                                                  unordered_set
--
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/unordered_set:382:28: note: 'unordered_set' declared here
class _LIBCPP_TEMPLATE_VIS unordered_set
                           ^
Detectors/DCS/G__O2DetectorsDCS.cxx:613:150: error: no template named 'unordered_map'; did you mean 'unordered_set'?
      return  p ? ::new((::ROOT::Internal::TOperatorNewHelper*)p) unordered_map<o2::dcs::DataPointIdentifier,vector<o2::dcs::DataPointValue> > : new unordered_map<o2::dcs::DataPointIdentifier,vector<o2::dcs::DataPointValue> >;
                                                                                                                                                     ^~~~~~~~~~~~~
                                                                                                                                                     unordered_set
--
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/unordered_set:382:28: note: 'unordered_set' declared here
class _LIBCPP_TEMPLATE_VIS unordered_set
                           ^
Detectors/DCS/G__O2DetectorsDCS.cxx:616:66: error: no template named 'unordered_map'; did you mean 'unordered_set'?
      return p ? ::new((::ROOT::Internal::TOperatorNewHelper*)p) unordered_map<o2::dcs::DataPointIdentifier,vector<o2::dcs::DataPointValue> >[nElements] : new unordered_map<o2::dcs::DataPointIdentifier,vector<o2::dcs::DataPointValue> >[nElements];
                                                                 ^~~~~~~~~~~~~
                                                                 unordered_set
--
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/unordered_set:382:28: note: 'unordered_set' declared here
class _LIBCPP_TEMPLATE_VIS unordered_set
                           ^
Detectors/DCS/G__O2DetectorsDCS.cxx:616:160: error: no template named 'unordered_map'; did you mean 'unordered_set'?
      return p ? ::new((::ROOT::Internal::TOperatorNewHelper*)p) unordered_map<o2::dcs::DataPointIdentifier,vector<o2::dcs::DataPointValue> >[nElements] : new unordered_map<o2::dcs::DataPointIdentifier,vector<o2::dcs::DataPointValue> >[nElements];
                                                                                                                                                               ^~~~~~~~~~~~~
                                                                                                                                                               unordered_set
--
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/unordered_set:382:28: note: 'unordered_set' declared here
class _LIBCPP_TEMPLATE_VIS unordered_set
                           ^
Detectors/DCS/G__O2DetectorsDCS.cxx:620:93: error: expected expression
      delete ((unordered_map<o2::dcs::DataPointIdentifier,vector<o2::dcs::DataPointValue> >*)p);
                                                                                            ^
Detectors/DCS/G__O2DetectorsDCS.cxx:620:16: error: use of undeclared identifier 'unordered_map'
      delete ((unordered_map<o2::dcs::DataPointIdentifier,vector<o2::dcs::DataPointValue> >*)p);
               ^
Detectors/DCS/G__O2DetectorsDCS.cxx:623:96: error: expected expression
      delete [] ((unordered_map<o2::dcs::DataPointIdentifier,vector<o2::dcs::DataPointValue> >*)p);
                                                                                               ^
Detectors/DCS/G__O2DetectorsDCS.cxx:623:19: error: use of undeclared identifier 'unordered_map'
      delete [] ((unordered_map<o2::dcs::DataPointIdentifier,vector<o2::dcs::DataPointValue> >*)p);
                  ^
Detectors/DCS/G__O2DetectorsDCS.cxx:626:15: error: no template named 'unordered_map'; did you mean 'unordered_set'?
      typedef unordered_map<o2::dcs::DataPointIdentifier,vector<o2::dcs::DataPointValue> > current_t;
              ^~~~~~~~~~~~~
              unordered_set
--
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/unordered_set:382:28: note: 'unordered_set' declared here
class _LIBCPP_TEMPLATE_VIS unordered_set
                           ^
Detectors/DCS/G__O2DetectorsDCS.cxx:641:62: error: no template named 'unordered_map'; did you mean 'unordered_set'?
   static TGenericClassInfo *GenerateInitInstanceLocal(const unordered_map<o2::dcs::DataPointIdentifier,string>*)
                                                             ^~~~~~~~~~~~~
                                                             unordered_set
--
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/unordered_set:382:28: note: 'unordered_set' declared here
class _LIBCPP_TEMPLATE_VIS unordered_set
                           ^
Detectors/DCS/G__O2DetectorsDCS.cxx:643:7: error: no template named 'unordered_map'; did you mean 'unordered_set'?
      unordered_map<o2::dcs::DataPointIdentifier,string> *ptr = 0;
      ^~~~~~~~~~~~~
      unordered_set
--

@ktf
Copy link
Member

ktf commented May 18, 2021

I think you need to move the include outside the ifdef.

@chiarazampolli
Copy link
Collaborator Author

Ciao @ktf , I moved the include and the pragma too, as we discussed. Let's see.

@ktf
Copy link
Member

ktf commented May 18, 2021

The pragma needs to stay inside the #ifdef __CLING__. The ifdef for __CINT__ should be dropped, given we are not using root5 (and in any case CINT does not understand unordered_map).

@chiarazampolli
Copy link
Collaborator Author

ok, thanks, then I misunderstood.

@shahor02
Copy link
Collaborator

Hi,
I agree that the #if defined(__CINT__) should be dropped, but in all other LinkDefs using explicit include, the include is inside the #ifdef __CLING__, e.g. DataFormatsPHOSLinkDef.h.
I am afraid there is a specific problem with unordered_map support in the root, if the error persists, will write to root forum.
The problem appeared after suppressing the DCSProcessor.h which was explicitly using unordered_map<DataPointIdentifier..>, apparently, now it does not include the unordered_map header (but does it for the vector).

@ktf
Copy link
Member

ktf commented May 18, 2021

@shahor02 we could indeed try with adding #include <unordered_map> in the header foro2::dcs::DataPointIdentifier.

@chiarazampolli
Copy link
Collaborator Author

Ok, it failed again. I will try to add the include in a file.

@chiarazampolli
Copy link
Collaborator Author

chiarazampolli commented May 18, 2021

Now macos is happy!
Why do we have 2 clang-format, one of which failing? same was there before, but with the tab finder (@ktf , @TimoWilken ).

@chiarazampolli
Copy link
Collaborator Author

These are not from my PR:

20-            Detectors/ITSMFT/ITS/macros/test/CheckLUtime.C # temporary exclude until fix for full Clusters elimination
21:            Detectors/ITSMFT/ITS/macros/test/dictionary_integrity_test.C     # temporary exclude until fix for full Clusters elimination       
22-            Detectors/MUON/MCH/Geometry/Test/rootlogon.C

If all the rest is green, we should merge, unless we want to have an explicit blessing by the detectors (@shahor02 ).

@shahor02
Copy link
Collaborator

@chiarazampolli after your update I can't see anymore what was reported for these macros. What was a problem?

@chiarazampolli
Copy link
Collaborator Author

Just trailing whitespaces. See https://github.com/AliceO2Group/AliceO2/pull/6150/checks?check_run_id=2617983370, from "Space checker".

@chiarazampolli
Copy link
Collaborator Author

macos seems spurious - pinging @ktf , @TimoWilken.

@chiarazampolli
Copy link
Collaborator Author

Hi @shahor02 ,

Finally all tests have run. Space checker fails in other macros that I did not touch. Should we ask the detectors to validate, or merge?

Chiara

@shahor02
Copy link
Collaborator

Finally... I would merge it, nothing currently critically depends on this, can fix in other PR if problems are found.

@shahor02 shahor02 merged commit 13aa4a1 into AliceO2Group:dev May 19, 2021
@shahor02 shahor02 mentioned this pull request May 23, 2021
cortesep pushed a commit to cortesep/AliceO2 that referenced this pull request Jun 11, 2021
…ption (AliceO2Group#6150)

* changes for wildcarded DataSpec

* Using constructor of InputSpec with only Origin

* Modify detector calib.code to match to new CCDB populator inputs (#32)

Co-authored-by: shahoian <ruben.shahoyan@cern.ch>

* Adapting new devices

clang-format

* Removing obsolete DCS processing

* Adding some pragma rules

* remove deleted macro from exclusion list

* Remove tabs

* Include unordered_map to test if it helps with dictionary building

* Move include and pragma outside the ifdef (Giulio's advice)

* Update DetectorsDCSLinkDef.h

* Moving include of unordered_map to an include file in the library

* clang-format

* remove trailing space

Co-authored-by: Ruben Shahoyan <shahor02@users.noreply.github.com>
Co-authored-by: shahoian <ruben.shahoyan@cern.ch>
Co-authored-by: Giulio Eulisse <10544+ktf@users.noreply.github.com>
@chiarazampolli chiarazampolli deleted the WildcardedSpec_part2 branch May 16, 2022 07:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

Morty Proxy This is a proxified and sanitized view of the page, visit original site.