Presented by:

Aabe002254f14a9aa9d8d7fb64d6d3d4

Asim Rama Praveen

from IIT Bombay

As a software consultant aka project staff at Department of Computer Science and Engineering, IIT Bombay, I write software for developmental problems with a team of multidisciplinary professionals, academicians and students. Previously, I was a Greenplum (fork of PostgreSQL for MPP) developer.

GitLab, GitHub: asimrp

Download slides

How to write a isolation/TAP test to validate crash recovery such that the server crashes after writing a commit record but before updating CLOG? How to test whether a terminate signal that arrives exactly after writing a PREPARE record is handled correctly?

It is possible to come up with many more scenarios like these where existing test frameworks such as regress/TAP/isolation fall short. A new proposal, fault injectors (https://www.postgresql.org/message-id/flat/CANXE4TdxdESX1jKw48xet-5GvBFVSq%3D4cgNeioTQff372KO45A%40mail.gmail.com), offers such fine grain control over the behavior of a running PostgreSQL process. Faults are points of interest along a code path. Actions such as ERROR/PANIC/sleep/etc. can be set for a fault using a SQL interface. When the fault is hit at run time, the process takes the associated action. Actions can be set or unset using SQL commands. The idea was discussed at 2019 unconference in Ottawa.

As part of the talk, the proposed fault injector framwork will be discussed in detail. We shall see several interesting scenarios that can be easily implemented as regress/isolation tests with fault injectors. We shall also consider one or two scenarios from audience and build a test case using faults during the talk.

Date:
2020 February 28 - 15:00
Duration:
40 min
Room:
Grand Victoria 1
Conference:
PGConf India, 2020
Language:
Track:
Database Engine Developers
Difficulty:
Medium

Happening at the same time:

  1. Towards full ACID distributed transaction support with Foreign Data Wrapper
  2. Start Time:
    2020 February 28 15:00

    Room:
    Grand Victoria 2