Skip to content

Commit

Permalink
Merge pull request #16 from sfoulkes/master
Browse files Browse the repository at this point in the history
Fixes problems with straight-to-merge
  • Loading branch information
Stephen Foulkes committed Jul 12, 2012
2 parents e58295a + cbeeb51 commit 5e7daa1
Show file tree
Hide file tree
Showing 2 changed files with 11 additions and 6 deletions.
12 changes: 8 additions & 4 deletions src/python/WMCore/WMSpec/StdSpecs/StdBase.py
Original file line number Diff line number Diff line change
Expand Up @@ -336,7 +336,14 @@ def setupProcessingTask(self, procTask, taskType, inputDataset = None, inputStep
procTaskCmsswHelper.setGlobalTag(self.globalTag)
procTaskCmsswHelper.setOverrideCatalog(self.overrideCatalog)
procTaskCmsswHelper.setErrorDestinationStep(stepName = procTaskLogArch.name())
procTaskStageHelper.setMinMergeSize(self.minMergeSize, self.maxMergeEvents)

if forceMerged:
procTaskStageHelper.setMinMergeSize(0, 0)
elif forceUnmerged:
procTaskStageHelper.disableStraightToMerge()
else:
procTaskStageHelper.setMinMergeSize(self.minMergeSize, self.maxMergeEvents)

procTaskCmsswHelper.cmsswSetup(self.frameworkVersion, softwareEnvironment = "",
scramArch = self.scramArch)
procTaskCmsswHelper.setEventsPerLumi(eventsPerLumi)
Expand Down Expand Up @@ -367,9 +374,6 @@ def setupProcessingTask(self, procTask, taskType, inputDataset = None, inputStep

procTaskCmsswHelper.setDataProcessingConfig(scenarioName, scenarioFunc,
**scenarioArgs)
if forceUnmerged:
procTaskStageHelper.disableStraightToMerge()

return outputModules

def addOutputModule(self, parentTask, outputModuleName,
Expand Down
5 changes: 3 additions & 2 deletions src/python/WMCore/WMSpec/Steps/Executors/StageOut.py
Original file line number Diff line number Diff line change
Expand Up @@ -151,12 +151,13 @@ def execute(self, emulator = None):
if hasattr(self.step.output, 'minMergeSize') \
and hasattr(file, 'size') \
and not getattr(file, 'merged', False):

# We need both of those to continue, and we don't
# direct-to-merge
if getattr(self.step.output, 'doNotDirectMerge', False):
# Then we've been told explicitly not to do direct-to-merge
continue
if file.size > self.step.output.minMergeSize:
if file.size >= self.step.output.minMergeSize:
# Then this goes direct to merge
try:
file = self.handleLFNForMerge(mergefile = file, step = step)
Expand All @@ -173,7 +174,7 @@ def execute(self, emulator = None):
and not getattr(file, 'merged', False):
# Then direct-to-merge due to events if
# the file is large enough:
if file.events > self.step.output.maxMergeEvents:
if file.events >= self.step.output.maxMergeEvents:
# straight to merge
try:
file = self.handleLFNForMerge(mergefile = file, step = step)
Expand Down

0 comments on commit 5e7daa1

Please sign in to comment.