dmwm / WMArchive

Workload Archive project
4 stars 13 forks source link

Get full description of FWJR keys to setup a schema for WMArchive #46

Closed vkuznet closed 8 years ago

ticoann commented 8 years ago
{'fallbackFiles': ['/store/mc/RunIIWinter15GS/MinBias_TuneCUETP8M1_13TeV-pythia8/GEN-SIM/MCRUN2_71_V1-v1/40000/7CEE4536-7EAF-E411-9FD2-00266CFFB868.root'],
 'skippedFiles': [],
 'steps': {"logArch1": {
               "status": 0,
               "logs": {
               },
               "stop": 1453076070,
               "site": "T2_CH_CERN",
               "input": {
               },
               "errors": [
               ],
               "parameters": {
               },
               "output": {
                   "logArchive": [
                       {
                           "runs": {
                           },
                           "lfn": "/store/unmerged/logs/prod/2016/1/18/sryu_TaskChain_Data_wq_testt_160118_004034_3719/RECOCOSD/0000/0/ff66d7c8-bd77-11e5-b73d-02163e00efd5-0-0-logArchive.tar.gz",
                           "pfn": "root://eoscms.cern.ch//eos/cms/store/unmerged/logs/prod/2016/1/18/sryu_TaskChain_Data_wq_testt_160118_004034_3719/RECOCOSD/0000/0/ff66d7c8-bd77-11e5-b73d-02163e00efd5-0-0-logArchive.tar.gz",
                           "module_label": "logArchive",
                           "location": null,
                           "checksums": {
                               "adler32": "cde91d73",
                               "cksum": "3803837988"
                           },
                           "events": 0,
                           "merged": false,
                           "size": 0
                       }
                   ],
                   "analysis": [
                   ]
               },
               "analysis": {
               },
               "start": 1453076068,
               "cleanup": {
               },
               "performance": {
                   "storage": {
                   },
                   "multicore": {
                   },
                   "memory": {
                   },
                   "cpu": {
                   }
               }
           },

'cmsRun1': {'analysis': {},
                       'cleanup': {},
                       'errors': [],
                       'input': {'source': [{'catalog': '',
                                             'events': 0,
                                             'guid': '7CEE4536-7EAF-E411-9FD2-00266CFFB868',
                                             'input_source_class': 'PoolSource',
                                             'input_type': 'mixingFiles',
                                             'lfn': '/store/mc/RunIIWinter15GS/MinBias_TuneCUETP8M1_13TeV-pythia8/GEN-SIM/MCRUN2_71_V1-v1/40000/7CEE4536-7EAF-E411-9FD2-00266CFFB868.root',
                                             'module_label': 'source',
                                             'pfn': 'dcap://dccmsdcap.gridka.de:22125/pnfs/gridka.de/cms/disk-only/store/mc/RunIIWinter15GS/MinBias_TuneCUETP8M1_13TeV-pythia8/GEN-SIM/MCRUN2_71_V1-v1/40000/7CEE4536-7EAF-E411-9FD2-00266CFFB868.root',
                                             'runs': {}}]},
                       'logs': {},
                       'output': {'RAWSIMoutput': [{'branch_hash': '15a5492dd49bc7f0ce80621e66145e09',
                                                    'catalog': '',
                                                    'events': 813,
                                                    'guid': 'F0A3C803-3024-E511-A154-0025902009B4',
                                                    'input': ['/store/mc/RunIIWinter15GS/DYJetsToLL_M-800to1000_TuneCUETP8M1_13TeV-amcatnloFXFX-pythia8/GEN-SIM/MCRUN2_71_V1-v1/60000/2A8C10D5-F612-E511-BB60-00259048BEF0.root',
                                                              '/store/mc/RunIIWinter15GS/MinBias_TuneCUETP8M1_13TeV-pythia8/GEN-SIM/MCRUN2_71_V1-v1/40000/7CEE4536-7EAF-E411-9FD2-00266CFFB868.root'],
                                                    'inputpfns': ['dcap://dccmsdcap.gridka.de:22125/pnfs/gridka.de/cms/disk-only/store/mc/RunIIWinter15GS/DYJetsToLL_M-800to1000_TuneCUETP8M1_13TeV-amcatnloFXFX-pythia8/GEN-SIM/MCRUN2_71_V1-v1/60000/2A8C10D5-F612-E511-BB60-00259048BEF0.root',
                                                                  'dcap://dccmsdcap.gridka.de:22125/pnfs/gridka.de/cms/disk-only/store/mc/RunIIWinter15GS/MinBias_TuneCUETP8M1_13TeV-pythia8/GEN-SIM/MCRUN2_71_V1-v1/40000/7CEE4536-7EAF-E411-9FD2-00266CFFB868.root'],
                                                    'lfn': '/store/unmerged/RunIISpring15DR74/DYJetsToLL_M-800to1000_TuneCUETP8M1_13TeV-amcatnloFXFX-pythia8/GEN-SIM-RAW/Asympt25ns_MCRUN2_74_V9-v1/30000/RAWSIMoutput.root',
                                                    'module_label': 'RAWSIMoutput',
                                                    'ouput_module_class': 'PoolOutputModule',
                                                    'pfn': 'RAWSIMoutput.root',
                                                    'runs': {'1': [1,
                                                                   2,
                                                                   3,
                                                                   4]}}],
                                  'analysis': []},
                       'parameters': {},
                       'performance': {'cpu': {'AvgEventTime': '18.4025',
                                               'EventThroughput': '0.0540636',
                                               'MaxEventTime': '41.4657',
                                               'MinEventTime': '7.27678',
                                               'TotalJobCPU': '12046.3',
                                               'TotalJobTime': '15040.2',
                                               'TotalLoopCPU': '12044.2'},
                                       'memory': {'PeakValueRss': '1505.38',
                                                  'PeakValueVsize': '1932.36'},
                                       'multicore': {},
                                       'storage': {'readAveragekB': 77.93363579189058,
                                                   'readCachePercentageOps': 0.0,
                                                   'readMBSec': 0.01632874870754533,
                                                   'readMaxMSec': 1263.09,
                                                   'readNumOps': 480724.0,
                                                   'readPercentageOps': 1.0002080195704812,
                                                   'readTotalMB': 36594.104,
                                                   'readTotalSecs': 0,
                                                   'writeTotalMB': 991.636,
                                                   'writeTotalSecs': 2926030.0}},
                       'site': {},
                       'start': None,
                       'status': 1,
                       'stop': None,
                       "errors": [
                   {
                       "details": "An exception of category 'PluginNotFound' occurred while\n   [0] Constructing the EventProcessor\nException Message:\nUnable to find plugin 'CondorStatusService' in category 'CMS EDM Framework Service'. Please check spelling of name.",
                       "type": "Fatal Exception",
                       "exitCode": "8001"
                   },
                   {
                       "details": "Exit 8001: CMSExeption Exception from cmsRun\n Adding last ten lines of CMSSW stderr:\nWARNING: In non-interactive mode release checks e.g. deprecated releases, production architectures are disabled.\nWARNING: There already exists /pool/grid/cmsplt04/home_cream_454914258/CREAM454914258/glide_82yLgo/execute/dir_13862/job/WMTaskSpace/cmsRun1/CMSSW_7_0_0_pre11 area for SCRAM_ARCH slc5_amd64_gcc481.\n\n Adding last ten lines of CMSSW stdout:\nWARNING: In non-interactive mode release checks e.g. deprecated releases, production architectures are disabled.\nWARNING: There already exists /pool/grid/cmsplt04/home_cream_454914258/CREAM454914258/glide_82yLgo/execute/dir_13862/job/WMTaskSpace/cmsRun1/CMSSW_7_0_0_pre11 area for SCRAM_ARCH slc5_amd64_gcc481.\n",
                       "type": "CMSExeption",
                       "exitCode": 8001
                   }
               ],
               "parameters": {
               },
               "output": {
                   "analysis": [
                   ]
               },
               "analysis": {
               },
               "start": 1453075949,
               "cleanup": {
               },
               "performance": {
                   "storage": {
                   },
                   "multicore": {
                   },
                   "memory": {
                   },
                   "cpu": {
                   }
               }
           },
"stageOut1": {
               "status": 1,
               "logs": {
               },
               "stop": null,
               "site": "T2_CH_CERN",
               "input": {
               },
               "errors": [
                   {
                       "details": "Could not find report file for step stageOut1!",
                       "type": "ReportManipulatingError",
                       "exitCode": 99999
                   }
               ],
               "parameters": {
               },
               "output": {
                   "analysis": [
                   ]
               },
               "analysis": {
               },
               "start": null,
               "cleanup": {
               },
               "performance": {
                   "storage": {
                   },
                   "multicore": {
                   },
                   "memory": {
                   },
                   "cpu": {
                   }
               }
           }
       }}},
 'task': None}
vkuznet commented 8 years ago

Seangchan, by visually inspecting this file I see that it has some "nasty" features. For instance for some parts "runs" attribute has empty dict, for others it has dict with string keys, e.g. "runs": {"1":[1,2,3]}. If I look at processing FWJR I see "runs":{"mlist":[1,2,3]}. As you can see all structures are differ and moreover there is a different key assignment, in one case it is "1" in another "mlist". My point is that it is not fixed data structure for which I can generate schema. Can we fix that in WMAgent for all FWJR. We need pre-defined set of keys and not their dynamic variations. The same goes to "output". In this document it has key attribute named RAWSIMoutput, while in document I used it had MINIAODoutput. This is the same issue. For schema we need fixed keys. I would change later to be "name":"MINIAODoutput" and "name":"RawSIMoutput", i.e. use fixed key "name" and assign to it different values.

ericvaandering commented 8 years ago

Off the top of my head I don't know what "mlist" is. But I would guess that LogCollect jobs are not going to have runs. The concept makes no sense.

vkuznet commented 8 years ago

Here is exact lines in FWJR I used to work with: https://github.com/dmwm/WMArchive/blob/master/test/data/fwjr_processing.json#L73 https://github.com/dmwm/WMArchive/blob/master/test/data/fwjr_processing.json#L120

