On Sat, Aug 20, 2011 at 2:51 AM, Gokulakannan Somasundaram <
gokul...@gmail.com> wrote:

> On Sat, Aug 20, 2011 at 2:25 AM, Heikki Linnakangas <
> heikki.linnakan...@enterprisedb.com> wrote:
>
>> On 19.08.2011 21:06, Gokulakannan Somasundaram wrote:
>>
>>> If you are following the same design that Heikki put forward, then there
>>> is
>>> a problem with it in maintaining the bits in page and the bits in
>>> visibility
>>> map in sync, which we have already discussed.
>>>
>>
>> Are you referring to this: http://archives.postgresql.**
>> org/pgsql-hackers/2010-02/**msg02097.php<http://archives.postgresql.org/pgsql-hackers/2010-02/msg02097.php>?
>>  I believe Robert's changes to make the visibility map crash-safe covers
>> that. Clearing the bit in the visibility map now happens within the same
>> critical section as clearing the flag on the heap page and writing th WAL
>> record.
>>
>> In that case, say a 100 sessions are trying to update records which fall
> under the 8000*4 heap pages( i assume 2 bits per visibility map - 8 * 1024 *
> 4 exact) covered by one page of visibility map, won't it make the 99
> sessions wait for that visibility map while holding the exclusive lock on
> the 99 heap pages?
> Are we going to say, that these kind of situations occur very rarely? Or
> that the loss of scalability in these situations, is worth the performance
> during the read-heavy workloads?
>
> In any case, making a database going through all these extra overheads,
> while they don't even have any index-only scans!!!  That definitely should
> be given a thought.
>
> Gokul.
>

Please consider the update, i mentioned above  occurs and changes the
visibility bit of the page.

Reply via email to