Re: Patch to send transaction commit/rollback stats to the stats collector unconditionally. - Mailing list pgsql-hackers

From Gurjeet Singh
Subject Re: Patch to send transaction commit/rollback stats to the stats collector unconditionally.
Date
Msg-id CABwTF4UHeP3k6EE9F=qcxTAL4dJPHuPY5VWbjoZguTVZcbkoVQ@mail.gmail.com
Whole thread Raw
In response to Re: Patch to send transaction commit/rollback stats to the stats collector unconditionally.  (Kevin Grittner <kgrittn@ymail.com>)
Responses Re: Patch to send transaction commit/rollback stats to the stats collector unconditionally.  (Kevin Grittner <kgrittn@ymail.com>)
List pgsql-hackers
On Wed, Jul 2, 2014 at 3:49 PM, Kevin Grittner <kgrittn@ymail.com> wrote:
> In preparing to push the patch, I noticed I hadn't responded to this:
>
> Gurjeet Singh <gurjeet@singh.im> wrote:
>> Kevin Grittner <kgrittn@ymail.com> wrote:
>>> I have reviewed this patch, and think we should do what the patch
>>> is trying to do, but I don't think the submitted patch would
>>> actually work.
>>
>> Just curious, why do you think it won't work.
>
> Because you didn't touch this part of the function:
>
>     /*
>      * Send partial messages.  If force is true, make sure that any pending
>      * xact commit/abort gets counted, even if no table stats to send.
>      */
>     if (regular_msg.m_nentries > 0 ||
>         (force && (pgStatXactCommit > 0 || pgStatXactRollback > 0)))
>         pgstat_send_tabstat(®ular_msg);
>
> The statistics would not actually be sent unless a table had been
> accessed or it was forced because the connection was closing.

I sure did! In fact that was the one and only line of code that was
changed. It effectively bypassed the 'force' check if there were any
transaction stats to report.
    /*
-     * Send partial messages.  If force is true, make sure that any pending
-     * xact commit/abort gets counted, even if no table stats to send.
+     * Send partial messages.  Make sure that any pending xact
commit/abort gets
+     * counted, even if no table stats to send.     */    if (regular_msg.m_nentries > 0 ||
-        (force && (pgStatXactCommit > 0 || pgStatXactRollback > 0)))
+        force || (pgStatXactCommit > 0 || pgStatXactRollback > 0))        pgstat_send_tabstat(®ular_msg);    if
(shared_msg.m_nentries> 0)        pgstat_send_tabstat(&shared_msg);
 

Best regards,
-- 
Gurjeet Singh http://gurjeet.singh.im/

EDB : www.EnterpriseDB.com : The Enterprise PostgreSQL Company



pgsql-hackers by date:

Previous
From: Alvaro Herrera
Date:
Subject: Re: Audit of logout
Next
From: Abhijit Menon-Sen
Date:
Subject: Re: Audit of logout