> Can you put a comment why we need to get the GetLatestSnapshot()? Per my > understanding it's for observing tuples which are updated by concurrent > transactions. > I initially wondered it may break the transaction isolation level REPEATABLE > READ > and the function should return false: but this can lose changes from the > publisher.
+1. With default_transaction_isolation = SERIALIZABLE, the patch also takes SIREAD locks and can cause the apply worker to fail with serialization failures because of that. I am not 100% sure this is a new issue or if it can happen in different ways, but it doesn't seem intended or useful. See the attached claude-generated test case.
041_apply_search_serializable.pl
Description: Binary data
