Thread: 回复: Add 64-bit XIDs into PostgreSQL 15

回复: Add 64-bit XIDs into PostgreSQL 15

From
adherent postgres
Date:
Hi Chris Travers 
     Robertmhaas said that the project Zheap is dead(https://twitter.com/andy_pavlo/status/1590703943176589312), which means that we cannot use Zheap to deal with the issue of xid wraparound and dead tuples in tables. The dead tuple issue is not a big deal because I can still use pg_repack to handle, although pg_repack will cause wal log to increase dramatically and may take one or two days to handle a large table. During this time the database can be accessed by external users, but the xid wraparound will cause PostgreSQL to be down, which is a disaster for DBAs. Maybe you are not a DBA, or your are from a small country, Database system tps is very low, so xid32 is  enough for your database system ,  Oracle's scn was also 32bits, however, Oracle realized the issue and changed scn to 64 bits. The transaction id in mysql is 48 bits. MySQL didn't fix the transaction id wraparound problem because they think that 48 bits is enough for the transaction id. This project has been running for almost 1 year and now it is coming to an end. I strongly disagree with your idea of stopping this patch, and I suspect you are a saboteur. I strongly disagree with your viewpoint, as it is not a fundamental way to solve the xid wraparound problem. The PostgreSQL community urgently needs developers who solve problems like this, not bury one' head in the sand


Best whish 


发件人: Peter Geoghegan <pg@bowt.ie>
发送时间: 2022年12月1日 0:35
收件人: Robert Haas <robertmhaas@gmail.com>
抄送: Chris Travers <chris@orioledata.com>; Bruce Momjian <bruce@momjian.us>; Aleksander Alekseev <aleksander@timescale.com>; pgsql-hackers@lists.postgresql.org <pgsql-hackers@lists.postgresql.org>; Chris Travers <chris.travers@gmail.com>; Fedor Sigaev <teodor@sigaev.ru>; Alexander Korotkov <aekorotkov@gmail.com>; Konstantin Knizhnik <knizhnik@garret.ru>; Nikita Glukhov <n.gluhov@postgrespro.ru>; Yura Sokolov <y.sokolov@postgrespro.ru>; Maxim Orlov <orlovmg@gmail.com>; Pavel Borisov <pashkin.elfe@gmail.com>; Simon Riggs <simon.riggs@enterprisedb.com>
主题: Re: Add 64-bit XIDs into PostgreSQL 15
 
On Wed, Nov 30, 2022 at 8:13 AM Robert Haas <robertmhaas@gmail.com> wrote:
> I haven't checked the patches to see whether they look correct, and
> I'm concerned in particular about upgrade scenarios. But if there's a
> way we can get that part committed, I think it would be a clear win.

+1

--
Peter Geoghegan


Re: Add 64-bit XIDs into PostgreSQL 15

From
Aleksander Alekseev
Date:
Hi adherent,

>      Robertmhaas said that the project Zheap is dead(https://twitter.com/andy_pavlo/status/1590703943176589312),
whichmeans that we cannot use Zheap to deal with the issue of xid wraparound and dead tuples in tables. The dead tuple
issueis not a big deal because I can still use pg_repack to handle, although pg_repack will cause wal log to increase
dramaticallyand may take one or two days to handle a large table. During this time the database can be accessed by
externalusers, but the xid wraparound will cause PostgreSQL to be down, which is a disaster for DBAs. Maybe you are not
aDBA, or your are from a small country, Database system tps is very low, so xid32 is  enough for your database system ,
Oracle's scn was also 32bits, however, Oracle realized the issue and changed scn to 64 bits. The transaction id in
mysqlis 48 bits. MySQL didn't fix the transaction id wraparound problem because they think that 48 bits is enough for
thetransaction id. This project has been running for almost 1 year and now it is coming to an end. I strongly disagree
withyour idea of stopping this patch, and I suspect you are a saboteur. I strongly disagree with your viewpoint, as it
isnot a fundamental way to solve the xid wraparound problem. The PostgreSQL community urgently needs developers who
solveproblems like this, not bury one' head in the sand 

This is not uncommon for people on the mailing list to have
disagreements. This is part of the process, we all are looking for
consensus. It's true that different people have different use cases in
mind and different backgrounds as well. It doesn't mean these use
cases are wrong and/or the experience is irrelevant and/or the
received feedback should be just discarded.

Although I also expressed my disagreement with Chris before, let's not
assume any bad intent and especially sabotage as you put it. (Unless
you have a strong proof of this of course which I doubt you have.) We
want all kinds of feedback to be welcomed here. I'm sure our goal here
is mutual, to make PostgreSQL even better than it is now. The only
problem is that the definition of "better" varies sometimes.

I see you believe that 64-bit XIDs are going to be useful. That's
great! Tell us more about your case and how the patch is going to help
with it. Also, maybe you could test your load with the applied
patchset and tell us whether it makes things better or worse?
Personally I would love hearing this from you.

--
Best regards,
Aleksander Alekseev



Re: Add 64-bit XIDs into PostgreSQL 15

From
adherent postgres
Date:
Hi Aleksander Alekseev 
 I think the xids 32bit transformation project has been dragged on for too long. Huawei's openGauss referenced this patch to implement xids 64bit, and Postgrespro also implemented xids 64bit, which is enough to prove that their worries are redundant.I think postgresql has no reason not to implement xid 64 bit. What about your opinion?

Best whish

发件人: Aleksander Alekseev <aleksander@timescale.com>
发送时间: 2022年12月9日 20:49
收件人: pgsql-hackers@lists.postgresql.org <pgsql-hackers@lists.postgresql.org>
抄送: adherent postgres <adherent_postgres@hotmail.com>; Chris Travers <chris.travers@gmail.com>; Chris Travers <chris@orioledata.com>; Bruce Momjian <bruce@momjian.us>
主题: Re: Add 64-bit XIDs into PostgreSQL 15
 
Hi adherent,

>      Robertmhaas said that the project Zheap is dead(https://twitter.com/andy_pavlo/status/1590703943176589312), which means that we cannot use Zheap to deal with the issue of xid wraparound and dead tuples in tables. The dead tuple issue is not a big deal because I can still use pg_repack to handle, although pg_repack will cause wal log to increase dramatically and may take one or two days to handle a large table. During this time the database can be accessed by external users, but the xid wraparound will cause PostgreSQL to be down, which is a disaster for DBAs. Maybe you are not a DBA, or your are from a small country, Database system tps is very low, so xid32 is  enough for your database system ,  Oracle's scn was also 32bits, however, Oracle realized the issue and changed scn to 64 bits. The transaction id in mysql is 48 bits. MySQL didn't fix the transaction id wraparound problem because they think that 48 bits is enough for the transaction id. This project has been running for almost 1 year and now it is coming to an end. I strongly disagree with your idea of stopping this patch, and I suspect you are a saboteur. I strongly disagree with your viewpoint, as it is not a fundamental way to solve the xid wraparound problem. The PostgreSQL community urgently needs developers who solve problems like this, not bury one' head in the sand

This is not uncommon for people on the mailing list to have
disagreements. This is part of the process, we all are looking for
consensus. It's true that different people have different use cases in
mind and different backgrounds as well. It doesn't mean these use
cases are wrong and/or the experience is irrelevant and/or the
received feedback should be just discarded.

Although I also expressed my disagreement with Chris before, let's not
assume any bad intent and especially sabotage as you put it. (Unless
you have a strong proof of this of course which I doubt you have.) We
want all kinds of feedback to be welcomed here. I'm sure our goal here
is mutual, to make PostgreSQL even better than it is now. The only
problem is that the definition of "better" varies sometimes.

I see you believe that 64-bit XIDs are going to be useful. That's
great! Tell us more about your case and how the patch is going to help
with it. Also, maybe you could test your load with the applied
patchset and tell us whether it makes things better or worse?
Personally I would love hearing this from you.

--
Best regards,
Aleksander Alekseev

Re: Add 64-bit XIDs into PostgreSQL 15

From
Pavel Borisov
Date:
Hi, Adherent!

On Fri, 9 Dec 2022 at 17:54, adherent postgres
<adherent_postgres@hotmail.com> wrote:
>
> Hi Aleksander Alekseev
>  I think the xids 32bit transformation project has been dragged on for too long. Huawei's openGauss referenced this
patchto implement xids 64bit, and Postgrespro also implemented xids 64bit, which is enough to prove that their worries
areredundant.I think postgresql has no reason not to implement xid 64 bit. What about your opinion? 

I agree it's high time to commit 64xids into PostgreSQL.

If you can do your review of the whole proposed patchset or only the
part that is likely to be committed earlier [1] it would help a lot!
I'd recommend beginning with the last version of the patch in thread
[1]. First, it is easier. Also, this review is going to be useful
sooner and will help a committer on January commitfest a lot.
[1]: https://www.postgresql.org/message-id/CAFiTN-uudj2PY8GsUzFtLYFpBoq_rKegW3On_8ZHdxB1mVv3-A%40mail.gmail.com

Regards,
Pavel Borisov,
Supabase



回复: Add 64-bit XIDs into PostgreSQL 15

From
adherent postgres
Date:
Hi Pavel Borisov 
    Now the disk performance has been improved many times, and the capacity has also been increased many times,The wal log already supports lz4 and zstd compression, I think each XLOG record size will increase at least by 4 bytes which is not a big problem.What about your opinion?

Best whish



发件人: Pavel Borisov <pashkin.elfe@gmail.com>
发送时间: 2022年12月9日 22:13
收件人: adherent postgres <adherent_postgres@hotmail.com>
抄送: Aleksander Alekseev <aleksander@timescale.com>; pgsql-hackers@lists.postgresql.org <pgsql-hackers@lists.postgresql.org>; Chris Travers <chris.travers@gmail.com>; Chris Travers <chris@orioledata.com>; Bruce Momjian <bruce@momjian.us>
主题: Re: Add 64-bit XIDs into PostgreSQL 15
 
Hi, Adherent!

On Fri, 9 Dec 2022 at 17:54, adherent postgres
<adherent_postgres@hotmail.com> wrote:
>
> Hi Aleksander Alekseev
>  I think the xids 32bit transformation project has been dragged on for too long. Huawei's openGauss referenced this patch to implement xids 64bit, and Postgrespro also implemented xids 64bit, which is enough to prove that their worries are redundant.I think postgresql has no reason not to implement xid 64 bit. What about your opinion?

I agree it's high time to commit 64xids into PostgreSQL.

If you can do your review of the whole proposed patchset or only the
part that is likely to be committed earlier [1] it would help a lot!
I'd recommend beginning with the last version of the patch in thread
[1]. First, it is easier. Also, this review is going to be useful
sooner and will help a committer on January commitfest a lot.
[1]: https://www.postgresql.org/message-id/CAFiTN-uudj2PY8GsUzFtLYFpBoq_rKegW3On_8ZHdxB1mVv3-A%40mail.gmail.com

Regards,
Pavel Borisov,
Supabase

Re: Add 64-bit XIDs into PostgreSQL 15

From
Maxim Orlov
Date:


On Fri, 9 Dec 2022 at 16:54, adherent postgres <adherent_postgres@hotmail.com> wrote:
Hi Aleksander Alekseev 
 I think the xids 32bit transformation project has been dragged on for too long. Huawei's openGauss referenced this patch to implement xids 64bit, and Postgrespro also implemented xids 64bit, which is enough to prove that their worries are redundant.I think postgresql has no reason not to implement xid 64 bit. What about your opinion?

Yeah, I totally agree, the time has come. With a high transaction load, Postgres become more and more difficult to maintain.
The problem is in the overall complexity of the patch set. We need more reviewers.

Since committing such a big patch is not viable once at a time, from the start of the work we did split it into several logical parts.
The evolution concept is more preferable in this case. As far as I can see, there is overall consensus to commit SLRU related
changes first.

--
Best regards,
Maxim Orlov.