Thread

  1. isolation tests broken for other than 'read committed'

    Kevin Grittner <kevin.grittner@wicourts.gov> — 2011-07-15T22:23:10Z

    It's been a few days since I've run through my usual builds and
    tests, and I just discovered that part of my routine was broken by
    this commit:
     
    http://git.postgresql.org/gitweb/?p=postgresql.git;a=commitdiff;h=846af54dd5a77dc02feeb5e34283608012cfb217
     
    The isolation tests are broken when run against a database with
    default_transaction_isolation = 'repeatable read' or 'serializable'.
    (Which is ironic, really.)
     
    Adding the attached files to src/test/isolation/expected/ causes
    those stricter isolation levels to work in my tests so far, but I
    get random failures in 'read committed' due to apparent randomness
    in which process is chosen as the deadlock victim.  I seem to
    remember Noah mentioning this and a suggested fix, but the problem
    in manifest in a current checkout of head.
     
    Of course, another approach to this would be to set transaction
    isolation level in the new tests.  If we do that, we might want to
    create tests at all three levels, for completeness.
     
    -Kevin