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

Implement global::OutputModuleBase #11330

Merged
merged 1 commit into from
Sep 26, 2015

Conversation

wmtan
Copy link
Contributor

@wmtan wmtan commented Sep 18, 2015

This PR implements a base class to support global output modules. It also changes AsciiOutputModule to be global, and adds an explicit unit test for global output modules.

@cmsbuild
Copy link
Contributor

A new Pull Request was created by @wmtan for CMSSW_7_6_X.

Implement global::OutputModuleBase

It involves the following packages:

FWCore/Framework
FWCore/Modules
FWCore/ParameterSet

@cmsbuild, @smuzaffar, @Dr15Jones can you please review it and eventually sign? Thanks.
@Martin-Grunewald, @wddgit this is something you requested to watch as well.
You can sign-off by replying to this message having '+1' in the first line of your reply.
You can reject by replying to this message having '-1' in the first line of your reply.
If you are a L2 or a release manager you can ask for tests by saying 'please test' in the first line of a comment.
@Degano you are the release manager for this.
You can merge this pull request by typing 'merge' in the first line of your comment.

@wmtan
Copy link
Contributor Author

wmtan commented Sep 21, 2015

@cmsbuild please test

@cmsbuild
Copy link
Contributor

The tests are being triggered in jenkins.

}
if(remainingEvents_ > 0) {
--remainingEvents_;
}
Copy link
Contributor

Choose a reason for hiding this comment

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

This isn't thread safe. remainingEvents_ could have changed from >0 to 0 between the two calls. Probably the following is better

auto remainingEvents = remainingEvents_.load();
bool keepTrying = remainingEvents > 0;
while (keepTrying){
  auto newValue = remainingEvents -1;
  keepTrying = not remainingEvents_.compare_exchange_strong(remainingEvents, newValue);
  if( keepTrying) { 
      //the exchange failed because the value was changed by another thread.
      // remainingEvents was changed to be the new value of remainingEvents_;
      keepTrying = remainingEvents >0;
  }
}

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Done.

@wmtan
Copy link
Contributor Author

wmtan commented Sep 23, 2015

@Dr15Jones Both of your comments have been adopted.

@wmtan
Copy link
Contributor Author

wmtan commented Sep 23, 2015

@cmsbuild please test

@cmsbuild
Copy link
Contributor

The tests are being triggered in jenkins.

@cmsbuild
Copy link
Contributor

Pull request #11330 was updated. @cmsbuild, @smuzaffar, @Dr15Jones can you please check and sign again.

@Dr15Jones
Copy link
Contributor

+1

@cmsbuild
Copy link
Contributor

This pull request is fully signed and it will be integrated in one of the next CMSSW_7_6_X IBs after it passes the integration tests. This pull request requires discussion in the ORP meeting before it's merged. @davidlange6, @Degano, @smuzaffar

@Dr15Jones
Copy link
Contributor

@smuzaffar is this test still running?

@Dr15Jones
Copy link
Contributor

@smuzaffar @davidlange6 The build timed out since so much of the release must be built. This really is just adding in a new type which isn't used by others but had to touch a file that is used by almost everything. I'd vote to just add this directly to a release.

@smuzaffar
Copy link
Contributor

@Dr15Jones, I have restarted the test. We also noticed that same issue with #11427 and notice that in Pr test we are compiling three times all the packages (packages part of PR and package checked out by checkdeps)

  1. clang compilation check
  2. llvm static analyzer
  3. Normal scram build

I now have changed the logic and first two compilations are only done for the packages which are effected by the PR only. I also have increased the jenkins job time to be 8 hour instead of 5.

@Dr15Jones
Copy link
Contributor

It looks like #11441 and #11469 are also affected

@cmsbuild
Copy link
Contributor

@cmsbuild
Copy link
Contributor

This pull request is fully signed and it will be integrated in one of the next CMSSW_7_6_X IBs (tests are also fine). This pull request requires discussion in the ORP meeting before it's merged. @davidlange6, @Degano, @smuzaffar

@cmsbuild
Copy link
Contributor

@cmsbuild
Copy link
Contributor

This pull request is fully signed and it will be integrated in one of the next CMSSW_7_6_X IBs (tests are also fine). This pull request requires discussion in the ORP meeting before it's merged. @davidlange6, @Degano, @smuzaffar

@davidlange6
Copy link
Contributor

+1

cmsbuild added a commit that referenced this pull request Sep 26, 2015
Implement global::OutputModuleBase
@cmsbuild cmsbuild merged commit de50d36 into cms-sw:CMSSW_7_6_X Sep 26, 2015
@wmtan wmtan deleted the GlobalOutputModule branch September 26, 2015 19:06
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