riverqueue/river

Leader election fails with pq driver

wydengyre opened this issue · 1 comments

A repo demonstrating the issue is available here: https://github.com/wydengyre/dbsqlintervaldemo

Using riverdatabasesql with the pq driver will result in failure of the leader election system.

The leader election SQL will result in expires_at being set to a time in the year 2183: https://github.com/FiveBellsSettlement/river/blob/62ce779744c2d2434cc41eb02a6f19db419dc79e/riverdriver/riverdatabasesql/internal/dbsqlc/river_leader.sql.go#L13

Yeah, we've suspect that River isn't compatible with lib/pq. riverdatabasesql is mainly meant for compatibility through a database/sql interface that's using an underlying Pgx driver. I might try to fix it depending on time, but given lib/pq's ancient and been in maintenance mode only for years, I'm not sure how soon I'll get to it.

OOC, what's the main thing blocking you from migrating to a more modern driver like Pgx?