Hi Community,
I receive locking failure on pg_advisory_lock, I do deadlock condition and receive following:
- - -
ERROR: deadlock detected
SQL state: 40P01
Detail: Process 240828 waits for ExclusiveLock on advisory lock [1167570,16820923,3422556162,1]; blocked by process 243637.
Process 243637 waits for ExclusiveLock on advisory lock [1167570,16820923,3422556161,1]; blocked by process 240828.
SQL state: 40P01
Detail: Process 240828 waits for ExclusiveLock on advisory lock [1167570,16820923,3422556162,1]; blocked by process 243637.
Process 243637 waits for ExclusiveLock on advisory lock [1167570,16820923,3422556161,1]; blocked by process 240828.
- - -
I do from Tx1:
select pg_advisory_lock(72245317596090369);
select pg_advisory_lock(72245317596090370);
select pg_advisory_lock(72245317596090370);
and from Tx2:
select pg_advisory_lock(72245317596090370);
select pg_advisory_lock(72245317596090369);
select pg_advisory_lock(72245317596090369);
where long key is following:
72245317596090369-> HEX 0x0100AABBCC001001
where 1st byte (highest significance "0x01") is namespace masked with MAC Address "
AABBCC001001", but in error i see 4 numbers - what is their meaning?
I deducted that 2nd (
16820923
.) HEX 0x100AABB, 1st half of long key) and 3rd is (
3422556161 -> HEX 0xCC001001, 2nd half of long key)
but what are 1st (
1167570
) and 4th (1) numbers?