Re: Page Scan Mode in Hash Index
Amit Kapila <amit.kapila16@gmail.com>
From: Amit Kapila <amit.kapila16@gmail.com>
To: Ashutosh Sharma <ashu.coek88@gmail.com>
Cc: Robert Haas <robertmhaas@gmail.com>,
Jesper Pedersen <jesper.pedersen@redhat.com>, pgsql-hackers <pgsql-hackers@postgresql.org>
Date: 2017-08-23T11:38:10Z
Lists: pgsql-hackers
Attachments
- 0001-Rewrite-hash-index-scan-to-work-page-at-a-time_v13.patch (application/octet-stream) patch v13-0001
- 0002-Remove-redundant-hash-function-_hash_step-and-do-som.patch (application/octet-stream) patch 0002
- 0003-Improve-locking-startegy-during-VACUUM-in-Hash-Index_v7.patch (application/octet-stream) patch v7-0003
On Tue, Aug 22, 2017 at 7:24 PM, Ashutosh Sharma <ashu.coek88@gmail.com> wrote: > On Tue, Aug 22, 2017 at 3:55 PM, Amit Kapila <amit.kapila16@gmail.com> wrote: > > Okay, I got your point now. I think, currently in _hash_kill_items(), > if an overflow page is pinned we do not check if it got modified since > the last read or > not. Hence, if the vacuum runs on an overflow page that is pinned and > also has some dead tuples in it then it could create a problem for > scan basically, > when scan would attempt to mark the killed items as dead. To get rid > of such problem, i think, even if an overflow page is pinned we should > check if it got > modified or not since the last read was performed on the page. If yes, > then do not allow scan to mark killed items as dead. Attached is the > newer version with these changes along with some other cosmetic > changes mentioned in your earlier email. Thanks. > Thanks for the new version. I again looked at the patches and fixed quite a few comments in the code and ReadMe. You have forgotten to update README for the changes in vacuum patch (0003-Improve-locking-startegy-during-VACUUM-in-Hash-Index_v7). I don't have anything more to add. If you are okay with changes, then we can move it to Ready For Committer unless someone else has some more comments. -- With Regards, Amit Kapila. EnterpriseDB: http://www.enterprisedb.com
Commits
-
Remove lsn from HashScanPosData.
- 22c5e73562c5 11.0 landed
-
Fix trivial mistake in README.
- 79a4a665c046 11.0 landed
-
hash: Implement page-at-a-time scan.
- 7c75ef571579 11.0 landed
-
Reduce pinning and buffer content locking for btree scans.
- 2ed5b87f96d4 9.5.0 cited