Re: pg_stat_statements: calls under-estimation propagation

From: Daniel Farina <daniel(at)heroku(dot)com>
To: Peter Geoghegan <peter(at)2ndquadrant(dot)com>
Cc: Daniel Farina <drfarina(at)acm(dot)org>, pgsql-hackers <pgsql-hackers(at)postgresql(dot)org>, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Subject: Re: pg_stat_statements: calls under-estimation propagation
Date: 2012-12-30 03:16:39
Message-ID: CAAZKuFaMwvkLWrzZooYNCQi+t4uo00qmSRJe3fh6wcb9UGnwtA@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Sat, Dec 29, 2012 at 7:12 PM, Peter Geoghegan <peter(at)2ndquadrant(dot)com> wrote:
> On 30 December 2012 02:45, Daniel Farina <daniel(at)heroku(dot)com> wrote:
>> As I recall, the gist of this objection had to do with a false sense
>> of stability of the hash value, and the desire to enforce the ability
>> to alter it. Here's an option: xor the hash value with the
>> 'statistics session id', so it's *known* to be unstable between
>> sessions. That gets you continuity in the common case and sound
>> deprecation in the less-common cases (crashes, format upgrades, stat
>> resetting).
>
> Hmm. I like the idea, but a concern there would be that you'd
> introduce additional scope for collisions in the third-party utility
> building time-series data from snapshots. I currently put the
> probability of a collision within pg_stat_statements as 1% in the
> event of a pg_stat_statements.max of 10,000.

We can use a longer session key and duplicate the queryid (effectively
padding) a couple of times to complete the XOR. I think that makes
the cases of collisions introduced by this astronomically low, as an
increase over the base collision rate.

--
fdr

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Stephen Frost 2012-12-30 03:32:45 Re: enhanced error fields
Previous Message Peter Geoghegan 2012-12-30 03:12:34 Re: pg_stat_statements: calls under-estimation propagation