'KeepOutput': False affects the job splitting
Hi guys,

it looks like when we have 2 'KeepOutput': False in cascaded, e.g., for Task1 and Task2, as in this testbed request:
amaltaro_RVCMSSW_7_0_0_pre11ProdTTbar_140228_160041_5739

the job splitting field/algorithm is empty for Task2, even when we provide this job splitting at injection time, as one can see in the spec file [1]

Looking into details in WMStats, I noticed
Task1 - ProdTTbar ran 45 jobs
Task2 - DIGIPROD1 ran 1 job (so it took all the input from Task1 in one shot)
Task3 - RECOPROD1 ran 5 jobs (that's correct, each of them with 10lumis)

I noticed this behavior is there since like 2 or 3 months ago, but I'm reporting it only now, sorry :-)

Thanks, Alan.

[1]
request.schema.Task2 = {'KeepOutput': False, 'GlobalTag': 'START70_V4::All', 'InputFromOutputModule': 'RAWSIMoutput', 'ProcessingString': 'START70_V4', 'SplittingAlgo': 'LumiBased', 'InputTask': 'ProdTTbar', 'ConfigCacheID': 'b6db80a24b9858e6cb9ee6c49891c6d6', 'LumisPerJob': 10, 'TaskName': 'DIGIPROD1', 'AcquisitionEra': 'CMSSW_7_0_0_pre11'}

diff --git a/src/python/WMCore/WMSpec/StdSpecs/TaskChain.py b/src/python/WMCore/WMSpec/StdSpecs/TaskChain.py
index 38df540b8..45308578c 100644
--- a/src/python/WMCore/WMSpec/StdSpecs/TaskChain.py
+++ b/src/python/WMCore/WMSpec/StdSpecs/TaskChain.py
@@ -356,13 +356,14 @@ class TaskChainWorkloadFactory(StdBase):
             if not inputTaskConf["KeepOutput"] or len(inputTaskConf["TransientOutputModules"]) > 0:
                 inpMod = taskConf["InputFromOutputModule"]
                 # Check if the splitting has to be changed
-                if inputTaskConf["SplittingAlgo"] == 'EventBased' \\
-                   and (('InputDataset' in inputTaskConf) or ('InputTask' in inputTaskConf)):
-                    splitAlgorithm = 'WMBSMergeBySize'
-                    splitArguments = {'max_merge_size'   : self.maxMergeSize,
-                                      'min_merge_size'   : self.minMergeSize,
-                                      'max_merge_events' : self.maxMergeEvents,
-                                      'max_wait_time'    : self.maxWaitTime}
+                # Lines below commented out to fix #5007 (by Alan M. on 03/Nov/2014 
+                #if inputTaskConf["SplittingAlgo"] == 'EventBased' \\
+                #   and (('InputDataset' in inputTaskConf) or ('InputTask' in inputTaskConf)):
+                #    splitAlgorithm = 'WMBSMergeBySize'
+                #    splitArguments = {'max_merge_size'   : self.maxMergeSize,
+                #                      'min_merge_size'   : self.minMergeSize,
+                #                      'max_merge_events' : self.maxMergeEvents,
+                #                      'max_wait_time'    : self.maxWaitTime}
             else:
                 inpMod = "Merged"
 
['src/python/WMCore/WMSpec/StdSpecs/TaskChain.py']