GearmaNode icon indicating copy to clipboard operation
GearmaNode copied to clipboard

Worker does not get jobs if job payload in size ~65480-65510 bytes

Open dycode opened this issue 8 years ago • 5 comments

When payload size is around 65480-65510 bytes worker does not get jobs from gearman. Example:

var gearmanode = require('gearmanode');
var client = gearmanode.client({ port: 4730 });

var x = '';
for (var i = 0; i < 65700; i++) {
    x += 'a';

    if (x.length > 65480)
        client.submitJob('testsLength', x, { background: true, unique: x.length });
}


var worker = gearmanode.worker({ port: 4730 });

worker.addFunction('testsLength', (job) => {
    console.log('Length: ' + job.payload.toString().length);
    job.workComplete('completed');
});

After running this code, you will see that not all jobs are completed. My tests shows that only jobs with sizes in ~65480-65510 are not received to worker. I can reproduce this in several computers.

  • Gearman v1.1.12
  • Node version v5.2 and v7.0<= (have not tried other versions)
  • Gearmanode v0.2.0

dycode avatar Jan 17 '17 18:01 dycode

  • I can reproduce it
  • there is not a simple reason/problem visible at once
  • more analysis needed

veny avatar Feb 09 '17 16:02 veny

I have this problem too, please fix it. Maybe some one have quick solution?

martynas19942 avatar Feb 14 '17 15:02 martynas19942

@veny I can also reproduce it and have the same issue. Maybe some fix commming up soon?

donatas-dycode avatar Feb 15 '17 09:02 donatas-dycode

Same here.

AndrejLukasevic avatar Feb 20 '17 13:02 AndrejLukasevic

Hi, it seems I got the same. Workarounds it is not a solution :( How long it could take? Please help

paulius-zubavicius avatar Feb 28 '17 12:02 paulius-zubavicius