Bug #20383
NetMonOutput (?) should consider an empty destinations block, as well as nonblocking_sends:true when considering whether to block
Status:
New
Priority:
Low
Assignee:
-
Category:
-
Target version:
-
Start date:
07/20/2018
Due date:
% Done:
0%
Estimated time:
Experiment:
-
Co-Assignees:
Description
I just helped Patrick Tsang at protoDUNE work through an issue in which he tried to run a system without a Dispatcher (and the EBs taking care or disk writing). The system would clog up with events because the EventBuilders were configured to send data to the Dispatcher, and they couldn't do so.
The fix was to set nonblocking_sends: true, but we should also not block if the destinations block is empty.
I've copied the EB FHiCL below that caused the system to clog up when there was no Dispatcher.
[np04daq@np04-srv-001 2768]$ cat EventBuilder1.fcl # Produced from 'fhicl-dump' using: # Input : /tmp/np04daq/tmp.nVBzpV4vTY # Policy : cet::filepath_maker # Path : "FHICL_FILE_PATH" daq: { event_builder: { buffer_count: 20 event_queue_wait_time: 30 expected_fragments_per_event: 9 max_event_size_bytes: 3e8 print_event_store_stats: true request_address: "227.128.12.26" request_port: 3001 routing_token_config: { routing_master_hostname: "np04-srv-001" routing_token_port: 11010 use_routing_master: true } send_init_fragments: false send_requests: true sources: { s0: { host_map: [ { host: "np04-srv-012" portOffset: 9100 rank: 0 }, { host: "np04-srv-011" portOffset: 9112 rank: 1 }, { host: "np04-srv-011" portOffset: 9124 rank: 2 }, { host: "np04-srv-011" portOffset: 9136 rank: 3 }, { host: "np04-srv-011" portOffset: 9148 rank: 4 }, { host: "np04-srv-011" portOffset: 9160 rank: 5 }, { host: "np04-srv-011" portOffset: 9172 rank: 6 }, { host: "np04-srv-011" portOffset: 9184 rank: 7 }, { host: "np04-srv-011" portOffset: 9196 rank: 8 }, { host: "np04-srv-001" portOffset: 9208 rank: 9 } ] max_fragment_size_words: 5e7 source_rank: 0 transferPluginType: "Autodetect" } s1: { max_fragment_size_words: 5e7 source_rank: 1 transferPluginType: "Autodetect" } s2: { max_fragment_size_words: 5e7 source_rank: 2 transferPluginType: "Autodetect" } s3: { max_fragment_size_words: 5e7 source_rank: 3 transferPluginType: "Autodetect" } s4: { max_fragment_size_words: 5e7 source_rank: 4 transferPluginType: "Autodetect" } s5: { max_fragment_size_words: 5e7 source_rank: 5 transferPluginType: "Autodetect" } s6: { max_fragment_size_words: 5e7 source_rank: 6 transferPluginType: "Autodetect" } s7: { max_fragment_size_words: 5e7 source_rank: 7 transferPluginType: "Autodetect" } s8: { max_fragment_size_words: 5e7 source_rank: 8 transferPluginType: "Autodetect" } } use_art: true verbose: true } metrics: { dim: { DIMServerName: "EventBuilder1" DNSNode: "np04-srv-010.cern.ch" DNSPort: 2505 Verbose: false level: 5 metricPluginType: "dim" reporting_interval: 5 } } } outputs: { normalOutput: { compressionLevel: 0 fastCloning: false fileName: "/data0/np04_raw_run%06r_%#_dl1.root" fileProperties: { maxEvents: 1000 maxRuns: 1 maxSize: 8e6 } module_type: "RootOutput" } rootNetOutput: { module_type: "RootNetOutput" } } physics: { analyzers: {} filters: {} my_output_modules: [ "rootNetOutput", "normalOutput" ] producers: {} } process_name: "DAQ" services: { NetMonTransportServiceInterface: { destinations: {} routing_table_config: { use_routing_master: false } service_provider: "NetMonTransportService" } scheduler: { errorOnFailureToPut: false } } source: { module_type: "DuneInput" resume_after_timeout: true waiting_time: 2.5e6 }
History
#1 Updated by Kurt Biery over 2 years ago
- Priority changed from Normal to Low