Command line worker does not read result while writing workload
Bug #441957 reported by
Eric Day
This bug affects 1 person
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Gearman |
Confirmed
|
Medium
|
Unassigned |
Bug Description
The command line worker will try to write the entire workload before reading any of the result, which does not work for some command line tools. For example, 'cat' will write output at the same time as reading input, which means the output buffer will fill up for large results, causing the external process to block, but the command line worker also blocks waiting until the external process tries to read. The command ling workers needs a simple poll/select loop added so reads/writes happen concurrently in a non-blocking way. To reproduce, send a large file to:
gearman -w -f cat cat
gearman -f cat < large_file > /dev/null
Changed in gearmand: | |
importance: | Undecided → Medium |
milestone: | none → 0.11 |
status: | New → Confirmed |
Changed in gearmand: | |
milestone: | 0.11 → none |
To post a comment you must log in.