Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Throw JedisDataException when enqueue a job #150

Open
Kiennh opened this issue Sep 13, 2018 · 1 comment
Open

Throw JedisDataException when enqueue a job #150

Kiennh opened this issue Sep 13, 2018 · 1 comment

Comments

@Kiennh
Copy link

Kiennh commented Sep 13, 2018

Some time, i got this error when enqueue job. After few minus, everything will back to normal, job can enqueue agian, I don't now where to start to debug this job, plz help

redis.clients.jedis.exceptions.JedisDataException: WRONGTYPE Operation against a key holding the wrong kind of value
5 at redis.clients.jedis.Protocol.processError(Protocol.java:127) ~[delivery-2.0.jar:?]
6 at redis.clients.jedis.Protocol.process(Protocol.java:161) ~[delivery-2.0.jar:?]
7 at redis.clients.jedis.Protocol.read(Protocol.java:215) ~[delivery-2.0.jar:?]
8 at redis.clients.jedis.Connection.readProtocolWithCheckingBroken(Connection.java:340) ~[delivery-2.0.jar:?]
9 at redis.clients.jedis.Connection.getIntegerReply(Connection.java:265) ~[delivery-2.0.jar:?]
10 at redis.clients.jedis.Jedis.rpush(Jedis.java:865) ~[delivery-2.0.jar:?]
11 at net.greghaines.jesque.client.AbstractClient.doEnqueue(AbstractClient.java:178) ~[delivery-2.0.jar:?]
12 at net.greghaines.jesque.client.ClientPoolImpl$1.doWork(ClientPoolImpl.java:62) ~[delivery-2.0.jar:?]
13 at net.greghaines.jesque.client.ClientPoolImpl$1.doWork(ClientPoolImpl.java:56) ~[delivery-2.0.jar:?]
14 at net.greghaines.jesque.utils.PoolUtils.doWorkInPool(PoolUtils.java:52) ~[delivery-2.0.jar:?]
15 at net.greghaines.jesque.client.ClientPoolImpl.doEnqueue(ClientPoolImpl.java:56) ~[delivery-2.0.jar:?]
16 at net.greghaines.jesque.client.AbstractClient.enqueue(AbstractClient.java:77) ~[delivery-2.0.jar:?]

@UriahOssin
Copy link

UriahOssin commented Oct 7, 2020

I just came across the exact same issue.

The problem in my case was that the same queue was used both for delayed messaging and also for regular messaging.
Due to the fact each messaging method uses a different data structure in Redis, data type collision is quick to happen when trying to enqueue a regular message while a delayed message is still there.

Obvious solution is of course to use a different queue name for each messaging method.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants