I started a transaction on my redshift table like this
BEGIN
LOCK <My-table-name>
And left it like this. Then I pumped some input to my Kinesis Firehose stream that is configured to put it to the same table.
When observing the Kinesis logs I noticed that after exactly 30 mins Kinesis published the data to my redshift table even though there was an open transaction and table was LOCKED.
I just want some info that if its the default behaviour of Kinesis Firehose of breaking the table LOCK or I might have missed something while locking the table.
I just want to test the Kinesis firehose behaviour when the table is LOCKED, does it fail of it breaks the lock every time or it waits infinitely or with some timeout.
I suspect that your bench may be in "autocommit" mode and a COMMIT is being send at the end of each run block of code. This will end your transaction and release the lock. Can you confirm that your lock is still in place by viewing it from another session?
There are other ways that the lock was released, like a conflict being resolved, but you would have seen an error message in your bench if this was the case. Seeing which locks are in place during your firehose execution would be the direct way to detect what is happening.