젠킨스 홍콩 정확한 중량 설정에는 메모리 API를 호출하지 무거운 로그가 표시되지 않습니다

[ 배경 설명 ] 무거운 바트 설정 목표 체중, 추가 작업 흐름, 즉 제거를 달성하기 위해, kongAPI 호출하여 스크립트.

[ 문제 설명 ] 건설 두 가지 예외가 나중에 젠킨스가 완성된다
.도 1을 참조하면, 이와 같은 홍콩 타겟 노드 중 적어도 하나는 3 개 노드이어야하며, 마지막 두 개의 노드 만 추가
2 바트 비 (100)의 목표 체중 그게 때로는 값은 특권 실제로
비정상적인 오류 로그를 표시 :

127.0.0.1 - - [26 / 6월 / 2019 : 04 : 04 : 24 +0000] "? POST / 설정 check_hash = 1 개 HTTP / 1.1"201 7242 "-" "이동-HTTP 클라이언트 / 1.1"
2019 / 06 / 26 4시 4분 25초 [오류] 33 # 0 : 68787 [루아] events.lua : 254 : 포스트 () : 노동자 이벤트 : "균형"에 의해 이벤트 "목표"를 게시 실패; 전혀 기억, 문맥 : ngx.timer
2019년 6월 26일 4시 4분 25초 [오류] 33 # 0 :
68787 [루아] handler.lua : 265 : 방송 실패 대상 근로자에 생성 : 의해 이벤트 "목표"를 게시 실패 " 균형 "; 전혀 기억하지, 컨텍스트 : ngx.timer
2019년 6월 26일 4시 4분 25초 [오류] 39 # 0 : 68788 [루아] events.lua : 254 : 포스트 () : 노동자 이벤트 : 이벤트 "목표"를 게시 실패로 "균형"; 메모리에는, 문맥 아니오 ngx.timer
2019년 6월 26일 4시 4분 25초 [오류] 39 # 0 :
68788 [루아] handler.lua : 265 : 노동자로 만들 대상을 방송하지 못했습니다 "균형"에 의해 이벤트 "목표"를 게시 실패; 전혀 기억하지 컨텍스트 : ngx.timer
2019년 6월 26일 4시 4분 25초 [에러 37 # 0 : 68,758 [LUA] balancer.lua : 581 : on_target_event () : 타겟 생성 : - ingress- Nginx에 대해 발견되지 밸런서 컨트롤러 live.events.svc 컨텍스트 : ngx.timer
2019년 6월 26일 4시 4분 25초 [오류] 33 # 0 :
68,787 [LUA] balancer.lua : 581 : on_target_event () :없는 분산기 : 타겟 만들 nginx를-진입 컨트롤러 - live.events.svc에 대한 컨텍스트 : ngx.timer```

오류 로그는 kong_worker_events가 쉬 제안

[조사 분석] :
조사를 통해, 우리는 홍콩이 버그 발견 :
로그를 제안 오류에 SHM 전체 또한 홍콩의 / 상태 엔드 포인트에서 SHM 측정에서보고 된 kong_worker_events에있는이 도서관을 위해 사용되는 SHM에 대한 다음 정보에 준다입니다 :

"allocated_slabs" "5.00 MiB 크기",
"용량"을 "5.00 MIB는"
@thibaultcha 및 @Tieske 대담에서,이 때문에 SHM에 다양한 크기의 테이블의 삽입에 SHM 내부 조각화 문제로 인해 주목했다 . SHM 실제로 삽입을위한 공간이 있지만, 테이블에 삽입되는 할당 할 수있는 단일 슬래브를 찾기 위해 여러 퇴거를 필요로 할 수도 있습니다. 이것은 아마도 루아 - resty-mlcache에 shm_set_tries를 사용이 필요합니다.

특정 참조 링크 : https://www.gitmemory.com/hbagdi

[ 해결책 ]

dbless 모드에서 홍콩을 (> = 1.1)를 스핀
홍콩의 구성을 변경 / config를 사용하여 엔드 포인트. 플러그인, 업스트림 및 대상은 각 다시로드 변경되어 있는지 확인합니다.
이것은 시간이 지남에 따라 세분화하기 SHM 발생하고이 문제를 폭로한다

추천

출처blog.51cto.com/zhaowl/2421019