Re: [HACKERS] [PATCH] Transaction traceability - txid_status(bigint)

2017-03-31 Thread Robert Haas
On Fri, Mar 31, 2017 at 11:08 AM, David Steele wrote: > On 3/31/17 10:46 AM, Craig Ringer wrote: >> Patches 1 and 2 were the key parts and thanks to Robert's helpful >> review, advice and edits they're committed now. >> >> Committed, done. Yay. > > Excellent. I have marked this a "Committed" by R

Re: [HACKERS] [PATCH] Transaction traceability - txid_status(bigint)

2017-03-31 Thread David Steele
On 3/31/17 10:46 AM, Craig Ringer wrote: Patches 1 and 2 were the key parts and thanks to Robert's helpful review, advice and edits they're committed now. Committed, done. Yay. Excellent. I have marked this a "Committed" by Robert. One down... -- -David da...@pgmasters.net -- Sent via pg

Re: [HACKERS] [PATCH] Transaction traceability - txid_status(bigint)

2017-03-31 Thread Craig Ringer
On 31 Mar. 2017 22:31, "David Steele" wrote: On 3/25/17 12:12 AM, Peter Eisentraut wrote: > I'm wondering if this is a perl version/platform issue around >> >> $tx->pump until $stdout =~ /[[:digit:]]+[\r\n]$/; >> >> where we're not recognising the required output from psql when we get it. >>

Re: [HACKERS] [PATCH] Transaction traceability - txid_status(bigint)

2017-03-31 Thread David Steele
On 3/25/17 12:12 AM, Peter Eisentraut wrote: I'm wondering if this is a perl version/platform issue around $tx->pump until $stdout =~ /[[:digit:]]+[\r\n]$/; where we're not recognising the required output from psql when we get it. What's in src/test/recovery/tmp_check/log/regress_log_011*

Re: [HACKERS] [PATCH] Transaction traceability - txid_status(bigint)

2017-03-24 Thread Peter Eisentraut
> I'm wondering if this is a perl version/platform issue around > > $tx->pump until $stdout =~ /[[:digit:]]+[\r\n]$/; > > where we're not recognising the required output from psql when we get it. > > What's in src/test/recovery/tmp_check/log/regress_log_011* ? > > I couldn't use PostgresNod

Re: [HACKERS] [PATCH] Transaction traceability - txid_status(bigint)

2017-03-24 Thread Craig Ringer
On 25 March 2017 at 07:31, Peter Eisentraut wrote: > On 3/24/17 02:27, Craig Ringer wrote: >> On 24 March 2017 at 02:29, Robert Haas wrote: >>> On Tue, Mar 21, 2017 at 11:35 PM, Craig Ringer >>> wrote: Changes made per discussion. >>> >>> Committed 0001. >> >> Much appreciated. >> >> Here'

Re: [HACKERS] [PATCH] Transaction traceability - txid_status(bigint)

2017-03-24 Thread Peter Eisentraut
On 3/24/17 02:27, Craig Ringer wrote: > On 24 March 2017 at 02:29, Robert Haas wrote: >> On Tue, Mar 21, 2017 at 11:35 PM, Craig Ringer wrote: >>> Changes made per discussion. >> >> Committed 0001. > > Much appreciated. > > Here's the 2nd patch rebased on top of master, with the TAP test > incl

Re: [HACKERS] [PATCH] Transaction traceability - txid_status(bigint)

2017-03-24 Thread Robert Haas
On Fri, Mar 24, 2017 at 2:27 AM, Craig Ringer wrote: > On 24 March 2017 at 02:29, Robert Haas wrote: >> On Tue, Mar 21, 2017 at 11:35 PM, Craig Ringer wrote: >>> Changes made per discussion. >> >> Committed 0001. > > Much appreciated. > > Here's the 2nd patch rebased on top of master, with the T

Re: [HACKERS] [PATCH] Transaction traceability - txid_status(bigint)

2017-03-23 Thread Craig Ringer
On 24 March 2017 at 02:29, Robert Haas wrote: > On Tue, Mar 21, 2017 at 11:35 PM, Craig Ringer wrote: >> Changes made per discussion. > > Committed 0001. Much appreciated. Here's the 2nd patch rebased on top of master, with the TAP test included this time. Looks ready to go. I really appreciat

Re: [HACKERS] [PATCH] Transaction traceability - txid_status(bigint)

2017-03-23 Thread Robert Haas
On Tue, Mar 21, 2017 at 11:35 PM, Craig Ringer wrote: > Changes made per discussion. Committed 0001. -- Robert Haas EnterpriseDB: http://www.enterprisedb.com The Enterprise PostgreSQL Company -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscr

Re: [HACKERS] [PATCH] Transaction traceability - txid_status(bigint)

2017-03-22 Thread Craig Ringer
On 23 March 2017 at 11:25, Craig Ringer wrote: > Amended patch attached, with added TAP test included. Managed to omit it, sigh. -- Craig Ringer http://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Training & Services 011_crash_recovery.pl Description: Perl p

Re: [HACKERS] [PATCH] Transaction traceability - txid_status(bigint)

2017-03-22 Thread Craig Ringer
On 23 March 2017 at 01:41, Robert Haas wrote: > On Wed, Mar 22, 2017 at 3:13 AM, Simon Riggs wrote: >>> Changes made per discussion. >> >> This looks good to me also. Does what we need it to do. >> >> I was a little worried by possible performance of new lock, but its >> not intended to be run fr

Re: [HACKERS] [PATCH] Transaction traceability - txid_status(bigint)

2017-03-22 Thread Craig Ringer
On 23 March 2017 at 02:08, Simon Riggs wrote: > And of course, we might return "subcommitted" also, which could > technically also be an abort in some cases, so we'd need to do a wait > loop on that. Users generally don't see subxact IDs, so it wasn't something I was overly concerned by. Most no

Re: [HACKERS] [PATCH] Transaction traceability - txid_status(bigint)

2017-03-22 Thread Robert Haas
On Wed, Mar 22, 2017 at 2:08 PM, Simon Riggs wrote: > On 22 March 2017 at 17:41, Robert Haas wrote: >> +if (TransactionIdIsCurrentTransactionId(xid)) >> +status = gettext_noop("in progress"); >> +else if (TransactionIdDidCommit(xid)) >> +status = gettext_no

Re: [HACKERS] [PATCH] Transaction traceability - txid_status(bigint)

2017-03-22 Thread Simon Riggs
On 22 March 2017 at 17:41, Robert Haas wrote: > +if (TransactionIdIsCurrentTransactionId(xid)) > +status = gettext_noop("in progress"); > +else if (TransactionIdDidCommit(xid)) > +status = gettext_noop("committed"); > +else if (TransactionIdDidAbort

Re: [HACKERS] [PATCH] Transaction traceability - txid_status(bigint)

2017-03-22 Thread Robert Haas
On Wed, Mar 22, 2017 at 3:13 AM, Simon Riggs wrote: >> Changes made per discussion. > > This looks good to me also. Does what we need it to do. > > I was a little worried by possible performance of new lock, but its > not intended to be run frequently, so its OK. Agreed. Reviewing 0002: +

Re: [HACKERS] [PATCH] Transaction traceability - txid_status(bigint)

2017-03-22 Thread Simon Riggs
On 22 March 2017 at 03:35, Craig Ringer wrote: > On 22 March 2017 at 09:49, Craig Ringer wrote: > >>> Overall, though, I think that 0001 looks far better than any previous >>> iteration. It's simple. It looks safe. It seems unlikely to break >>> anything that works now. Woo hoo! >> >> Funny t

Re: [HACKERS] [PATCH] Transaction traceability - txid_status(bigint)

2017-03-21 Thread Craig Ringer
On 22 March 2017 at 09:49, Craig Ringer wrote: >> Overall, though, I think that 0001 looks far better than any previous >> iteration. It's simple. It looks safe. It seems unlikely to break >> anything that works now. Woo hoo! > > Funny that this started with "hey, here's a simple, non-invasiv

Re: [HACKERS] [PATCH] Transaction traceability - txid_status(bigint)

2017-03-21 Thread Craig Ringer
On 22 March 2017 at 01:49, Robert Haas wrote: > /me smacks forehead. Actually, it should be CLogTruncationLock, with > a capital L, for consistency with CLogControlLock. Will do. > The new lock needs to be added to the table in monitoring.sgml. Same. > I don't think the new header comments i

Re: [HACKERS] [PATCH] Transaction traceability - txid_status(bigint)

2017-03-21 Thread Robert Haas
On Mon, Mar 20, 2017 at 1:38 AM, Craig Ringer wrote: > On 14 March 2017 at 19:57, Robert Haas wrote: >> On Mon, Mar 13, 2017 at 10:22 PM, Craig Ringer wrote: >>> I'll introduce a new LWLock, ClogTruncationLock, which will be held >>> from when we advance the new clogOldestXid field through to wh

Re: [HACKERS] [PATCH] Transaction traceability - txid_status(bigint)

2017-03-19 Thread Craig Ringer
On 14 March 2017 at 19:57, Robert Haas wrote: > On Mon, Mar 13, 2017 at 10:22 PM, Craig Ringer wrote: >> I'll introduce a new LWLock, ClogTruncationLock, which will be held >> from when we advance the new clogOldestXid field through to when clog >> truncation completes. > > +1. OK, here's the re

Re: [HACKERS] [PATCH] Transaction traceability - txid_status(bigint)

2017-03-14 Thread Robert Haas
On Mon, Mar 13, 2017 at 10:22 PM, Craig Ringer wrote: > I'll introduce a new LWLock, ClogTruncationLock, which will be held > from when we advance the new clogOldestXid field through to when clog > truncation completes. +1. -- Robert Haas EnterpriseDB: http://www.enterprisedb.com The Enterprise

Re: [HACKERS] [PATCH] Transaction traceability - txid_status(bigint)

2017-03-13 Thread Craig Ringer
On 14 March 2017 at 05:43, Robert Haas wrote: > For example, suppose vacuum #1 comes along, advances the limits, > truncates clog, and then gets descheduled. Now vacuum #2 comes along, > advances the limits further, and then gets descheduled. Now vacuum #1 > wakes up and calls SetTransactionIdL

Re: [HACKERS] [PATCH] Transaction traceability - txid_status(bigint)

2017-03-13 Thread Robert Haas
On Sat, Mar 11, 2017 at 1:32 AM, Craig Ringer wrote: > On 11 March 2017 at 05:09, Robert Haas wrote: >> On the other >> hand, there really are two separate notions of the "oldest" XID. >> There's the oldest XID that we can safely look up, and then there's >> the oldest XID that we can't reuse. T

Re: [HACKERS] [PATCH] Transaction traceability - txid_status(bigint)

2017-03-12 Thread Craig Ringer
On 11 March 2017 at 14:32, Craig Ringer wrote: > I'll extract this part of the patch so it can be looked at separately, > it'll be clearer that way. Apparently I thought that last time too since I already posted it split up. Ahem. Working on too many different things at once. Last-posted patche

Re: [HACKERS] [PATCH] Transaction traceability - txid_status(bigint)

2017-03-10 Thread Craig Ringer
On 11 March 2017 at 05:09, Robert Haas wrote: > On the other > hand, there really are two separate notions of the "oldest" XID. > There's the oldest XID that we can safely look up, and then there's > the oldest XID that we can't reuse. These two are the same when no > truncation is in progress,

Re: [HACKERS] [PATCH] Transaction traceability - txid_status(bigint)

2017-03-10 Thread Robert Haas
On Fri, Mar 10, 2017 at 2:00 AM, Craig Ringer wrote: > On 10 March 2017 at 02:55, Robert Haas wrote: >> Well, that's why I tried to advocate that their should be two separate >> XID limits in shared memory: leave what's there now the way it is, and >> then add a new limit for "don't try to look u

Re: [HACKERS] [PATCH] Transaction traceability - txid_status(bigint)

2017-03-09 Thread Craig Ringer
On 10 March 2017 at 02:55, Robert Haas wrote: > Well, that's why I tried to advocate that their should be two separate > XID limits in shared memory: leave what's there now the way it is, and > then add a new limit for "don't try to look up XIDs before this point: > splat". I still think that'd

Re: [HACKERS] [PATCH] Transaction traceability - txid_status(bigint)

2017-03-09 Thread Robert Haas
On Wed, Jan 25, 2017 at 12:44 AM, Craig Ringer wrote: >> The way that SetTransactionIdLimit() now works looks a bit dangerous. >> xidWrapLimit, xidStopLimit, and xidWarnLimit are computed based on the >> passed-in oldestXid value and written straight into shared memory. >> But the shared memory co

Re: [HACKERS] [PATCH] Transaction traceability - txid_status(bigint)

2017-01-31 Thread Michael Paquier
On Wed, Jan 25, 2017 at 4:02 PM, Craig Ringer wrote: > If we want to save the 4 bytes per xmin advance (probably not worth > caring) we can instead skip setting it on the standby, in which case > it'll be potentially wrong until the next checkpoint. I'd rather make > sure it stays correct. Those

Re: [HACKERS] [PATCH] Transaction traceability - txid_status(bigint)

2017-01-24 Thread Craig Ringer
On 25 January 2017 at 13:44, Craig Ringer wrote: > On 24 January 2017 at 23:49, Robert Haas wrote: > >> I think it's fairly surprising that TruncateCLOG() has responsibility >> for writing the xlog record that protects advancing >> ShmemVariableCache->oldestXid, but not the responsibility for act

Re: [HACKERS] [PATCH] Transaction traceability - txid_status(bigint)

2017-01-24 Thread Craig Ringer
On 24 January 2017 at 23:49, Robert Haas wrote: > I think it's fairly surprising that TruncateCLOG() has responsibility > for writing the xlog record that protects advancing > ShmemVariableCache->oldestXid, but not the responsibility for actually > advancing that value. In other words, I think t

Re: [HACKERS] [PATCH] Transaction traceability - txid_status(bigint)

2017-01-24 Thread Robert Haas
On Mon, Jan 23, 2017 at 1:32 AM, Craig Ringer wrote: > Rebased patch attached. I've split the clog changes out from > txid_status() its self. I think it's fairly surprising that TruncateCLOG() has responsibility for writing the xlog record that protects advancing ShmemVariableCache->oldestXid, bu

Re: [HACKERS] [PATCH] Transaction traceability - txid_status(bigint)

2017-01-22 Thread Craig Ringer
On 28 December 2016 at 18:00, Craig Ringer wrote: > On 23 December 2016 at 18:00, Craig Ringer wrote: > >> I'll have to follow up with a patch soon, as it's Toddler o'Clock. > > Here we go. > > This patch advances oldestXid, under XidGenLock, _before_ truncating clog. > > txid_status() holds XidG

Re: [HACKERS] [PATCH] Transaction traceability - txid_status(bigint)

2016-12-28 Thread Craig Ringer
On 23 December 2016 at 18:00, Craig Ringer wrote: > I'll have to follow up with a patch soon, as it's Toddler o'Clock. Here we go. This patch advances oldestXid, under XidGenLock, _before_ truncating clog. txid_status() holds XidGenLock from when it tests oldestXid until it's done looking up c

Re: [HACKERS] [PATCH] Transaction traceability - txid_status(bigint)

2016-12-23 Thread Craig Ringer
On 23 December 2016 at 01:26, Robert Haas wrote: > This patch contains unresolved merge conflicts. Ah, it conflicts with fe0a0b59, the PostmasterRandom changes. I thought I'd rebased more recently than that. > Maybe SetPendingTransactionIdLimit could happen in TruncateCLOG rather than > the cal

Re: [HACKERS] [PATCH] Transaction traceability - txid_status(bigint)

2016-12-22 Thread Robert Haas
On Thu, Dec 22, 2016 at 12:12 AM, Craig Ringer wrote: > On 22 December 2016 at 09:55, Craig Ringer wrote: > >> Updated. >> >> If you think it's better to just take XidGenLock again, let me know. > > Here's a further update that merges in Robert's changes from the patch > posted upthread. This pa

Re: [HACKERS] [PATCH] Transaction traceability - txid_status(bigint)

2016-12-21 Thread Craig Ringer
On 22 December 2016 at 09:55, Craig Ringer wrote: > Updated. > > If you think it's better to just take XidGenLock again, let me know. Here's a further update that merges in Robert's changes from the patch posted upthread. -- Craig Ringer http://www.2ndQuadrant.com/ PostgreS

Re: [HACKERS] [PATCH] Transaction traceability - txid_status(bigint)

2016-12-21 Thread Craig Ringer
On 22 December 2016 at 07:49, Craig Ringer wrote: > On 22 December 2016 at 00:30, Robert Haas wrote: > >> That makes everything that happens between when we acquire that lock >> and when we release it non-interruptible, which seems undesirable. I >> think that extra copy of oldestXid is a nicer

Re: [HACKERS] [PATCH] Transaction traceability - txid_status(bigint)

2016-12-21 Thread Craig Ringer
On 22 December 2016 at 00:30, Robert Haas wrote: > That makes everything that happens between when we acquire that lock > and when we release it non-interruptible, which seems undesirable. I > think that extra copy of oldestXid is a nicer approach. That's a side-effect I didn't realise. Given t

Re: [HACKERS] [PATCH] Transaction traceability - txid_status(bigint)

2016-12-21 Thread Robert Haas
On Wed, Dec 21, 2016 at 3:02 AM, Craig Ringer wrote: > Instead, I've added a new LWLock, ClogTruncationLock, for that > purpose. vac_truncate_clog() takes it if it decides to attempt clog > truncation. This lock is held throughout the whole process of clog > truncation and oldestXid advance, so th

Re: [HACKERS] [PATCH] Transaction traceability - txid_status(bigint)

2016-12-21 Thread Craig Ringer
On 27 September 2016 at 09:23, Craig Ringer wrote: > On 21 September 2016 at 22:16, Robert Haas wrote: >> >> It might not be too hard to add a second copy of oldestXid in shared >> memory that is updated before truncation rather than afterward... but >> yeah, like you, I'm not finding this nearly

Re: [HACKERS] [PATCH] Transaction traceability - txid_status(bigint)

2016-09-26 Thread Craig Ringer
On 21 September 2016 at 22:16, Robert Haas wrote: > On Wed, Sep 21, 2016 at 3:40 AM, Craig Ringer wrote: >> The only non-horrible one of those is IMO to just let the caller see >> an error if they lose the race. It's a function that's intended for >> use when you're dealing with indeterminate tra

Re: [HACKERS] [PATCH] Transaction traceability - txid_status(bigint)

2016-09-21 Thread Robert Haas
On Wed, Sep 21, 2016 at 3:40 AM, Craig Ringer wrote: > The only non-horrible one of those is IMO to just let the caller see > an error if they lose the race. It's a function that's intended for > use when you're dealing with indeterminate transaction state after a > server or application error any

Re: [HACKERS] [PATCH] Transaction traceability - txid_status(bigint)

2016-09-21 Thread Craig Ringer
On 20 September 2016 at 22:46, Robert Haas wrote: > I did some cleanup of 0001 (see attached) and was all set to commit it > when I realized what I think is a problem: holding XidGenLock doesn't > seem to help with the race condition between this function and CLOG > truncation, because vac_trunca

Re: [HACKERS] [PATCH] Transaction traceability - txid_status(bigint)

2016-09-20 Thread Robert Haas
On Mon, Sep 19, 2016 at 9:54 PM, Craig Ringer wrote: >> You appear to have attached the wrong patch set. > > Whoops, multitasking fail. > > Sorry for the late response, hospitals are "fun". I did some cleanup of 0001 (see attached) and was all set to commit it when I realized what I think is a pr

Re: [HACKERS] [PATCH] Transaction traceability - txid_status(bigint)

2016-09-19 Thread Craig Ringer
On 16 September 2016 at 21:28, Robert Haas wrote: > On Thu, Sep 15, 2016 at 8:52 PM, Craig Ringer wrote: >> On 2 September 2016 at 23:29, Petr Jelinek wrote: >> >>> You could put it to txid.c where all the other txid stuff is in? >> >> Yeah, even though it's in adt/ I think it'll do. >> >> I tho

Re: [HACKERS] [PATCH] Transaction traceability - txid_status(bigint)

2016-09-16 Thread Robert Haas
On Thu, Sep 15, 2016 at 8:52 PM, Craig Ringer wrote: > On 2 September 2016 at 23:29, Petr Jelinek wrote: > >> You could put it to txid.c where all the other txid stuff is in? > > Yeah, even though it's in adt/ I think it'll do. > > I thought I'd need get_xid_in_recent_past() for catalog_xmin hot

Re: [HACKERS] [PATCH] Transaction traceability - txid_status(bigint)

2016-09-15 Thread Craig Ringer
On 2 September 2016 at 23:29, Petr Jelinek wrote: > You could put it to txid.c where all the other txid stuff is in? Yeah, even though it's in adt/ I think it'll do. I thought I'd need get_xid_in_recent_past() for catalog_xmin hot standby feedback, but upon closer examination the needed logic i

Re: [HACKERS] [PATCH] Transaction traceability - txid_status(bigint)

2016-09-02 Thread Petr Jelinek
On 02/09/16 15:46, Craig Ringer wrote: On 2 September 2016 at 21:01, Craig Ringer wrote: On 2 September 2016 at 20:38, Craig Ringer wrote: On 2 Sep. 2016 8:30 pm, "Simon Riggs" wrote: On 2 September 2016 at 13:16, Craig Ringer wrote: So I've moved it to xlog.c... I'm pretty sure it sh

Re: [HACKERS] [PATCH] Transaction traceability - txid_status(bigint)

2016-09-02 Thread Craig Ringer
On 2 September 2016 at 21:01, Craig Ringer wrote: > On 2 September 2016 at 20:38, Craig Ringer wrote: >> On 2 Sep. 2016 8:30 pm, "Simon Riggs" wrote: >>> >>> On 2 September 2016 at 13:16, Craig Ringer wrote: >>> >>> > So I've moved it to xlog.c... >>> >>> I'm pretty sure it shouldn't live in xl

Re: [HACKERS] [PATCH] Transaction traceability - txid_status(bigint)

2016-09-02 Thread Craig Ringer
On 2 September 2016 at 20:38, Craig Ringer wrote: > On 2 Sep. 2016 8:30 pm, "Simon Riggs" wrote: >> >> On 2 September 2016 at 13:16, Craig Ringer wrote: >> >> > So I've moved it to xlog.c... >> >> I'm pretty sure it shouldn't live in xlog.c, but there may be some >> good reason I can't see yet.

Re: [HACKERS] [PATCH] Transaction traceability - txid_status(bigint)

2016-09-02 Thread Craig Ringer
On 2 Sep. 2016 8:30 pm, "Simon Riggs" wrote: > > On 2 September 2016 at 13:16, Craig Ringer wrote: > > > So I've moved it to xlog.c... > > I'm pretty sure it shouldn't live in xlog.c, but there may be some > good reason I can't see yet. Ugh. Yes. transam.c would be rather saner. Only for the he

Re: [HACKERS] [PATCH] Transaction traceability - txid_status(bigint)

2016-09-02 Thread Simon Riggs
On 2 September 2016 at 13:16, Craig Ringer wrote: > So I've moved it to xlog.c... I'm pretty sure it shouldn't live in xlog.c, but there may be some good reason I can't see yet. -- Simon Riggshttp://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Remote DBA, Training

Re: [HACKERS] [PATCH] Transaction traceability - txid_status(bigint)

2016-09-02 Thread Craig Ringer
Here's another update to these patches. While working on support for logical decoding on standbys I noticed that I needed something like get_xid_in_recent_past(...) there too. So I've moved it to xlog.c as TransactionIdInRecentPast too and flipped its arguments to be more convenient. No other chang

Re: [HACKERS] [PATCH] Transaction traceability - txid_status(bigint)

2016-08-31 Thread Craig Ringer
On 1 September 2016 at 13:08, Craig Ringer wrote: > On 29 August 2016 at 15:53, Craig Ringer wrote: > >> Said better approach attached in revised series. Thanks. > > Here's another minor update to the txid_status() and > txid_convert_if_recent() patches. The only change is moving > get_xid_in_rec

Re: [HACKERS] [PATCH] Transaction traceability - txid_status(bigint)

2016-08-31 Thread Craig Ringer
On 29 August 2016 at 15:53, Craig Ringer wrote: > Said better approach attached in revised series. Thanks. Here's another minor update to the txid_status() and txid_convert_if_recent() patches. The only change is moving get_xid_in_recent_past from src/backend/utils/adt/txid.c to src/backend/acce

Re: [HACKERS] [PATCH] Transaction traceability - txid_status(bigint)

2016-08-29 Thread Craig Ringer
On 29 August 2016 at 11:45, Andres Freund wrote: > Hi, > > On 2016-08-29 11:25:39 +0800, Craig Ringer wrote: >> ERROR: could not access status of transaction 778793573 >> DETAIL: could not open file "pg_clog/02E6": No such file or directory >> >> What I'd really like is to be able to ask tra

Re: [HACKERS] [PATCH] Transaction traceability - txid_status(bigint)

2016-08-28 Thread Robert Haas
On Sun, Aug 28, 2016 at 11:25 PM, Craig Ringer wrote: > What I'd really like is to be able to ask transam.c to handle the > xid_in_recent_past logic, treating an attempt to read an xid from > beyond the clog truncation threshold as a soft error indicating > unknown xact state. But that involves de

Re: [HACKERS] [PATCH] Transaction traceability - txid_status(bigint)

2016-08-28 Thread Andres Freund
Hi, On 2016-08-29 11:25:39 +0800, Craig Ringer wrote: > ERROR: could not access status of transaction 778793573 > DETAIL: could not open file "pg_clog/02E6": No such file or directory > > What I'd really like is to be able to ask transam.c to handle the > xid_in_recent_past logic, treating

Re: [HACKERS] [PATCH] Transaction traceability - txid_status(bigint)

2016-08-28 Thread Craig Ringer
On 24 August 2016 at 03:10, Robert Haas wrote: > > On Tue, Aug 23, 2016 at 12:59 PM, Craig Ringer wrote: > > Also fine by me. You're right, keep it simple. It means the potential set of > > values isn't discoverable the same way, but ... meh. Using it usefully means > > reading the docs anyway. >

Re: [HACKERS] [PATCH] Transaction traceability - txid_status(bigint)

2016-08-23 Thread Robert Haas
On Tue, Aug 23, 2016 at 12:59 PM, Craig Ringer wrote: > Also fine by me. You're right, keep it simple. It means the potential set of > values isn't discoverable the same way, but ... meh. Using it usefully means > reading the docs anyway. > > The remaining 2 patches of interest are attached - txid

Re: [HACKERS] [PATCH] Transaction traceability - txid_status(bigint)

2016-08-23 Thread Craig Ringer
On 23 August 2016 at 22:18, Robert Haas wrote: > On Mon, Aug 22, 2016 at 8:55 PM, Craig Ringer > wrote: > > Updated patch series attached. As before, 0-4 intended for commit, 5 just > > because it'll be handy to have around for people doing wraparound related > > testing. > > > > Again, thanks f

Re: [HACKERS] [PATCH] Transaction traceability - txid_status(bigint)

2016-08-23 Thread Robert Haas
On Tue, Aug 23, 2016 at 10:18 AM, Robert Haas wrote: > On Mon, Aug 22, 2016 at 8:55 PM, Craig Ringer wrote: >> Updated patch series attached. As before, 0-4 intended for commit, 5 just >> because it'll be handy to have around for people doing wraparound related >> testing. >> >> Again, thanks for

Re: [HACKERS] [PATCH] Transaction traceability - txid_status(bigint)

2016-08-23 Thread Robert Haas
On Mon, Aug 22, 2016 at 8:55 PM, Craig Ringer wrote: > Updated patch series attached. As before, 0-4 intended for commit, 5 just > because it'll be handy to have around for people doing wraparound related > testing. > > Again, thanks for taking a look. /me reviews a bit more deeply. In 0001, it

Re: [HACKERS] [PATCH] Transaction traceability - txid_status(bigint)

2016-08-23 Thread Petr Jelinek
On 23/08/16 11:27, Craig Ringer wrote: On 23 Aug 2016 16:02, "Petr Jelinek" mailto:p...@2ndquadrant.com>> wrote: On 23/08/16 02:55, Craig Ringer wrote: On 23 August 2016 at 01:03, Robert Haas >> wrote

Re: [HACKERS] [PATCH] Transaction traceability - txid_status(bigint)

2016-08-23 Thread Craig Ringer
On 23 Aug 2016 16:02, "Petr Jelinek" wrote: > > On 23/08/16 02:55, Craig Ringer wrote: >> >> On 23 August 2016 at 01:03, Robert Haas > > wrote: >> >> >> >> I think you should use underscores to separate all of the words >> instead of only some of them. >> >> >

Re: [HACKERS] [PATCH] Transaction traceability - txid_status(bigint)

2016-08-23 Thread Petr Jelinek
On 23/08/16 02:55, Craig Ringer wrote: On 23 August 2016 at 01:03, Robert Haas mailto:robertmh...@gmail.com>> wrote: I think you should use underscores to separate all of the words instead of only some of them. ifassigned => if_assigned ifrecent=> if_recent Updated patch series att

Re: [HACKERS] [PATCH] Transaction traceability - txid_status(bigint)

2016-08-22 Thread Craig Ringer
On 23 August 2016 at 01:03, Robert Haas wrote: > > I think you should use underscores to separate all of the words > instead of only some of them. > > ifassigned => if_assigned ifrecent=> if_recent Updated patch series attached. As before, 0-4 intended for commit, 5 just because it'll be handy

Re: [HACKERS] [PATCH] Transaction traceability - txid_status(bigint)

2016-08-22 Thread Craig Ringer
On 23 August 2016 at 01:03, Robert Haas wrote: > I think you should use underscores to separate all of the words > instead of only some of them. > Right. Will fix. Thanks for taking a look. > Also, note that the corresponding internal function is > GetTopTransactionIdIfAny(), which might sug

Re: [HACKERS] [PATCH] Transaction traceability - txid_status(bigint)

2016-08-22 Thread Robert Haas
On Sat, Aug 20, 2016 at 9:46 AM, Craig Ringer wrote: > Ahem. Forgot to squash in a fixup commit. Updated patch of > txid_status(bigint) attachd. > > A related patch follows, adding a new txid_current_ifassigned(bigint) > function as suggested by Jim Nasby. It's usefully connected to txid_status()

Re: [HACKERS] [PATCH] Transaction traceability - txid_status(bigint)

2016-08-20 Thread Craig Ringer
On 20 August 2016 at 21:24, Craig Ringer wrote: > Hi all > > Following on from > > bigint txids vs 'xid' type, new txid_recent(bigint) => xid > > Ahem. Forgot to squash in a fixup commit. Updated patch of txid_status(bigint) attachd. A related patch follows, adding a new txid_current_ifassigned(

[HACKERS] [PATCH] Transaction traceability - txid_status(bigint)

2016-08-20 Thread Craig Ringer
Hi all Following on from bigint txids vs 'xid' type, new txid_recent(bigint) => xid https://www.postgresql.org/message-id/camsr+yfdzmn_iz7krroe+j0kvlqvfvgvzxbcvxr-mljgtoz...@mail.gmail.com here's a patch that implements a txid_status(bigint) function to report the commit status of a function.