We left Russia. We are against aggression and war with Ukraine. It is a tragedy for our nations, it is a nightmare

Missing channel prefix in PUBLISH call

I have recently tried upgrading Hangfire.Pro.Redis library from version 2.7.5 to 2.8.16.
During testing I saw that recurring jobs are enqueued but not taken for processing.

Initial investigation seems to reveal that the issue lies in missing channel prefix when executing PUBLISH as part of lua script (might have been introduced in version 2.8.0).

My redis connection string:

redis.dev.local:6379,ssl=false,ChannelPrefix=MyChanPrefix

In 2.7.5

+1662549289.606013 [0 172.18.0.1:48872] "SUBSCRIBE" "MyChanPrefixHangfireRedis-Local:queue:myjobsqueue-8ea03fb5-3392-481c-908c-056449f31429:events"

+1662549289.613904 [0 172.18.0.1:48874] "PUBLISH" "MyChanPrefixHangfireRedis-Local:queue:myjobsqueue-8ea03fb5-3392-481c-908c-056449f31429:events" ""

In 2.8.16:

+1662118239.178589 [0 172.18.0.1:55956] "SUBSCRIBE" "MyChanPrefixHangfireRedis-Local:queue:myjobsqueue-8ea03fb5-3392-481c-908c-056449f31429:events"
...
+1662118237.206201 [0 lua] "publish" "HangfireRedis-Local:queue:myjobsqueue-8ea03fb5-3392-481c-908c-056449f31429:events" ""

Can someone confirm if it is a bug or am I rather missing something in configuration?

Thanks for reporting this and your great investigation. Definitely LUA-based transaction don’t respect the ChannelPrefix configuration option. I will make the changes and release the fix with 2.8.17 version most likely on Wednesday (actually the fix is ready, but get flapping test results when testing against SE.Redis 2.X).

1 Like

Thanks for the response and taking care of it :slight_smile:

Sorry for the delay, had problems with race condition in the unit test for this particular case. 2.8.17 is being published now, Hangfire.Pro.Redis 2.8.17 should be available in 5 minutes.