Skip to content

RHCLOUD-49985 - Revert hummingbird migration to fix latency issues - #240

Merged
EvanCasey13 merged 1 commit into
RedHatInsights:masterfrom
EvanCasey13:revert/hummingbird-openresty-rollback
Aug 5, 2026
Merged

RHCLOUD-49985 - Revert hummingbird migration to fix latency issues#240
EvanCasey13 merged 1 commit into
RedHatInsights:masterfrom
EvanCasey13:revert/hummingbird-openresty-rollback

Conversation

@EvanCasey13

@EvanCasey13 EvanCasey13 commented Aug 4, 2026

Copy link
Copy Markdown

https://redhat.atlassian.net/browse/RHCLOUD-49985

This reverts the hummingbird migration (commit bd94932 and subsequent fixes) to restore the stable OpenResty 1.21.4 configuration that was in place before July 10, 2026.

Root Cause Analysis:

  • On July 10, hummingbird migration upgraded OpenResty from 1.21.4 (nginx 1.21) to 1.27.1 (nginx 1.27) - a 6 major version jump
  • On July 14 at 4:55 PM, SLO alerts fired:
    • Gateway: 89.88% of requests slower than 1000ms
    • Entitlements: 84.66% of requests slower than 1000ms
    • UHC Auth Proxy: Latency SLO breach
  • Emergency fixes attempted July 15 (OpenResty 1.29 bump, library fixes, buffering changes) all failed to resolve the issue

The OpenResty 1.27.1 upgrade introduced breaking nginx behavior changes:

  • Different proxy buffering defaults
  • Stricter timeout enforcement (lua tcp socket read timeouts)
  • Changed upstream keepalive/connection pool behavior
  • HTTP/2 directive deprecation

Changes in this revert:

  • Dockerfile: Restore pre-hummingbird configuration
    • Base image: hi/core-runtime:2.43 → ubi9/ubi-minimal:9.8-1782797275
    • OpenResty: 1.27.1-1.el9 → 1.21.4-1.el8
    • Remove multi-stage build complexity (library clobber issue)
    • Restore jaegertracing, openresty-resty, openresty-opentracing packages
  • gateway/http.d/core.conf: Remove client_body_buffer_size symptom fix

Hummingbird migration deferred until OpenResty compatibility is resolved.

This reverts the hummingbird migration (commit bd94932 and subsequent fixes)
to restore the stable OpenResty 1.21.4 configuration that was in place before
July 10, 2026.

Root Cause Analysis:
- On July 10, hummingbird migration upgraded OpenResty from 1.21.4 (nginx 1.21)
  to 1.27.1 (nginx 1.27) - a 6 major version jump
- On July 14 at 4:55 PM, SLO alerts fired:
  * Gateway: 89.88% of requests slower than 1000ms
  * Entitlements: 84.66% of requests slower than 1000ms
  * UHC Auth Proxy: Latency SLO breach
- Emergency fixes attempted July 15 (OpenResty 1.29 bump, library fixes,
  buffering changes) all failed to resolve the issue

The OpenResty 1.27.1 upgrade introduced breaking nginx behavior changes:
- Different proxy buffering defaults
- Stricter timeout enforcement (lua tcp socket read timeouts)
- Changed upstream keepalive/connection pool behavior
- HTTP/2 directive deprecation

Changes in this revert:
- Dockerfile: Restore pre-hummingbird configuration
  * Base image: hi/core-runtime:2.43 → ubi9/ubi-minimal:9.8-1782797275
  * OpenResty: 1.27.1-1.el9 → 1.21.4-1.el8
  * Remove multi-stage build complexity (library clobber issue)
  * Restore jaegertracing, openresty-resty, openresty-opentracing packages
- gateway/http.d/core.conf: Remove client_body_buffer_size symptom fix

Hummingbird migration deferred until OpenResty compatibility is resolved.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
@EvanCasey13 EvanCasey13 changed the title Revert hummingbird migration to fix latency issues RHCLOUD-49985 - Revert hummingbird migration to fix latency issues Aug 4, 2026
@EvanCasey13
EvanCasey13 requested a review from dagbay-rh August 4, 2026 12:10

@dsova06 dsova06 left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@EvanCasey13
EvanCasey13 merged commit 462d022 into RedHatInsights:master Aug 5, 2026
7 of 8 checks passed
@EvanCasey13
EvanCasey13 deleted the revert/hummingbird-openresty-rollback branch August 5, 2026 14:00
@tkan145

tkan145 commented Aug 7, 2026

Copy link
Copy Markdown

Hi there, APIcast maintainer here, sorry for comment on merged PR but I don't see any button to open new issue.

I see you are still using 1.21.4-1. I recommend upgrading to version 1.21.4-4, which includes several CVE patches. Ping me if you need more details

Regarding your upgrade to 1.27.1

Different proxy buffering defaults

By setting client_body_buffer_size 1m; essentially, you store all the data in a memory up to 1MB instead of 8KB, and then write it to disk.

Stricter timeout enforcement (lua tcp socket read timeouts)
Changed upstream keepalive/connection pool behavior

Do you have details on this, if you open an issue upstream I will see if I can fix it.

HTTP/2 directive deprecation

You would need to cherry-pick this PR 3scale#1577

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants