Hi, thank you for the awesome feature.

As it may have been discussed, I think the 'name' column in 
pg_stat_replication_slots is more consistent with the column name and data type 
matched to the pg_replication_slots catalog.
The attached patch changes the name and data type of the 'name' column to 
slot_name and 'name' type, respectively.
Also, the macro name PG_STAT_GET_..._CLOS has been changed to 
PG_STAT_GET_..._COLS.

Regards,
Noriyoshi Shinoda
-----Original Message-----
From: Masahiko Sawada [mailto:masahiko.saw...@2ndquadrant.com] 
Sent: Monday, October 12, 2020 3:22 PM
To: Amit Kapila <amit.kapil...@gmail.com>
Cc: Dilip Kumar <dilipbal...@gmail.com>; Magnus Hagander <mag...@hagander.net>; 
Tomas Vondra <tomas.von...@2ndquadrant.com>; PostgreSQL Hackers 
<pgsql-hackers@lists.postgresql.org>; Ajin Cherian <itsa...@gmail.com>
Subject: Re: Resetting spilled txn statistics in pg_stat_replication

On Thu, 8 Oct 2020 at 22:57, Amit Kapila <amit.kapil...@gmail.com> wrote:
>
> On Thu, Oct 8, 2020 at 7:46 AM Masahiko Sawada 
> <masahiko.saw...@2ndquadrant.com> wrote:
> >
> > On Wed, 7 Oct 2020 at 17:52, Amit Kapila <amit.kapil...@gmail.com> wrote:
> > >
> >
> > > I think after we are done with this the next step would be to 
> > > finish the streaming stats work [1]. We probably need to review 
> > > and add the test case in that patch. If nobody else shows up I 
> > > will pick it up and complete it.
> >
> > +1
> > I can review that patch.
> >
>
> I have rebased the stream stats patch and made minor modifications. I 
> haven't done a detailed review but one thing that I think is not 
> correct is:
> @@ -3496,10 +3499,18 @@ ReorderBufferStreamTXN(ReorderBuffer *rb, 
> ReorderBufferTXN *txn)
>   txn->snapshot_now = NULL;
>   }
>
> +
> + rb->streamCount += 1;
> + rb->streamBytes += txn->total_size;
> +
> + /* Don't consider already streamed transaction. */
> + rb->streamTxns += (rbtxn_is_streamed(txn)) ? 0 : 1;
> +
>   /* Process and send the changes to output plugin. */
>   ReorderBufferProcessTXN(rb, txn, InvalidXLogRecPtr, snapshot_now,
>   command_id, true);
>
> I think we should update the stream stats after 
> ReorderBufferProcessTXN rather than before because any error in 
> ReorderBufferProcessTXN can lead to an unnecessary update of stats.
> But OTOH, the txn flags, and other data can be changed after 
> ReorderBufferProcessTXN so we need to save them in a temporary 
> variable before calling the function.

Thank you for updating the patch!

I've not looked at the patch in-depth yet but RBTXN_IS_STREAMED could be 
cleared after ReorderBUfferProcessTXN()?

BTW maybe it's better to start a new thread for this patch as the title is no 
longer relevant.

Regards,

--
Masahiko Sawada            http://www.2ndQuadrant.com/ 
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services


Attachment: pg_stat_replication_slots.diff
Description: pg_stat_replication_slots.diff

Reply via email to