1.2.11.4. 버그 수정

  • 이전 버전에서는 Elasticsearch는 헤더가 기본 최대 헤더 크기인 8KB를 초과한 HTTP 요청을 거부했습니다. 이제 최대 헤더 크기는 128 KB이고 Elasticsearch는 더 이상 최대 헤더 크기를 초과한 HTTP 요청을 거부하지 않습니다. (BZ#1845293)
  • 이전 버전에서는 소프트웨어 버그가 Elasticsearch 사용자 정의 리소스(CR)에서 노드의 상태를 올바르게 업데이트하지 않았기 때문에 노드가 Pending 상태에서 복구되지 않았습니다. 현재 릴리스에서는 이 문제가 해결되어 노드가 Pending 상태일 때 노드를 복구할 수 있습니다. (BZ#1887357)
  • 이전 버전에서는 CLO(Cluster Logging Operator)에서 clusterlogging CR의 Elasticsearch 노드 수를 3개의 노드로 축소할 때 고유 ID가 있는 이전에 생성된 노드를 생략했습니다. OpenShift Elasticsearch Operator는 고유 ID가 있는 노드가 제거되지 않도록하는 보호 조치가 있었기 때문에 업데이트를 거부했습니다. 이제 CLO가 노드 수를 축소하고 Elasticsearch CR을 업데이트할 때 할당하지 않고 고유한 ID가 있는 노드를 카운트 0 으로 표시합니다. 결과적으로 clusterlogging CR을 사용하여 클러스터를 3개의 노드로 축소할 수 있습니다. (BZ#1879150)
참고

OpenShift Logging 5.0 이상에서 Cluster Logging Operator는 Red Hat OpenShift Logging Operator라고 합니다.

  • 이전 버전에서는 ClusterLogForwarder에서 시크릿이 잘못 설정되어 있으면, Fluentd 수집가 Pod 크래시 루프에 진입했습니다. 현재 릴리스에서는 이 문제가 해결되었습니다. 이제 ClusterLogForwarder에서 시크릿을 검증하고 상태 필드에 오류를 보고합니다. 결과적으로 Fluentd 수집기 Pod가 충돌하지 않습니다. (BZ#1888943)
  • 이전 버전에서는 clusterlogging 인스턴스의 Kibana 리소스 설정을 resource {}에 데이트하면 생성되는 nil 맵에 패닉을 발생시켜 OpenShift Elasticsearch Operator의 상태가 CrashLoopBackOff로 변경되었습니다. 현재 릴리스는 맵을 초기화하여 이 문제를 해결되어 있습니다. (BZ#1889573)
  • 이전 버전에서는 ClusterLogForwarder에서 동일한 암호를 사용하여 여러 출력을 생성할 때 Fluentd 수집기 Pod가 크래시 루프에 진입했습니다. 현재 릴리스에서는 이 문제가 해결되었습니다. 이제 여러 출력이 시크릿을 공유할 수 있습니다. (BZ#1890072)
  • 이전 버전에서는 Kibana 경로를 삭제한 경우 CO(Cluster Logging Operator)를 복구하거나 재생성할 수 없었습니다. 이제 CLO에서 경로를 모니터링하고 경로를 삭제하면 OpenShift Elasticsearch Operator가 이를 조정하거나 다시 생성할 수 있습니다. (BZ#1890825)
  • 이전 버전에서는 CLO(Cluster Logging Operator)에서 Red Hat이 제공하는 Elastic CRD(Elastic Custom Resource Definition)에 종속된 Elasticsearch 리소스를 조정하려고 했습니다. CLO에서 알 수 없는 유형의 목록을 나열하려고 하면 CLO가 조정 루프를 종료했습니다. 이는 CLO가 정의된지 여부에 관계없이 모든 관리 리소스를 조정하려고 시도했기 때문입니다. 현재 릴리스에서는 이 문제가 해결되었습니다. 사용자가 관리 스토리지를 정의하는 경우 CLO는 OpenShift Elasticsearch Operator에서 제공하는 유형만 조정합니다. 따라서 사용자는 CLO를 배포하여 클러스터 로깅의 수집기 전용 배포를 생성할 수 있습니다. (BZ#1891738)
  • 이전 버전에서는 RFC 3164의 LF GA syslog 구현으로 인해 원격 syslog로 전송된 로그가 기존 동작과 호환되지 않았습니다. 현재 릴리스에서는 이 문제가 해결되었습니다. AddLogSource는 로그 소스의 세부 정보를 "message" 필드에 추가합니다. 이제 원격 syslog로 전송된 로그는 기존 동작과 호환됩니다. (BZ#1891886)
  • 이전 버전에서는 Elasticsearch 롤오버 Pod가 resource_already_exists_exception 오류로 실패했습니다. Elasticsearch 롤오버 API 내에서 다음 인덱스가 생성될 때 * - write 별칭이 이를 참조하도록 업데이트되지 않았습니다. 그 결과 다음에 해당 특정 인덱스에 대해 롤오버 API 엔드포인트가 트리거되면 리소스가 이미 존재하는 오류를 수신했습니다.

    현재 릴리스에서는 이 문제가 해결되었습니다. 이제 indexmanagement cronjob에서 롤오버가 발생할 때 새 인덱스가 생성되면 별칭이 새 인덱스를 가리키는지 확인합니다. 이러한 동작은 오류 발생을 방지합니다. 클러스터가 이미 이 오류를 수신하는 경우 cronjob에서 문제가 해결되어 후속 실행이 예상대로 작동되도록 합니다. 이제 롤오버를 수행해도 더 이상 예외가 발생하지 않습니다. (BZ#1893992)

  • 이전 버전에서는 로깅 스택이 작동하는 경우에도 Fluent가 로그 전송을 중지했습니다. 엔드 포인트가 백업된 경우에도 로그는 장기간 엔드포인트에 전송되지 않았습니다. 이는 최대 백 오프 시간이 너무 길고 엔드포인트가 중지된 경우 발생했습니다. 현재 릴리스에서는 최대 백 오프 시간을 단축하여 이 문제를 해결하므로 더 빨리 로그가 발송됩니다. (BZ#1894634)
  • 이전 버전에서는 Elasticsearch 노드의 스토리지 크기를 생략하면 OpenShift Elasticsearch Operator 코드에서 패닉 상태가 발생했습니다. 이 패닉은 로그에 다음과 같이 표시됩니다. 패닉을 감지했습니다. "잘못된 메모리 주소 또는 nil 포인터 역참조" 패닉은 스토리지 크기가 필수 필드이지만 소프트웨어가 이를 확인하지 않았기 때문에 발생했습니다. 현재 릴리스에서는 이 문제가 해결되어 스토리지 크기가 생략되어도 문제가 발생하지 않습니다. 대신 스토리지는 기본적으로 임시 스토리지로 설정되어 사용자에게 로그 메시지를 생성합니다. (BZ#1899589)
  • 이전 버전에서는 elasticsearch-rolloverelasticsearch-delete Pod가 Invalid JSON: 또는 ValueError에 있었습니다. JSON 객체를 디코딩할 수 없습니다 오류 상태. 잘못된 JSON 입력에 대한 예외 처리기가 없기 때문에 이러한 예외가 발생했습니다. 현재 릴리스에서는 잘못된 JSON 입력에 대한 처리기를 제공하여 이 문제를 해결합니다. 그 결과 프로세스는 예외 추적 대신 오류 메시지를 출력하고 elasticsearch-rolloverelasticsearch-delete 작업은 이러한 오류 상태를 유지하지 않습니다. (BZ#1899905)
  • 이전 버전에서는 Fluentd를 독립형으로 배포할 때 replicas 값이 0인 경우에도 Kibana pod가 생성되었습니다. 이 문제는 Elasticsearch 노드가 없는 경우에도 Kibana가 기본적으로 1 개의 Pod로 설정되었기 때문입니다. 현재 릴리스에서는 이 문제가 해결되었습니다. 이제 Kibana가 하나 이상의 Elasticsearch 노드가 있는 경우에만 1로 기본 설정됩니다. (BZ#1901424)
  • 이전 버전에서는 시크릿을 삭제한 경우 다시 생성되지 않았습니다. 인증서가 Operator의 로컬에 있지만 변경되지 않아 다시 작성되지 않았습니다. 즉 인증서가 변경된 경우에만 작성되었습니다. 현재 릴리스에서는 이 문제가 해결되었습니다. 인증서가 변경되거나 찾을 수 없는 경우 시크릿이 다시 작성됩니다. 이제 마스터 인증서를 삭제하면 대체됩니다. (BZ#1901869)
  • 이전 버전에서는 클러스터에 이름이 동일한 여러 사용자 지정 리소스가 있는 경우 API 그룹으로 정규화되어 있지 않았을 때 리소스가 알파벳순으로 선택되었습니다. 결과적으로 OpenShift Elastic Elasticsearch Operator와 함께 Red Hat의 OpenShift Elasticsearch Operator를 모두 설치하는 경우 must-gather 보고서를 통해 데이터를 수집할 때 오류가 발생했습니다. 현재 릴리스에서는 must-gathers가 클러스터의 사용자 정의 리소스에 대한 정보를 수집할 때 전체 API 그룹을 사용하도록 설정하여 이 문제가 해결되어 있습니다. (BZ#1897731)
  • 인증서 생성과 관련된 문제를 해결하기 위한 이전 버그 수정으로 오류가 발생했습니다. 인증서를 읽으려면 인증서가 누락된 것으로 인식되었기 때문에 인증서가 다시 생성되었습니다. 이로 인해 OpenShift Elasticsearch Operator가 Elasticsearch 클러스터에서 롤링 업그레이드를 수행하여 잠재적으로 일치하지 않는 인증서가 생성되었습니다. 이 버그는 Operator에서 작업 디렉터리에 인증서를 잘못 작성하여 발생했습니다. 현재 릴리스에서는 이 문제가 해결되었습니다. 이제 Operator가 지속적으로 동일한 작업 디렉터리에 인증서를 읽기 및 쓰기를 실행하므로 필요한 경우 인증서를 다시 생성할 수 있습니다. (BZ#1905910)
  • 이전 버전에서는 Elasticsearch 버전을 검색하기 위해 root 엔드 포인트에 대한 쿼리를 실행하면 403 응답이 수신되었습니다. 403 응답으로 인해 이전 릴리스에서 이 엔드포인트를 사용한 서비스가 중단되었습니다. 이 오류는 관리자 이외의 사용자에게 root 엔드 포인트의 쿼리 및 Elasticsearch 버전을 검색하는 데 필요한 monitor 권한이 없기 때문에 발생했습니다. 이제 관리자 이외의 사용자는 배포된 Elasticsearch 버전에 대해 root 엔드포인트를 쿼리할 수 있습니다. (BZ#1906765)
  • 이전 버전에서는 일부 대규모 삽입 상황에서 Elasticsearch 프록시가 fluentd와 Elasticsearch 간의 연결 시간이 초과되었습니다. 그 결과 fluentd가 메시지를 전달하지 못하고 서버는 Server returned nothing (no headers, no data) 오류를 반환했습니다. 현재 릴리스에서는 이 문제가 해결되었습니다. Elasticsearch 프록시의 기본 HTTP 읽기 및 쓰기 시간 초과가 5초에서 1분으로 늘어납니다. 또한 필드의 HTTP 시간 초과를 제어하는 Elasticsearch 프록시의 명령줄 옵션도 제공합니다. (BZ#1908707)
  • 이전 버전에서는 대시보드 설정 리소스가 다른 네임스페이스 소유자를 참조하여 OpenShift Container Platform이 해당 리소스를 수집하도록했기 때문에 {ProductName}/Elasticsearch 대시보드가 OpenShift Container Platform 모니터링 대시보드에서 누락되어 있는 경우도 있었습니다. 소유자의 참조는 OpenShift Elasticsearch Operator 조정 기능 (reconciler) 설정에서 삭제되고 로깅 대시 보드가 콘솔에 표시됩니다. (BZ#1910259)
  • 이전 버전에서는 환경 변수를 사용하여 Kibana 구성 파일의 값을 대체하는 코드에서 주석 처리된 행을 고려하지 않았습니다. 이로 인해 사용자가 server.maxPayloadBytes의 기본값을 덮어쓰지 못했습니다. 현재 릴리스에서는 server.maxPayloadByteswithin 의 기본값 코멘트를 해제하여 이 문제가 해결되었습니다. 사용자는 설명된 대로 환경 변수를 사용하여 값을 재정의할 수 있습니다. (BZ#1918876)
  • 이전 버전에서는 마이그레이션에 실패한 인덱스를 삭제하기 위한 명령이 억제되지 않도록 Kibana 로스 수준을 높였고 이로 인해 Kibana 사용자의 이메일 주소 및 OAuth 토큰이 포함된 INFO 수준에서 GET 요청이 표시되었습니다. 현재 릴리스에서는 이러한 필드를 마스킹하여 이 문제를 해결하였으므로 Kibana 로그는 이 필드를 표시하지 않습니다. (BZ#1925081)