> On Fri, 26 Oct 2018 at 13:25, Haribabu Kommi <kommi.harib...@gmail.com> wrote: > > Here I attached the cumulative patch with all fixes that are shared in > earlier mails by me. > Except fast_default test, rest of test failures are fixed.
Hi, If I understand correctly, these patches are for the branch "pluggable-storage" in [1] (at least I couldn't apply them cleanly to "pluggable-zheap" branch), right? I've tried to experiment a bit with the current status of the patch, and accidentally stumbled upon what seems to be an issue - when I run pgbench agains it with some significant number of clients and script [2]: $ pgbench -T 60 -c 128 -j 64 -f zipfian.sql I've got for some client an error: client 117 aborted in command 5 (SQL) of script 0; ERROR: unrecognized heap_update status: 1 This problem couldn't be reproduced on the master branch, so I've tried to investigate it. It comes from nodeModifyTable.c:1267, when we've got HeapTupleInvisible as a result, and this value in turn comes from table_lock_tuple. Everything points to the new way of handling HeapTupleUpdated result from heap_update, when table_lock_tuple call was introduced. Since I don't see anything similar in the master branch, can anyone clarify why is this lock necessary here? Out of curiosity I've rearranged the code, that handles HeapTupleUpdated, back to switch and removed table_lock_tuple (see the attached patch, it can be applied on top of the lastest two patches posted by Haribabu) and it seems to solve the issue. [1]: https://github.com/anarazel/postgres-pluggable-storage [2]: https://gist.github.com/erthalion/c85ba0e12146596d24c572234501e756
unrecognized_heap_status.patch
Description: Binary data