Re: Patch: Write Amplification Reduction Method (WARM)
Pavan Deolasee <pavan.deolasee@gmail.com>
From: Pavan Deolasee <pavan.deolasee@gmail.com>
To: Jeff Janes <jeff.janes@gmail.com>
Cc: Dilip Kumar <dilipbalaut@gmail.com>,
Alvaro Herrera <alvherre@2ndquadrant.com>, Amit Kapila <amit.kapila16@gmail.com>, Robert Haas <robertmhaas@gmail.com>, Bruce Momjian <bruce@momjian.us>,
Jaime Casanova <jaime.casanova@2ndquadrant.com>, Haribabu Kommi <kommi.haribabu@gmail.com>,
Tomas Vondra <tomas.vondra@2ndquadrant.com>, pgsql-hackers <pgsql-hackers@postgresql.org>
Date: 2017-03-31T21:58:37Z
Lists: pgsql-hackers
Attachments
- 0004-Provide-control-knobs-to-decide-when-to-do-heap-_v24.patch (application/octet-stream) patch v24-0004
- 0001-Track-root-line-pointer-v23_v24.patch (application/octet-stream) patch v23-0001
- 0002-Free-3-bits-in-ip_posid-field-of-the-ItemPointer_v24.patch (application/octet-stream) patch v24-0002
- 0003-Main-WARM-patch_v24.patch (application/octet-stream) patch v24-0003
- regression.diffs (application/octet-stream)
On Sat, Apr 1, 2017 at 12:39 AM, Jeff Janes <jeff.janes@gmail.com> wrote: > On Thu, Mar 30, 2017 at 4:13 AM, Pavan Deolasee <pavan.deolasee@gmail.com> > wrote: > >> >> >> On Thu, Mar 30, 2017 at 3:29 PM, Dilip Kumar <dilipbalaut@gmail.com> >> wrote: >> >>> On Wed, Mar 29, 2017 at 11:51 AM, Pavan Deolasee >>> <pavan.deolasee@gmail.com> wrote: >>> > Thanks. I think your patch of tracking interesting attributes seems ok >>> too >>> > after the performance issue was addressed. Even though we can still >>> improve >>> > that further, at least Mithun confirmed that there is no significant >>> > regression anymore and in fact for one artificial case, patch does >>> better >>> > than even master. >>> >>> I was trying to compile these patches on latest >>> head(f90d23d0c51895e0d7db7910538e85d3d38691f0) for some testing but I >>> was not able to compile it. >>> >>> make[3]: *** [postgres.bki] Error 1 >>> >> >> Looks like OID conflict to me.. Please try rebased set. >> > > broken again on oid conflicts for 3373 to 3375 from the monitoring > permissions commi 25fff40798fc4. > > Hi Jeff, Thanks for trying. Much appreciated, > After bumping those, I get these compiler warnings: > > heapam.c: In function 'heap_delete': > heapam.c:3298: warning: 'root_offnum' may be used uninitialized in this > function > heapam.c: In function 'heap_update': > heapam.c:4311: warning: 'root_offnum' may be used uninitialized in this > function > heapam.c:4311: note: 'root_offnum' was declared here > heapam.c:3784: warning: 'root_offnum' may be used uninitialized in this > function > heapam.c: In function 'heap_lock_tuple': > heapam.c:5087: warning: 'root_offnum' may be used uninitialized in this > function > > Thanks. I don't see them on my LLVM compiler even at -O2. Anyways, I inspected. They all looked non-problematic, but fixed in the attached version v24, along with some others I could see on another linux machine. > > And I get a regression test failure, attached. > > Thanks again. Seems like my last changes to disallow WARM updates if more than 50% indexes are updated caused this regression. Having various features in different branches and merging them right before sending out the patchset was probably not the smartest thing to do. I've fixed the regression simply by adding another index on that table and making changes to the expected output. BTW I still need 2 regression failures, but I see them on the master too, so not related to the patch. Attached here. Thanks, Pavan
Commits
-
Implement SortSupport for macaddr data type
- f90d23d0c518 10.0 cited
-
Simplify check of modified attributes in heap_update
- 2fd8685e7fd9 10.0 landed
-
Remove direct uses of ItemPointer.{ip_blkid,ip_posid}
- ce96ce60ca22 10.0 landed
-
Fix CatalogTupleInsert/Update abstraction for case of shared indstate.
- aedd554f84bb 10.0 landed
-
Provide CatalogTupleDelete() as a wrapper around simple_heap_delete().
- ab02896510e2 10.0 landed
-
Band-aid fix for incorrect use of view options as StdRdOptions.
- e3e66d8a9813 10.0 cited
-
Update visibility map in the second phase of vacuum.
- fdf9e21196a6 9.3.0 cited
-
Avoid having two copies of the HOT-chain search logic.
- 4da99ea4231e 9.2.0 cited
-
Postgres95 1.01 Distribution - Virgin Sources
- d31084e9d111 7.1.1 cited