Command line worker does not read result while writing workload

Bug #441957 reported by Eric Day on 2009-10-04
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Gearman
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

Eric Day (eday) on 2009-10-04
Changed in gearmand:
importance: Undecided → Medium
milestone: none → 0.11
status: New → Confirmed
Eric Day (eday) on 2009-10-29
Changed in gearmand:
milestone: 0.11 → none
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers