Fault injection framework

From: Asim R P <apraveen(at)pivotal(dot)io>
To: PostgreSQL mailing lists <pgsql-hackers(at)postgresql(dot)org>
Subject: Fault injection framework
Date: 2019-08-22 14:15:09
Message-ID: CANXE4TdxdESX1jKw48xet-5GvBFVSq=4cgNeioTQff372KO45A@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Hello

Fault injection was discussed a few months ago at PGCon in Ottawa. At
least a few folks showed interest and so I would like to present what we
have been using in Greenplum.

The attached patch set contains the fault injector framework ported to
PostgreSQL master. It provides ability to define points of interest in
backend code and then inject faults at those points from SQL. Also
included is an isolation test to simulate a speculative insert conflict
scenario that was found to be rather cumbersome to implement using advisory
locks, see [1]. The alternative isolation spec using fault injectors seems
much simpler to understand.

Asim

[1] CAAKRu_a7hbyrk=wveHYhr4LbcRnRCG=yPUVoQYB9YO1CdUBE9Q(at)mail(dot)gmail(dot)com
<https://www.postgresql.org/message-id/CAAKRu_a7hbyrk%3DwveHYhr4LbcRnRCG%3DyPUVoQYB9YO1CdUBE9Q%40mail.gmail.com>

Attachment Content-Type Size
0001-Framework-to-inject-faults-from-SQL-tests.patch application/octet-stream 53.7 KB
0003-Speculative-insert-isolation-test-spec-using-fault-i.patch application/octet-stream 5.8 KB
0004-Run-tests-with-faults-if-faultinjector-was-compiled-.patch application/octet-stream 1.3 KB
0002-Add-syntax-to-declare-a-step-that-is-expected-to-blo.patch application/octet-stream 3.6 KB
0005-Isolation-schedule-for-tests-that-inject-faults.patch application/octet-stream 868 bytes

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Dilip Kumar 2019-08-22 15:51:02 Re: POC: Cleaning up orphaned files using undo logs
Previous Message Robert Haas 2019-08-22 14:03:55 Re: POC: Cleaning up orphaned files using undo logs