오류 : 세그먼트 연결 실패 : AllocateWritergang은 나쁜 갱을 반환하려고 시도했습니다. (CDBGANG.C : 2591)

StackOverflow https://stackoverflow.com/questions/2255086

  •  20-09-2019
  •  | 
  •  

문제

Solaris에서 GreenPlum 데이터베이스 버전 3.2.3 사용.

단계 1. 테이블을 만듭니다.

CREATE TABLE ivdb.OPTION_PRICE (
    SecurityID integer NOT NULL,
    Date timestamp NOT NULL,
    Root char(5) NOT NULL,
    Suffix char(2) NOT NULL,
    Strike integer NOT NULL,
    Expiration timestamp NOT NULL,
    CallPut char(1),
    BestBid real NOT NULL,
    BestOffer real NOT NULL,
    LastTradeDate timestamp NULL,
    Volume integer NOT NULL,
    OpenInterest integer NOT NULL,
    SpecialSettlement char(1) DEFAULT '0',
    ImpliedVolatility real NOT NULL,
    Delta real NOT NULL,
    Gamma real NOT NULL,
    Vega real NOT NULL,
    Theta real NOT NULL,
    OptionID integer NOT NULL,
    Adjustmentfactor integer DEFAULT 1 NOT NULL,

    CONSTRAINT PK_OPTION_PRICE PRIMARY KEY (Date, Root, Suffix))

    PARTITION BY RANGE (Date) (
        START (timestamp '01/01/1996') INCLUSIVE
        END (timestamp '01/01/2020') EXCLUSIVE
        EVERY (INTERVAL '1 month')); 

2 단계 : 다른 테이블에서 데이터를 삽입하십시오. (이것은 평범한 바닐라이며 분할되지 않고 제약 조건이 없습니다. 564,392,723 행이 있습니다.)

INSERT INTO OPTION_PRICE SELECT * FROM casey_option_price;

결과:

-- Executing query:

INSERT INTO OPTION_PRICE SELECT * FROM casey_option_price;
NOTICE: Releasing gangs to finish aborting the transaction.


ERROR: Segment connection failed: allocateWriterGang attempted to return a bad gang. (cdbgang.c:2591)

********** Error **********

ERROR: Segment connection failed: allocateWriterGang attempted to return a bad gang. (cdbgang.c:2591)
SQL state: XX000

Bad Gang Things는 전체 쇼를 중단하고 데이터베이스를 다시 시작하여 물건을 다시 정리해야합니다.

웹에서 많이 찾지 못했고 Greenplum과 함께 헬프 데스크 티켓을 열었습니다. 내가 당신이하기 전에 하나를 얻으면 솔루션이 다시 올 것입니다.

죄송합니다. "GreenPlum"으로 태그를 붙일 수있는 반복이 충분하지 않습니다.

도움이 되었습니까?

해결책

이 오류는 하드웨어 문제로 인한 것입니다. 하드 드라이브는 실패했고 어떤 이유로 습격은 우리를 올바르게 덮지 못했습니다.

"나쁜 갱"는 지금 "하드웨어 확인"을 의미합니다.

관련 (또는 아마도 실제) 문제 : GP_VMEM_PROTECT_LIMIT 설정을 확인하십시오. 우리가 너무 높아서 쿼리에서 모든 기계의 스왑 공간을 사용하고있었습니다.

다른 팁

"갱단이 연결이 끊어졌다"는 하나 이상의 1 차 세그먼트의 작업자 프로세스가 비정상적으로 중단되는 것을 나타내는 증상입니다. 가능한 원인은 다양합니다. 예를 들어, Max_Connections는 한 세그먼트에서 도달합니다. 타임 아웃으로 인한 1 차 세그먼트; PostgreSQL 프로세스가 죽었습니다. 세그먼트 서버 NIC 문제; 파일 시스템은 세그먼트에 가득 차 있습니다. 등.

아래 정보가있는 GP 지원 팀에 사례를 열어주는 것이 좋습니다.

  1. 마스터 로그
  2. 관련 세그먼트 로그
  3. gp_segment_configuration 출력
  4. 1 desc의 gp_configuration_history order에서 *를 선택하십시오.
  5. /var/log/관련 세그먼트 서버의 메시지
  6. 세그먼트에 df -h
  7. 당신이 생각할 수있는 모든 변화.
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top