the former shows usage of "mlist", while later shows output key MINIAODoutput. From schema point of view both are bad keynames, i.e. they're not persistent and will vary from one doc to another. I consider it a bad choice made somewhere in WMCore which we must fix before we'll start collecting docs.

On 0, Eric Vaandering notifications@github.com wrote:

Off the top of my head I don't know what "mlist" is. But I would guess that LogCollect jobs are not going to have runs. The concept makes no sense.


Reply to this email directly or view it on GitHub: https://github.com/dmwm/WMArchive/issues/46#issuecomment-173586383

ericvaandering commented 8 years ago

Sorry, why is MINIAODOutput bad? That's the name of the output module that wrote the data. You can also see RECOoutput in the same report.

vkuznet commented 8 years ago

Because it is not persistent key name, it is name of the output and it's better to be presented in FWJR document as "outputName": "MINIAODoutput" "outputName": "RECOoutput", ... rather then using output names as dictionary keys. They're values of our output workflows.

The problem that schema treats them as schema keys since they are dictionary keys. Since who knows how we may call our outputs in a future and how many outputs we'll have it translates that schema will always change, i.e. such keys are not persistent across documents neither now or in a future.

On 0, Eric Vaandering notifications@github.com wrote:

Sorry, why is MINIAODOutput bad? That's the name of the output module that wrote the data. You can also see RECOoutput in the same report.


Reply to this email directly or view it on GitHub: https://github.com/dmwm/WMArchive/issues/46#issuecomment-173592463

ticoann commented 8 years ago

Sorry Valentin, I didn't inform this issue update since the json is not complete. I will let you know when I have complete json. Yes, I notices that could be the problem. We can discuss on the chat what we can do about it.

ticoann commented 8 years ago

Hi Valentin, new structure should be like this. If you find any other arbitrary key value let me know.

  1. Removing arbitrary key value from dictionary. output = {name: value} -> output = [{'outputModule': name, 'value': value} runs = {runNumber: runNumberList} -> runs = [{'runNumber': runNumber, 'value': runNumberList}
    1. for input, left as it is since inputSource is alwas 'source'

Patch is updated to support new structure in WMAgent side (Still need to be tested) https://github.com/dmwm/WMCore/pull/6440/files

'output': [{'outputModule': 'RAWSIMoutput',
                 'value': [{'branch_hash': '15a5492dd49bc7f0ce80621e66145e09',
                                'catalog': '',
                                 'events': 813,
                                 'guid': 'F0A3C803-3024-E511-A154-0025902009B4',

                                  'runs': [{'runNumber': '1',
                                                        'value': [1,
                                                                  2,
                                                                  3,
                                                                  4]}]}]},
vkuznet commented 8 years ago

Seangchan, that seems fine to me. Although I am not sure I understand the relation between runNumber and runNumberList. Could you please clarify that to me. V.

On 0, ticoann notifications@github.com wrote:

Hi Valentin, new structure should be like this. If you find any other arbitrary key value let me know.

  1. Removing arbitrary key value from dictionary. output = {name: value} -> output = [{'outputModule': name, 'value': value} runs = {runNumber: runNumberList} -> runs = [{'runNumber': runNumber, 'value': runNumberList}
    1. for input, left as it is since inputSource is alwas 'source'

Patch is updated to support new structure in WMAgent side (Still need to be tested) https://github.com/dmwm/WMCore/pull/6440/files

'output': [{'outputModule': 'RAWSIMoutput',
                 'value': [{'branch_hash': '15a5492dd49bc7f0ce80621e66145e09',
                                'catalog': '',
                                 'events': 813,
                                 'guid': 'F0A3C803-3024-E511-A154-0025902009B4',

                                  'runs': [{'runNumber': '1',
                                                        'value': [1,
                                                                  2,
                                                                  3,
                                                                  4]}]}]},

Reply to this email directly or view it on GitHub: https://github.com/dmwm/WMArchive/issues/46#issuecomment-173974635

ticoann commented 8 years ago

I am not sure either. I thought initially that should be lumilist but description says differently.

getattr(cfgSectionRuns, runNumber)

Although I am pretty sure that should be lumi lists. I will double check. Thanks,