From: | Tatsuo Ishii <ishii(at)sraoss(dot)co(dot)jp> |
---|---|
To: | japinli(at)hotmail(dot)com |
Cc: | johnhyvr(at)gmail(dot)com, pgsql-hackers(at)postgresql(dot)org, pgsql-hackers(at)lists(dot)postgresql(dot)org |
Subject: | Re: Fixing pgbench init overflow |
Date: | 2023-12-23 07:22:07 |
Message-ID: | 20231223.162207.1546959920417538821.t-ishii@sranhm.sra.co.jp |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
<ME3P282MB316684190982F54BDBD4FE90B69BA(at)ME3P282MB3166(dot)AUSP282(dot)PROD(dot)OUTLOOK(dot)COM>
>
> On Sat, 23 Dec 2023 at 07:18, Chen Hao Hsu <johnhyvr(at)gmail(dot)com> wrote:
>> Hello,
>>
>> pgbench mixes int and int64 to initialize the tables.
>> When a large enough scale factor is passed, initPopulateTable
>> overflows leading to it never completing, ie.
>>
>> 2147400000 of 2200000000 tuples (97%) of
>> pgbench_accounts done (elapsed 4038.83 s, remaining 98.93 s)
>> -2147400000 of 2200000000 tuples (-97%) of
>> pgbench_accounts done (elapsed 4038.97 s, remaining -8176.86 s)
>>
>>
>> Attached is a patch that fixes this, pgbench -i -s 22000 works now.
>
> I think only the following line can fix this.
>
> + int64 k;
>
> Do not need to modify the type of `n`, right?
You are right. n represents the return value of pg_snprintf, which is
the byte length of the formatted data, which is int, not int64.
Best reagards,
--
Tatsuo Ishii
SRA OSS LLC
English: http://www.sraoss.co.jp/index_en/
Japanese:http://www.sraoss.co.jp
From | Date | Subject | |
---|---|---|---|
Next Message | Japin Li | 2023-12-23 07:37:33 | Re: Fixing pgbench init overflow |
Previous Message | Li Japin | 2023-12-23 06:48:14 | Re: Transaction timeout |