Re: pg11.1: dsa_area could not attach to segment
| От | Sergei Kornilov |
|---|---|
| Тема | Re: pg11.1: dsa_area could not attach to segment |
| Дата | |
| Msg-id | 2614901549962899@sas1-4b7566131ec9.qloud-c.yandex.net обсуждение исходный текст |
| Ответ на | Re: pg11.1: dsa_area could not attach to segment (Justin Pryzby <pryzby@telsasoft.com>) |
| Ответы |
Re: pg11.1: dsa_area could not attach to segment
|
| Список | pgsql-hackers |
Hi
> I think this is tentatively confirmed..I ran 20 loops for over 90 minutes with
> no crash when parallel_leader_participation=off.
>
> On enabling parallel_leader_participation, crash within 10min.
>
> Sergei, could you confirm ?
I still have error with parallel_leader_participation = off. One difference is time: with parallel_leader_participation
=on i have error after minute-two, with off - error was after 20 min.
My desktop is
- debian testing with actual updates, 4.19.0-2-amd64 #1 SMP Debian 4.19.16-1 (2019-01-17) x86_64 GNU/Linux
- gcc version 8.2.0 (Debian 8.2.0-16)
- i build fresh REL_11_STABLE postgresql with ./configure --enable-cassert --enable-debug CFLAGS="-ggdb -Og -g3
-fno-omit-frame-pointer"--enable-tap-tests --prefix=/...
Can't provide dsa_dump(area) due recursion. With such dirty hack:
fprintf(stderr,
- " segment bin %zu (at least %d contiguous pages free):\n",
- i, 1 << (i - 1));
- segment_index = area->control->segment_bins[i];
- while (segment_index != DSA_SEGMENT_INDEX_NONE)
- {
- dsa_segment_map *segment_map;
-
- segment_map =
- get_segment_by_index(area, segment_index);
-
- fprintf(stderr,
- " segment index %zu, usable_pages = %zu, "
- "contiguous_pages = %zu, mapped at %p\n",
- segment_index,
- segment_map->header->usable_pages,
- fpm_largest(segment_map->fpm),
- segment_map->mapped_address);
- segment_index = segment_map->header->next;
- }
+ " segment bin %zu (at least %d contiguous pages free), segment_index=%zu\n",
+ i, 1 << (i - 1), area->control->segment_bins[i]);
i have result:
dsa_area handle 0:
max_total_segment_size: 18446744073709551615
total_segment_size: 2105344
refcnt: 2
pinned: f
segment bins:
segment bin 0 (at least -2147483648 contiguous pages free), segment_index=0
segment bin 3 (at least 4 contiguous pages free), segment_index=1
segment bin 8 (at least 128 contiguous pages free), segment_index=2
pools:
pool for blocks of span objects:
fullness class 0 is empty
fullness class 1:
span descriptor at 0000010000001000, superblock at 0000010000001000, pages = 1, objects free = 54/72
fullness class 2 is empty
fullness class 3 is empty
pool for large object spans:
fullness class 0 is empty
fullness class 1:
span descriptor at 00000100000013b8, superblock at 0000020000009000, pages = 8, objects free = 0/0
span descriptor at 0000010000001380, superblock at 0000020000001000, pages = 8, objects free = 0/0
span descriptor at 0000010000001348, superblock at 00000100000f2000, pages = 8, objects free = 0/0
span descriptor at 0000010000001310, superblock at 00000100000ea000, pages = 8, objects free = 0/0
span descriptor at 00000100000012d8, superblock at 00000100000e2000, pages = 8, objects free = 0/0
span descriptor at 00000100000012a0, superblock at 00000100000da000, pages = 8, objects free = 0/0
span descriptor at 0000010000001268, superblock at 00000100000d2000, pages = 8, objects free = 0/0
span descriptor at 0000010000001230, superblock at 00000100000ca000, pages = 8, objects free = 0/0
span descriptor at 00000100000011f8, superblock at 00000100000c2000, pages = 8, objects free = 0/0
span descriptor at 00000100000011c0, superblock at 00000100000ba000, pages = 8, objects free = 0/0
span descriptor at 0000010000001188, superblock at 00000100000b2000, pages = 8, objects free = 0/0
span descriptor at 0000010000001150, superblock at 00000100000aa000, pages = 8, objects free = 0/0
span descriptor at 0000010000001118, superblock at 00000100000a2000, pages = 8, objects free = 0/0
span descriptor at 00000100000010e0, superblock at 000001000009a000, pages = 8, objects free = 0/0
span descriptor at 00000100000010a8, superblock at 0000010000092000, pages = 8, objects free = 0/0
span descriptor at 0000010000001070, superblock at 0000010000012000, pages = 128, objects free = 0/0
fullness class 2 is empty
fullness class 3 is empty
pool for size class 32 (object size 3640 bytes):
fullness class 0 is empty
fullness class 1:
span descriptor at 0000010000001038, superblock at 0000010000002000, pages = 16, objects free = 17/18
fullness class 2 is empty
fullness class 3 is empty
"at least -2147483648" seems surprise.
melkij@melkij:~$ LANG=C ls -lt /dev/shm
total 0
-rw------- 1 melkij melkij 4194304 Feb 12 11:56 PostgreSQL.1822959854
only one segment, restart_after_crash = off and no more postgresql instances running.
regards, Sergei
В списке pgsql-hackers по дате отправления: