Re: XTM & parallel search

Поиск
Список
Период
Сортировка
От Amit Kapila
Тема Re: XTM & parallel search
Дата
Msg-id CAA4eK1+RrwJJV=Byxyx5Eij7UBH8V57U_5JcUB+oK08ksm2UjA@mail.gmail.com
обсуждение исходный текст
Ответ на Re: XTM & parallel search  (Konstantin Knizhnik <k.knizhnik@postgrespro.ru>)
Список pgsql-hackers
On Fri, Jun 3, 2016 at 6:49 PM, Konstantin Knizhnik <k.knizhnik@postgrespro.ru> wrote:


On 03.06.2016 16:05, Amit Kapila wrote:
On Fri, Jun 3, 2016 at 1:34 AM, Konstantin Knizhnik <k.knizhnik@postgrespro.ru> wrote:
We have to add three more functions to eXtensible Transaction Manager API (XTM):

    /*
     * Calculate transaction state size. This method is invoked by EstimateTransactionStateSpace to copy transaction
     * state to parallel workers
     */
    size_t      (*GetTransactionStateSize)(void);

    /*
     * Serialize transaction state
     */
    void        (*SerializeTransactionState)(void* ctx);

    /*
     * Deserialize transaction state
     */
    void        (*DeserializeTransactionState)(void* ctx);



In above proposal, are you suggesting to change the existing API's as well, because the parameters of function pointers don't match with exiting API's. I think it is better to consider this along with the overall XTM API.

Sorry, but right now I have not replaced existed functions 
EstimateTransactionStateSpace/SerializeTransactionState/StartParallelWorkerTransaction
with XTM indirect calls. If was my original intention, but these functions access static variable CurrentTransactionState defined in xact.c.
So if  user-defined TM wants to override this functions, it will have to invoke original functions to save/restore CurrentTransactionState. 
It is not  convenient.
This is why three XTM functions above are now called by existed xact funcations to save additional state, for example:


Sounds reasonable, although one might want to have a hook for EndParallelWorkerTransaction as well.  I think here larger question is whether there is a consensus on getting XTM API in core.


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

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

Предыдущее
От: David Rowley
Дата:
Сообщение: Re: HashAggregate row estimate = 200
Следующее
От: Robert Haas
Дата:
Сообщение: Re: [sqlsmith] Failed assertions on parallel worker shutdown