Re: [HACKERS] Lazy hash table for XidInMVCCSnapshot (helps Zipfian a bit)

Поиск
Список
Период
Сортировка
От Amit Kapila
Тема Re: [HACKERS] Lazy hash table for XidInMVCCSnapshot (helps Zipfian a bit)
Дата
Msg-id CAA4eK1JxXVcXo7djDqx4+qhguv9h3fZuqBF36CBXUmJNMtjaWQ@mail.gmail.com
обсуждение исходный текст
Ответ на Re: [HACKERS] Lazy hash table for XidInMVCCSnapshot (helps Zipfian abit)  (Yura Sokolov <funny.falcon@gmail.com>)
Ответы Re: [HACKERS] Lazy hash table for XidInMVCCSnapshot (helps Zipfian abit)  (Yura Sokolov <funny.falcon@gmail.com>)
Список pgsql-hackers
On Sat, Mar 10, 2018 at 7:41 AM, Yura Sokolov <funny.falcon@gmail.com> wrote:
> 08.03.2018 03:42, Tomas Vondra пишет:
>> One reason against building the hash table in GetSnapshotData is that
>> we'd build it even when the snapshot is never queried. Or when it is
>> queried, but we only need to check xmin/xmax.
>
> Thank you for analyze, Tomas.
>
> Stephen is right about bug in snapmgr.c
> Attached version fixes bug, and also simplifies XidInXip a bit.
>

@@ -2167,8 +2175,7 @@ RestoreSnapshot(char *start_address)
  /* Copy SubXIDs, if present. */
  if (serialized_snapshot.subxcnt > 0)
  {
- snapshot->subxip = ((TransactionId *) (snapshot + 1)) +
- serialized_snapshot.xcnt;
+ snapshot->subxip = ((TransactionId *) (snapshot + 1)) + xcnt;
  memcpy(snapshot->subxip, serialized_xids + serialized_snapshot.xcnt,
    serialized_snapshot.subxcnt * sizeof(TransactionId));
  }


It is not clear why you want to change this in RestoreSnapshot when
nothing related is changed in SerializeSnapshot?  Can you please add
some comments to clarify it?

--
With Regards,
Amit Kapila.
EnterpriseDB: http://www.enterprisedb.com


В списке pgsql-hackers по дате отправления:

Предыдущее
От: David Steele
Дата:
Сообщение: Re: [PATCH] Verify Checksums during Basebackups
Следующее
От: Andres Freund
Дата:
Сообщение: Re: Changing WAL Header to reduce contention duringReserveXLogInsertLocation()