Обсуждение: Fix the error message when failing to restore the snapshot

Поиск
Список
Период
Сортировка

Fix the error message when failing to restore the snapshot

От
"Zhijie Hou (Fujitsu)"
Дата:
Hi,

While testing the logical snapshot restore functionality, I noticed the
data size reported in the error message seems not correct.

I think it's because we used a const value here:

SnapBuildRestoreContents(int fd, char *dest, Size size, const char *path)
...
    readBytes = read(fd, dest, size);
    pgstat_report_wait_end();
    if (readBytes != size)
...
            ereport(ERROR,
                    (errcode(ERRCODE_DATA_CORRUPTED),
                     errmsg("could not read file \"%s\": read %d of %zu",
**                            path, readBytes, * sizeof(SnapBuild) *)));

I think we need to pass the size here.

Attach a small patch to fix this. BTW, the error message exists in HEAD ~ PG10.

Best Regards,
Hou zj


Вложения

Re: Fix the error message when failing to restore the snapshot

От
Amit Kapila
Дата:
On Tue, Aug 22, 2023 at 6:09 PM Zhijie Hou (Fujitsu)
<houzj.fnst@fujitsu.com> wrote:
>
> While testing the logical snapshot restore functionality, I noticed the
> data size reported in the error message seems not correct.
>
> I think it's because we used a const value here:
>
> SnapBuildRestoreContents(int fd, char *dest, Size size, const char *path)
> ...
>         readBytes = read(fd, dest, size);
>         pgstat_report_wait_end();
>         if (readBytes != size)
> ...
>                         ereport(ERROR,
>                                         (errcode(ERRCODE_DATA_CORRUPTED),
>                                          errmsg("could not read file \"%s\": read %d of %zu",
> **                                                      path, readBytes, * sizeof(SnapBuild) *)));
>
> I think we need to pass the size here.
>

Good catch. I'll take care of this.

--
With Regards,
Amit Kapila.