Skip to content

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

@dycode

Description

@dycode

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions