Re: Patch: Write Amplification Reduction Method (WARM)

From: Jaime Casanova <jaime(dot)casanova(at)2ndquadrant(dot)com>
To: Pavan Deolasee <pavan(dot)deolasee(at)gmail(dot)com>
Cc: Haribabu Kommi <kommi(dot)haribabu(at)gmail(dot)com>, Tomas Vondra <tomas(dot)vondra(at)2ndquadrant(dot)com>, pgsql-hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Patch: Write Amplification Reduction Method (WARM)
Date: 2016-12-26 06:19:33
Views: Raw Message | Whole Thread | Download mbox
Lists: pgsql-hackers

On 2 December 2016 at 07:36, Pavan Deolasee <pavan(dot)deolasee(at)gmail(dot)com> wrote:
> I've updated the patches after fixing the issue. Multiple rounds of
> regression passes for me without any issue. Please let me know if it works
> for you.

Hi Pavan,

Today i was playing with your patch and running some tests and found
some problems i wanted to report before i forget them ;)

* You need to add a prototype in src/backend/utils/adt/pgstatfuncs.c:
extern Datum pg_stat_get_tuples_warm_updated(PG_FUNCTION_ARGS);

* The isolation test for partial_index fails (attached the regression.diffs)

* running a home-made test i have at hand i got this assertion:
TRAP: FailedAssertion("!(buf_state & (1U << 24))", File: "bufmgr.c", Line: 837)
LOG: server process (PID 18986) was terminated by signal 6: Aborted
To reproduce:
1) run prepare_test.sql
2) then run the following pgbench command (sql scripts attached):
pgbench -c 24 -j 24 -T 600 -n -f inserts(dot)sql(at)15 -f updates_1(dot)sql(at)20 -f
updates_2(dot)sql(at)20 -f deletes(dot)sql(at)45 db_test

* sometimes when i have made the server crash the attempt to recovery
fails with this assertion:
LOG: database system was not properly shut down; automatic recovery in progress
LOG: redo starts at 0/157F970
TRAP: FailedAssertion("!(!warm_update)", File: "heapam.c", Line: 8924)
LOG: startup process (PID 14031) was terminated by signal 6: Aborted
LOG: aborting startup due to startup process failure
still cannot reproduce this one consistently but happens often enough

will continue playing with it...

Jaime Casanova
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services

Attachment Content-Type Size
regression.diffs application/octet-stream 6.7 KB
deletes.sql application/sql 253 bytes
inserts.sql application/sql 98 bytes
prepare_test.sql application/sql 453 bytes
updates_1.sql application/sql 263 bytes
updates_2.sql application/sql 286 bytes

In response to


Browse pgsql-hackers by date

  From Date Subject
Next Message Michael Paquier 2016-12-26 07:15:12 Re: Incautious handling of overlength identifiers
Previous Message Joel Jacobson 2016-12-25 16:30:00 Re: pg_stat_activity.waiting_start