/ / ERROR: połączenie segmentu nie powiodło się: replaceateWriterGang próbował zwrócić zły gang. (cdbgang.c: 2591) - baza danych, postgresql, greenplum

BŁĄD: połączenie segmentu nie powiodło się: allocateWriterGang próbował zwrócić zły gang. (cdbgang.c: 2591) - baza danych, postgresql, greenplum

Korzystanie z bazy danych Greenplum w wersji 3.2.3 w systemie Solaris.

Krok 1. Utwórz tabelę.

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"));

Krok 2: Wstaw dane z innej tabeli. (Ten jest zwykły waniliowy, nie podzielony na partycje, bez ograniczeń. Ma 564 392 723 wierszy.)

INSERT INTO OPTION_PRICE SELECT * FROM casey_option_price;

Wyniki:

- Wykonywanie zapytania:  INSERT INTO OPTION_PRICE SELECT * FROM casey_option_price; OSTRZEŻENIE: Zwolnienie gangów w celu zakończenia przerywania transakcji.   BŁĄD: połączenie segmentu nie powiodło się: replaceateWriterGang próbował zwrócić zły gang. (cdbgang.c: 2591)  ********** Błąd **********  BŁĄD: połączenie segmentu nie powiodło się: replaceateWriterGang próbował zwrócić zły gang. (cdbgang.c: 2591) Stan SQL: XX000

Złe gangi zatrzymują cały program, trzeba zrestartować bazę danych, aby wszystko znów zostało wyczyszczone.

Nie znalazłem wiele w Internecie, mam bilet pomocy technicznej otwarty z greenplum, myślałem, że też go tu wyrzucę. Wrócę z rozwiązaniem, jeśli dostanę je wcześniej.

Przepraszamy, brak wystarczającej liczby przedstawicieli do oznaczenia „greenplum”.

Odpowiedzi:

0 dla odpowiedzi № 1

Ten błąd był spowodowany problemem sprzętowym. Awaria dysku twardego iz jakiegoś powodu RAID nie pokrył nas poprawnie.

„zły gang” oznacza dla mnie „sprawdź swój sprzęt”.

Powiązany (a może prawdziwy) problem: Sprawdź swoje ustawienie gp_vmem_protect_limit. Nasz był zbyt wysoki i wykorzystałem całą przestrzeń wymiany maszyny w swoim zapytaniu.


0 dla odpowiedzi nr 2

„Gang został odłączony” jest objawem, którywskazuje, że jeden lub więcej segmentów podstawowych segmentów roboczych przerywa się nienormalnie. Możliwe przyczyny są różne. EG, osiągnięto maks. Połączenia w jednym segmencie; główne segmenty w dół z powodu przekroczenia limitu czasu; Procesy Postgresql są zabijane; problem z kartą sieciową segmentu; System plików jest pełen segmentów; itp.

Sugeruję, abyś otworzył skrzynkę dla zespołu wsparcia GP z poniższymi informacjami:

  1. logi główne
  2. powiązane dzienniki segmentów
  3. wyjście gp_segment_configuration
  4. wybierz * z gp_configuration_history uporządkuj według 1 opisu;
  5. / var / log / messages na powiązanych serwerach segmentów
  6. df -h na segmentach
  7. Każda zmiana, którą możesz uważać za związaną.