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

Let edm::Wrapper<T> use the constructor T{kUninitialized} #46877

Merged
merged 6 commits into from
Dec 11, 2024

Conversation

fwyzard
Copy link
Contributor

@fwyzard fwyzard commented Dec 5, 2024

PR description:

Let edm::Wrapper<T> use a special constructor T{kUninitialized} instead of the default constructor T{}, if the latter does not exist.

Add to DeviceProduct<T> an explicit constructor DeviceProduct{kUninitialized} that calls T{kUninitialized}, if the latter is valid.

Remove the default constructor from PortableCollection, PortableObject and related types, and introduce the special constructor taking kUninitialized.

PR validation:

Unit tests pass, and the full 2024 HLT runs.

@cmsbuild
Copy link
Contributor

cmsbuild commented Dec 5, 2024

cms-bot internal usage

@fwyzard
Copy link
Contributor Author

fwyzard commented Dec 5, 2024

please test with #46876, #46875

@cmsbuild
Copy link
Contributor

cmsbuild commented Dec 5, 2024

-code-checks

Logs: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-46877/42905

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

@cmsbuild
Copy link
Contributor

cmsbuild commented Dec 5, 2024

-code-checks

Logs: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-46877/42907

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

@fwyzard
Copy link
Contributor Author

fwyzard commented Dec 10, 2024

you pushed 3 commits few minutes ago and 4c8434c is touching non-core files

The commits touch those packages, but the comparison does not:

DataFormats/TestObjects/src/classes_def.xml

@@ -5,6 +5,7 @@
 <class name="edmtest::IntProduct" ClassVersion="10">
  <version ClassVersion="10" checksum="4286676158"/>
 </class>
+<class name="std::pair<edmtest::IntProduct, edm::RandomNumberGeneratorState>"/>
 <class name="edmtest::MaybeUninitializedIntProduct" ClassVersion="3">
  <version ClassVersion="3" checksum="3324182225"/>
 </class>

I though that the bot would consider the actual comparison, not the commits, because we want people to be able to replace the commits with a squashed version without requiring to re-sign the PRs ?

@smuzaffar
Copy link
Contributor

I though that the bot would consider the actual comparison

No bot uses the commits and signatures are assigned to commits.

@fwyzard
Copy link
Contributor Author

fwyzard commented Dec 10, 2024

Ah, I see.

Could we consider to use the comparison instead of the commits as a future improvement ?

@smuzaffar
Copy link
Contributor

I do not think it is possible specially when one force push changes and ref to old commits are gone

@cmsbuild
Copy link
Contributor

+1

Size: This PR adds an extra 24KB to repository
Summary: https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-2be352/43357/summary.html
COMMIT: 4c8434c
CMSSW: CMSSW_15_0_X_2024-12-10-1100/el8_amd64_gcc12
User test area: For local testing, you can use /cvmfs/cms-ci.cern.ch/week1/cms-sw/cmssw/46877/43357/install.sh to create a dev area with all the needed externals and cmssw changes.

  • DAS Queries: The DAS query tests failed, see the summary page for details.

Comparison Summary

Summary:

  • No significant changes to the logs found
  • Reco comparison results: 2 differences found in the comparisons
  • DQMHistoTests: Total files compared: 47
  • DQMHistoTests: Total histograms compared: 3623082
  • DQMHistoTests: Total failures: 473
  • DQMHistoTests: Total nulls: 0
  • DQMHistoTests: Total successes: 3622589
  • DQMHistoTests: Total skipped: 20
  • DQMHistoTests: Total Missing objects: 0
  • DQMHistoSizes: Histogram memory added: 0.0 KiB( 46 files compared)
  • Checked 206 log files, 177 edm output root files, 47 DQM output files
  • TriggerResults: found differences in 1 / 45 workflows

@makortel
Copy link
Contributor

I do not think it is possible specially when one force push changes and ref to old commits are gone

Darn. Although #43845 lists

  • Not reset L2's signatures as long as the changes proposed by a force update are identical to changes before the force push. This includes

    • squashing multiple commits (c1, c2, c3, ..., cn) in to one (or more) new commit(s) (cx)
    • force pushing a different set of commits which have overall identical changes

So did that not work in the end?

@makortel
Copy link
Contributor

+core

@smuzaffar
Copy link
Contributor

So did that not work in the end?

@iarspider can check. I think squashing commits is working. I am not sure about adding new set of commits with identical changes though

@iarspider
Copy link
Contributor

The changes were not identical: before and after squash.

@smuzaffar
Copy link
Contributor

lets move this discussion to #43845

@fwyzard
Copy link
Contributor Author

fwyzard commented Dec 11, 2024

The changes were not identical: before and after squash.

As I wrote above, the changes between the two set of commits touch only the DataFormats/TestObjects package:

DataFormats/TestObjects/src/classes_def.xml

@@ -5,6 +5,7 @@
 <class name="edmtest::IntProduct" ClassVersion="10">
  <version ClassVersion="10" checksum="4286676158"/>
 </class>
+<class name="std::pair<edmtest::IntProduct, edm::RandomNumberGeneratorState>"/>
 <class name="edmtest::MaybeUninitializedIntProduct" ClassVersion="3">
  <version ClassVersion="3" checksum="3324182225"/>
 </class>

So I expected the bot to request a new signature only from the core category.

@jfernan2
Copy link
Contributor

+1

@cmsbuild
Copy link
Contributor

This pull request is fully signed and it will be integrated in one of the next master IBs (tests are also fine). This pull request will now be reviewed by the release team before it's merged. @rappoccio, @mandrenguyen, @antoniovilela, @sextonkennedy (and backports should be raised in the release meeting by the corresponding L2)

@mandrenguyen
Copy link
Contributor

+1

@cmsbuild cmsbuild merged commit ba05945 into cms-sw:master Dec 11, 2024
11 checks passed
@fwyzard fwyzard deleted the edm_Wraper_AllocateForOverwrite branch January 21, 2025 16:27
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.

7 participants