I'm occasionally seeing my beanstalkd tube "clog up" because a job in the delayed state never transitions to the ready state.
This appears to be an integer overflow issue; the time-left parameter in the stats of the stalled job is a value near 2^64: > stats-job 152 > OK 173 > --- > id: 152 > tube: default > state: delayed > pri: 2147483648 > age: 16299 > delay: 15881 > ttr: 60 > time-left: 18446744073291 > reserves: 0 > timeouts: 0 > releases: 0 > buries: 0 > kicks: 0 (Note age > delay, which to me indicates that the job should be ready, not delayed.) When this happens, restarting beanstalkd solves the problem and unclogs the tube. I'm running beanstalkd 1.4.6 on Ubuntu oneiric, with binlog enabled. I'm inserting a few hundred jobs with delays ranging from 10 minutes to 24 hours, then doing a reserve-with-timeout 0 at about five minute intervals, and occasionally peeking at the previously-scheduled jobs. The problem will consistently appear within an hour or two of operation. Any ideas how to troubleshoot this further? I assume others running delayed jobs with no issues, so is there something in my code that could possibly setting the time-left parameter to a bogus value? Or is time-left a red herring and there's some other reason why the job wouldn't transition to ready after the delay expires? -- You received this message because you are subscribed to the Google Groups "beanstalk-talk" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/beanstalk-talk?hl=en.
