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

Changing LHCInfo O2O Implementation to access source data from OMS #36956

Merged
merged 6 commits into from
Feb 18, 2022

Conversation

ggovi
Copy link
Contributor

@ggovi ggovi commented Feb 14, 2022

PR description:

A relevant subset of the online databases related to the DAQ and BEAM parameters control have been significantly reworked in view of run3. In particular, parameters concerning Fills, Lumisections and also most of the data handled by DIP have been moved to a different storage layout. The direct access on the corresponding Oracle tables has been discouraged in favour of queries made on a new dedicated web service, OMS.

This PR aims to re-work the implementation of the LHCInfo O2O workflow, adapting the extraction of the data source to the new indicated service, the OMS.

For this purpose a few utility classes have been created:

  • A generic Convenience class for query data from a Web function, based on Curl
  • A utility class for the specific access on OMS, with several tasks: -form the expected connection string for the required queries; -decoding the JSON string returned by the queries; -converting the data types as needed for populating the existing data structure

The O2O workflow has been adapted and is using these utilities.

PR validation:

Local Integration tests

@cmsbuild
Copy link
Contributor

-code-checks

Logs: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-36956/28309

  • This PR adds an extra 40KB to repository

Code check has found code style and quality issues which could be resolved by applying following patch(s)

@ggovi
Copy link
Contributor Author

ggovi commented Feb 14, 2022

can we do anything to re-trigger the code-checks? the concerned commit did not make it in time...

@tvami
Copy link
Contributor

tvami commented Feb 15, 2022

code-checks


namespace cond {

//
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Was this supposed to be a comment after the // ?

@cmsbuild
Copy link
Contributor

+code-checks

Logs: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-36956/28337

  • This PR adds an extra 40KB to repository

@cmsbuild
Copy link
Contributor

A new Pull Request was created by @ggovi for master.

It involves the following packages:

  • CondCore/CondDB (db)
  • CondFormats/RunInfo (db, alca)
  • CondTools/RunInfo (db)

@malbouis, @yuanchao, @cmsbuild, @ggovi, @francescobrivio, @tvami can you please review it and eventually sign? Thanks.
@mmusich, @tocheng, @seemasharmafnal this is something you requested to watch as well.
@perrotta, @dpiparo, @qliphy you are the release manager for this.

cms-bot commands are listed here

Comment on lines +365 to +368
//coral::Attribute const& ctppsStatusAttribute = CTPPSDataCursor.currentRow()[std::string("CTPPS_STATUS")];
//if (!ctppsStatusAttribute.isNull()) {
// ctppsStatus = ctppsStatusAttribute.data<std::string>();
//}
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

should this be removed?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@tvami In principle this has been left intentionally, because the concerned variables are no longer available in the source db... Are they critical? Should we ask a replacement? Not sure. But maybe we can remove that block for the moment.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe keep them commented but add a sentence above to explain this?

@tvami
Copy link
Contributor

tvami commented Feb 15, 2022

@cmsbuild , please test

@@ -72,7 +72,7 @@ namespace cond {
std::string name;
Iov_t lastInterval;
size_t size = 0;
bool isEmpty() const { return lastInterval.since != time::MAX_VAL; }
bool isEmpty() const { return lastInterval.since == time::MAX_VAL; }
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@ggovi this changes completely the logic of isEmpty() method, is this intended? (i.e. is it a bug-fix?)

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@francescobrivio Good catch Francesco! Yes, this looks weird, it was clearly buggy before the fix, but fortunately never used ( according to my check ). Now, instead, it is used, so I need it correctly implemented!

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the explanation Giacomo! then I agree with the change!

@cmsbuild
Copy link
Contributor

+1

Summary: https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-1b812d/22431/summary.html
COMMIT: b6d2cf0
CMSSW: CMSSW_12_3_X_2022-02-14-2300/slc7_amd64_gcc10
User test area: For local testing, you can use /cvmfs/cms-ci.cern.ch/week0/cms-sw/cmssw/36956/22431/install.sh to create a dev area with all the needed externals and cmssw changes.

Comparison Summary

Summary:

  • No significant changes to the logs found
  • Reco comparison results: 3 differences found in the comparisons
  • DQMHistoTests: Total files compared: 46
  • DQMHistoTests: Total histograms compared: 3764435
  • DQMHistoTests: Total failures: 8
  • DQMHistoTests: Total nulls: 0
  • DQMHistoTests: Total successes: 3764405
  • DQMHistoTests: Total skipped: 22
  • DQMHistoTests: Total Missing objects: 0
  • DQMHistoSizes: Histogram memory added: 0.0 KiB( 45 files compared)
  • Checked 193 log files, 42 edm output root files, 46 DQM output files
  • TriggerResults: no differences found

@cmsbuild
Copy link
Contributor

+code-checks

Logs: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-36956/28382

  • This PR adds an extra 20KB to repository

@cmsbuild
Copy link
Contributor

Pull request #36956 was updated. @malbouis, @yuanchao, @cmsbuild, @ggovi, @francescobrivio, @tvami can you please check and sign again.

@tvami
Copy link
Contributor

tvami commented Feb 17, 2022

@cmsbuild , please test

@tvami
Copy link
Contributor

tvami commented Feb 17, 2022

@cmsbuild
Copy link
Contributor

This pull request is fully signed and it will be integrated in one of the next master IBs after it passes the integration tests. This pull request will now be reviewed by the release team before it's merged. @perrotta, @dpiparo, @qliphy (and backports should be raised in the release meeting by the corresponding L2)

@cmsbuild
Copy link
Contributor

+1

Summary: https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-1b812d/22486/summary.html
COMMIT: 539bd5f
CMSSW: CMSSW_12_3_X_2022-02-17-1100/slc7_amd64_gcc10
User test area: For local testing, you can use /cvmfs/cms-ci.cern.ch/week0/cms-sw/cmssw/36956/22486/install.sh to create a dev area with all the needed externals and cmssw changes.

Comparison Summary

@slava77 comparisons for the following workflows were not done due to missing matrix map:

  • /data/cmsbld/jenkins/workspace/compare-root-files-short-matrix/data/PR-1b812d/138.4_PromptCollisions+RunMinimumBias2021+ALCARECOPROMPTR3+HARVESTDPROMPTR3
  • /data/cmsbld/jenkins/workspace/compare-root-files-short-matrix/data/PR-1b812d/138.5_ExpressCollisions+RunMinimumBias2021+TIER0EXPRUN3+ALCARECOEXPR3+HARVESTDEXPR3
  • /data/cmsbld/jenkins/workspace/compare-root-files-short-matrix/data/PR-1b812d/139.001_RunMinimumBias2021+RunMinimumBias2021+HLTDR3_2021+RECODR3_MinBiasOffline+HARVESTD2021MB

Summary:

  • No significant changes to the logs found
  • Reco comparison results: 0 differences found in the comparisons
  • DQMHistoTests: Total files compared: 49
  • DQMHistoTests: Total histograms compared: 3965143
  • DQMHistoTests: Total failures: 2
  • DQMHistoTests: Total nulls: 0
  • DQMHistoTests: Total successes: 3965119
  • DQMHistoTests: Total skipped: 22
  • DQMHistoTests: Total Missing objects: 0
  • DQMHistoSizes: Histogram memory added: 0.0 KiB( 48 files compared)
  • Checked 204 log files, 45 edm output root files, 49 DQM output files
  • TriggerResults: no differences found

@perrotta
Copy link
Contributor

+1

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

Successfully merging this pull request may close these issues.

5 participants