Frequently Asked Questions

Ошибка при загрузке данных в наследуемые таблицы (INHERITS) - Inherited tables causes segfault on Orca and error on Legacy

Exception:
При загрузке данных в наследуемые таблицы возникают следующие ошибки :

№1

2019-08-02 07:15:40.265224 MSK,"gpadmin","adb",p128213,th-1814579072,"[local]",,2019-08-02 07:15:21 MSK,0,con30209,cmd1,seg-1,,dx2,,sx1,"LOG","00000","statement: insert into tb values(1, 0);",,,,,,"insert into tb values(1, 0);",0,,"postgres.c",1590,
2019-08-02 07:15:40.343389 MSK,,,p128213,th0,,,2019-08-02 07:15:21 MSK,0,con30209,cmd1,seg-1,,,,,"PANIC","XX000","Unexpected internal error: Master process received signal SIGSEGV",,,,,,,0,,,,"1 0x7f5f9382e3d0 libgpopt.so.3 _ZN5gpopt20CTranslatorDXLToExpr8PtabdescEPN5$
pdxl14CDXLTableDescrE + 0x6f0
2 0x7f5f9382e50f libgpopt.so.3 _ZN5gpopt20CTranslatorDXLToExpr18PexprLogicalInsertEPKN5gpdxl8CDXLNodeE + 0x5f
3 0x7f5f9382b05b libgpopt.so.3 _ZN5gpopt20CTranslatorDXLToExpr5PexprEPKN5gpdxl8CDXLNodeEPKN4gpos16CDynamicPtrArrayIS2_XadL_ZNS5_14CleanupReleaseIS2_EEvPT_EEEESC_ + 0x32b
4 0x7f5f9382b987 libgpopt.so.3 _ZN5gpopt20CTranslatorDXLToExpr19PexprTranslateQueryEPKN5gpdxl8CDXLNodeEPKN4gpos16CDynamicPtrArrayIS2_XadL_ZNS5_14CleanupReleaseIS2_EEvPT_EEEESC_ + 0x57
5 0x7f5f938032f1 libgpopt.so.3 _ZN5gpopt10COptimizer13PdxlnOptimizeEPN4gpos11IMemoryPoolEPNS_11CMDAccessorEPKN5gpdxl8CDXLNodeEPKNS1_16CDynamicPtrArrayIS7_XadL_ZNS1_14CleanupReleaseIS7_EEvPT_EEEESG_PNS_19IConstExprEvaluatorEjjjPNSA_INS_12CSearchStageEXadL_ZNS1_13Cleanup
DeleteISJ_EEvSD_EEEEPNS_16COptimizerConfigEPKc + 0x381
"
2019-08-02 07:15:40.343688 MSK,,,p71520,th-1814579072,,,,0,,,seg-1,,,,,"LOG","00000","server process (PID 128213) was terminated by signal 11: Segmentation fault",,,,,,,0,,"postmaster.c",5620,
2019-08-02 07:15:40.343741 MSK,,,p71520,th-1814579072,,,,0,,,seg-1,,,,,"LOG","00000","terminating any other active server processes",,,,,,,0,,"postmaster.c",5299,

№2

 2019-08-02 08:02:46.077740 MSK,"gpadmin","adb",p42401,th256645248,"[local]",,2019-08-02 07:37:52 MSK,0,con24315,cmd85,seg-1,,dx23500,,sx1,"ERROR","XX000","no tlist entry for key 3 (cdbmutate.c:1484)",,,,,,"insert into tb values(0, 0);",0,,"cdbmutate.c",1484,"Stack trace:1    0x933c16 postgres errstart + 0x1f6
2    0x9356eb postgres elog_finish + 0xab
3    0xa20752 postgres apply_motion + 0x1082
4    0xa07335 postgres cdbparallelize + 0x265
5    0x7756e8 postgres standard_planner + 0x628
6    0x775965 postgres planner + 0x145
7    0x81a3cc postgres  + 0x81a3cc
8    0x81b922 postgres  + 0x81b922
9    0x81dcac postgres PostgresMain + 0x1a3c
10   0x7c0a46 postgres  + 0x7c0a46
11   0x7c2432 postgres PostmasterMain + 0xc62
12   0x4caded postgres main + 0x39d
13   0x7fd20ab9f445 libc.so.6 __libc_start_main + 0xf5
14   0x4cb37f postgres  + 0x4cb37f


Version:

Начиная с версии 5.21.2, данная ошибка исправлена.

Description:

Данная ошибка воспроизводится при любой вставке в таблицы где используется наследование (INHERITS). Для воспроизведения данных ошибок достаточно осуществить следующие действия:

create table ta (a int) distributed randomly;
create table tb (a int, b int) inherits (ta) distributed by (b);

Следует отметить также разное поведение при использовании разных оптимизаторов:

Ошибка №1 (GPORCA)

set optimizer=on;
insert into tb values(0, 0);

Ошибка №2 (Legacy)

set optimizer=off;
insert into tb values(0, 0);

Данная ошибка была исправлена в сборке ADB 5.21.2-arenadata6.

Recommendations: Обновиться до версии 5.21.2


Related tickets: Данная ошибка была обнаружена в результате работ над заявкой AS-935382
https://jira.arenadata.io/browse/ADBDEV-271

Last Updated 10 months ago

Arenadata

127018, Moscow
Skladochnaya St., 3, building 1,
Russia

support@arenadata.io

Please Wait!

Please wait... it will take a second!