On Wed, Sep 15, 2021 at 4:34 AM Mark Dilger
<mark.dil...@enterprisedb.com> wrote:
>
>
>
> > On Jun 16, 2020, at 6:55 AM, amul sul <sula...@gmail.com> wrote:
> >
> > (2) if the session is idle, we also need the top-level abort
> > record to be written immediately, but can't send an error to the client 
> > until the next
> > command is issued without losing wire protocol synchronization. For now, we 
> > just use
> > FATAL to kill the session; maybe this can be improved in the future.
>
> Andres,
>
> I'd like to have a patch that tests the impact of a vacuum running for xid 
> wraparound purposes, blocked on a pinned page held by the cursor, when 
> another session disables WAL.  It would be very interesting to test how the 
> vacuum handles that specific change.  I have not figured out the cleanest way 
> to do this, though, as we don't as a project yet have a standard way of 
> setting up xid exhaustion in a regression test, do we?  The closest I saw to 
> it was your work in [1], but that doesn't seem to have made much headway 
> recently, and is designed for the TAP testing infrastructure, which isn't 
> useable from inside an isolation test.  Do you have a suggestion how best to 
> continue developing out the test infrastructure?
>
>
> Amul,
>
> The most obvious way to test how your ALTER SYSTEM READ ONLY feature 
> interacts with concurrent sessions is using the isolation tester in 
> src/test/isolation/, but as it stands now, the first permutation that gets a 
> FATAL causes the test to abort and all subsequent permutations to not run.  
> Attached patch v34-0009 fixes that.
>

Interesting.

> Attached patch v34-0010 adds a test of cursors opened FOR UPDATE interacting 
> with a system that is set read-only by a different session.  The expected 
> output is worth reviewing to see how this plays out.  I don't see anything in 
> there which is obviously wrong, but some of it is a bit clunky.  For example, 
> by the time the client sees an error "FATAL:  WAL is now prohibited", the 
> system may already have switched back to read-write.  Also, it is a bit 
> strange to get one of these errors on an attempted ROLLBACK.  Once again, not 
> wrong as such, but clunky.
>

Can't we do the same in the TAP test? If the intention is only to test
session termination when the system changes to WAL are prohibited then
that I have added in the latest version, but that test does not
reinitiate the same connection again, I think that is not possible
there too.


Regards,
Amul


Reply via email to