Re: Relation extension scalability
От
Petr Jelinek
Тема
Re: Relation extension scalability
Дата
Msg-id
56F2EF92.6020303@2ndquadrant.com
Ответ на
Re: Relation extension scalability (Petr Jelinek)
Список
Дерево обсуждения
Relation extension scalability Andres Freund <andres@2ndquadrant.com>
Re: Relation extension scalability Andres Freund <andres@anarazel.de>
Re: Relation extension scalability Tom Lane <tgl@sss.pgh.pa.us>
Re: Relation extension scalability Andres Freund <andres@anarazel.de>
Re: Relation extension scalability Tom Lane <tgl@sss.pgh.pa.us>
Re: Relation extension scalability Andres Freund <andres@anarazel.de>
Re: Relation extension scalability Dilip Kumar <dilipbalaut@gmail.com>
Re: Relation extension scalability Dilip Kumar <dilipbalaut@gmail.com>
Re: Relation extension scalability Robert Haas <robertmhaas@gmail.com>
Re: Relation extension scalability Amit Kapila <amit.kapila16@gmail.com>
Re: Relation extension scalability Andres Freund <andres@anarazel.de>
Re: Relation extension scalability Dilip Kumar <dilipbalaut@gmail.com>
Re: Relation extension scalability Amit Kapila <amit.kapila16@gmail.com>
Re: Relation extension scalability Amit Kapila <amit.kapila16@gmail.com>
Re: Relation extension scalability Dilip Kumar <dilipbalaut@gmail.com>
Re: Relation extension scalability Dilip Kumar <dilipbalaut@gmail.com>
Re: Relation extension scalability Dilip Kumar <dilipbalaut@gmail.com>
Re: Relation extension scalability Andres Freund <andres@anarazel.de>
Re: Relation extension scalability Alvaro Herrera <alvherre@2ndquadrant.com>
Re: Relation extension scalability Robert Haas <robertmhaas@gmail.com>
Re: Relation extension scalability Amit Kapila <amit.kapila16@gmail.com>
Re: Relation extension scalability Dilip Kumar <dilipbalaut@gmail.com>
Re: Relation extension scalability Andres Freund <andres@anarazel.de>
Re: Relation extension scalability Dilip Kumar <dilipbalaut@gmail.com>
Re: Relation extension scalability Dilip Kumar <dilipbalaut@gmail.com>
Re: Relation extension scalability Amit Kapila <amit.kapila16@gmail.com>
Re: Relation extension scalability Dilip Kumar <dilipbalaut@gmail.com>
Re: Relation extension scalability Dilip Kumar <dilipbalaut@gmail.com>
Re: Relation extension scalability Robert Haas <robertmhaas@gmail.com>
Re: Relation extension scalability Tom Lane <tgl@sss.pgh.pa.us>
Re: Relation extension scalability Amit Kapila <amit.kapila16@gmail.com>
Re: Relation extension scalability Robert Haas <robertmhaas@gmail.com>
Re: Relation extension scalability Amit Kapila <amit.kapila16@gmail.com>
Re: Relation extension scalability Robert Haas <robertmhaas@gmail.com>
Re: Relation extension scalability Amit Kapila <amit.kapila16@gmail.com>
Re: Relation extension scalability Dilip Kumar <dilipbalaut@gmail.com>
Re: Relation extension scalability Robert Haas <robertmhaas@gmail.com>
Re: Relation extension scalability Dilip Kumar <dilipbalaut@gmail.com>
Re: Relation extension scalability Petr Jelinek <petr@2ndquadrant.com>
Re: Relation extension scalability Dilip Kumar <dilipbalaut@gmail.com>
Re: Relation extension scalability Petr Jelinek <petr@2ndquadrant.com>
Re: Relation extension scalability Dilip Kumar <dilipbalaut@gmail.com>
Re: Relation extension scalability Petr Jelinek <petr@2ndquadrant.com>
Re: Relation extension scalability Robert Haas <robertmhaas@gmail.com>
Re: Relation extension scalability Petr Jelinek <petr@2ndquadrant.com>
Re: Relation extension scalability Jim Nasby <Jim.Nasby@BlueTreble.com>
Re: Relation extension scalability Petr Jelinek <petr@2ndquadrant.com>
Re: Relation extension scalability Dilip Kumar <dilipbalaut@gmail.com>
Re: Relation extension scalability Petr Jelinek <petr@2ndquadrant.com>
Re: Relation extension scalability Jim Nasby <Jim.Nasby@BlueTreble.com>
Re: Relation extension scalability Dilip Kumar <dilipbalaut@gmail.com>
Re: Relation extension scalability Petr Jelinek <petr@2ndquadrant.com>
Re: Relation extension scalability Dilip Kumar <dilipbalaut@gmail.com>
Re: Relation extension scalability Petr Jelinek <petr@2ndquadrant.com>
Re: Relation extension scalability Dilip Kumar <dilipbalaut@gmail.com>
Re: Relation extension scalability Amit Kapila <amit.kapila16@gmail.com>
Re: Relation extension scalability Dilip Kumar <dilipbalaut@gmail.com>
Re: Relation extension scalability Petr Jelinek <petr@2ndquadrant.com>
Re: Relation extension scalability Robert Haas <robertmhaas@gmail.com>
Re: Relation extension scalability Petr Jelinek <petr@2ndquadrant.com>
Re: Relation extension scalability Robert Haas <robertmhaas@gmail.com>
Re: Relation extension scalability Petr Jelinek <petr@2ndquadrant.com>
Re: Relation extension scalability Petr Jelinek <petr@2ndquadrant.com>
Re: Relation extension scalability Robert Haas <robertmhaas@gmail.com>
Re: Relation extension scalability Petr Jelinek <petr@2ndquadrant.com>
Re: Relation extension scalability Amit Kapila <amit.kapila16@gmail.com>
Re: Relation extension scalability Robert Haas <robertmhaas@gmail.com>
Re: Relation extension scalability Dilip Kumar <dilipbalaut@gmail.com>
Re: Relation extension scalability Petr Jelinek <petr@2ndquadrant.com>
Re: Relation extension scalability Amit Kapila <amit.kapila16@gmail.com>
Re: Relation extension scalability Dilip Kumar <dilipbalaut@gmail.com>
Re: Relation extension scalability Robert Haas <robertmhaas@gmail.com>
Re: Relation extension scalability Dilip Kumar <dilipbalaut@gmail.com>
Re: Relation extension scalability Robert Haas <robertmhaas@gmail.com>
Re: Relation extension scalability Dilip Kumar <dilipbalaut@gmail.com>
Re: Relation extension scalability Dilip Kumar <dilipbalaut@gmail.com>
Re: Relation extension scalability Dilip Kumar <dilipbalaut@gmail.com>
Re: Relation extension scalability Robert Haas <robertmhaas@gmail.com>
Re: Relation extension scalability Amit Kapila <amit.kapila16@gmail.com>
Re: Relation extension scalability Dilip Kumar <dilipbalaut@gmail.com>
Re: Relation extension scalability Dilip Kumar <dilipbalaut@gmail.com>
Re: Relation extension scalability Robert Haas <robertmhaas@gmail.com>
Re: Relation extension scalability Dilip Kumar <dilipbalaut@gmail.com>
Re: Relation extension scalability Dilip Kumar <dilipbalaut@gmail.com>
Re: Relation extension scalability Robert Haas <robertmhaas@gmail.com>
Re: Relation extension scalability Dilip Kumar <dilipbalaut@gmail.com>
Re: Relation extension scalability Dilip Kumar <dilipbalaut@gmail.com>
Re: Relation extension scalability Dilip Kumar <dilipbalaut@gmail.com>
Re: Relation extension scalability Dilip Kumar <dilipbalaut@gmail.com>
Re: Relation extension scalability Petr Jelinek <petr@2ndquadrant.com>
Re: Relation extension scalability Amit Kapila <amit.kapila16@gmail.com>
Re: Relation extension scalability Dilip Kumar <dilipbalaut@gmail.com>
Re: Relation extension scalability Robert Haas <robertmhaas@gmail.com>
Re: Relation extension scalability Amit Kapila <amit.kapila16@gmail.com>
Re: Relation extension scalability Dilip Kumar <dilipbalaut@gmail.com>
Re: Relation extension scalability Robert Haas <robertmhaas@gmail.com>
Re: Relation extension scalability Peter Geoghegan <pg@heroku.com>
Re: Relation extension scalability Robert Haas <robertmhaas@gmail.com>
Re: Relation extension scalability Dilip Kumar <dilipbalaut@gmail.com>
Re: Relation extension scalability Amit Kapila <amit.kapila16@gmail.com>
Re: Relation extension scalability Robert Haas <robertmhaas@gmail.com>
Re: Relation extension scalability Amit Kapila <amit.kapila16@gmail.com>
Re: Relation extension scalability Dilip Kumar <dilipbalaut@gmail.com>
Re: Relation extension scalability Robert Haas <robertmhaas@gmail.com>
Re: Relation extension scalability Andres Freund <andres@anarazel.de>
Re: Relation extension scalability Dilip Kumar <dilipbalaut@gmail.com>
Re: Relation extension scalability Andres Freund <andres@anarazel.de>
Re: Relation extension scalability Tom Lane <tgl@sss.pgh.pa.us>
Re: Relation extension scalability Andres Freund <andres@2ndquadrant.com>
Re: Relation extension scalability Tom Lane <tgl@sss.pgh.pa.us>
Re: Relation extension scalability Andres Freund <andres@2ndquadrant.com>
Re: Relation extension scalability Robert Haas <robertmhaas@gmail.com>
Re: Relation extension scalability Tom Lane <tgl@sss.pgh.pa.us>
Re: Relation extension scalability Andres Freund <andres@2ndquadrant.com>
Re: Relation extension scalability Amit Kapila <amit.kapila16@gmail.com>
Re: Relation extension scalability Andres Freund <andres@2ndquadrant.com>
Re: Relation extension scalability David Steele <david@pgmasters.net>
Re: Relation extension scalability Stephen Frost <sfrost@snowman.net>
Re: Relation extension scalability Amit Kapila <amit.kapila16@gmail.com>
Re: Relation extension scalability Jim Nasby <Jim.Nasby@BlueTreble.com>
Re: Relation extension scalability Amit Langote <Langote_Amit_f8@lab.ntt.co.jp>
Re: Relation extension scalability Stephen Frost <sfrost@snowman.net>
Re: Relation extension scalability Qingqing Zhou <zhouqq.postgres@gmail.com>
Re: Relation extension scalability Qingqing Zhou <zhouqq.postgres@gmail.com>
On 23/03/16 20:19, Petr Jelinek wrote: > On 23/03/16 20:01, Robert Haas wrote: >> On Wed, Mar 23, 2016 at 2:52 PM, Petr Jelinek >> wrote: >>>> Second, if the other backend extended the relation in >>>> some other manner and did not extend the FSM, how does calling >>>> RecordAndGetPageWithFreeSpace help? As far as I can see, >>>> GetPageWithFreeSpace and RecordAndGetPageWithFreeSpace are both just >>>> searching the FSM, so if one is stymied the other will be too. What >>>> am I missing? >>>> >>> >>> The RecordAndGetPageWithFreeSpace will extend FSM as it calls >>> fsm_set_and_search which in turn calls fsm_readbuf with extend = true. >> >> So how does that help? If I'm reading this right, the new block will >> be all zeroes which means no space available on any of those pages. >> > > I am bit confused as to what exactly you are saying, but what will > happen is we get back to the while cycle and try again so eventually we > should find either block with enough free space or add new one (not sure > if this would actually ever happen in practice in heavily concurrent > workload where the FSM would not be correctly extended during relation > extension though, we might just loop here forever). > Btw thinking about it some more, ISTM that not finding the block and just doing the extension if the FSM wasn't extended correctly previously is probably cleaner behavior than what we do now. The reasoning for that opinion is that if the FSM wasn't extended, we'll fix it by doing relation extension since we know we do both in this code path and also if we could not find page before we'll most likely not find one even on retry and if there was page added at the end by extension that we might reuse partially here then there is no harm in adding new one anyway as the whole point of this patch is that it does bigger extension that strictly necessary so insisting on page reuse for something that seems like only theoretical possibility that does not even exist in current code does not seem right. -- Petr Jelinek http://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Training & Services
В списке pgsql-hackers по дате отправления