Hi,

I'm using beanstalkd (great software, btw) in a Python and Java
project and I just noticed some behavior that, I think contradicts the
protocol.
The problem I'm having is that if I PUT a job with a TTR value of 10,
then I have a worker RESERVE it, and let 15 seconds pass, the job goes
from a RESERVED state to READY as expected, and the TIMEOUTS value
goes from 0 to 1.

The problem is, if I issue a DELETE command after that, the job is
successfully deleted, even though its state is no longer RESERVED.

I expected beanstalkd to not allow me to delete the job since the
protocol says:

"A client can only delete jobs that it has reserved or jobs that are
buried."

And then it says:

- "NOT_FOUND\r\n" if the job does not exist or is not either reserved
by the
   client or buried. *This could happen if the job timed out before
the client
   sent the delete command.*

Is this the expected behavior or am I experiencing a bug?

I thought beanstalkd would not let me delete the job and that way my
worker would know it no longer "owned" the job.

I'm currently using:
- beanstalkd 1.4.6 on an Ubuntu VM
- Python client that PUTs jobs beanstalkc
- Java client that RESERVEs the jobs: TrendrrBeanstalk

I also tried consuming the jobs with the same Pythong client I used to
put them, thinking it may be a bug in the Java library, but the
behavior was the same.

-- 
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.

Reply via email to