Skip to content

Update to 1 36 5 with various patch#16

Merged
gavin-jeong merged 4 commits intoupdate_to_1_36_5from
update_to_1_36_5_with_various_patch
Feb 11, 2026
Merged

Update to 1 36 5 with various patch#16
gavin-jeong merged 4 commits intoupdate_to_1_36_5from
update_to_1_36_5_with_various_patch

Conversation

@gavin-jeong
Copy link
Copy Markdown

Commit Message:
Additional Description:
Risk Level:
Testing:
Docs Changes:
Release Notes:
Platform Specific Features:
[Optional Runtime guard:]
[Optional Fixes #Issue]
[Optional Fixes commit #PR or SHA]
[Optional Deprecated:]
[Optional API Considerations:]

gavin-jeong and others added 2 commits January 16, 2026 13:53
Add per-shard statistics for Redis proxy to track hot shard usage:

- enable_per_shard_stats: Emits per-shard request counters
  - upstream_rq_total: Total requests to each shard
  - upstream_rq_success: Successful requests
  - upstream_rq_failure: Failed requests
  - upstream_rq_active: Active requests (gauge)

- enable_per_shard_latency_stats: Emits latency histogram
  - upstream_rq_time: Request latency in microseconds

All metrics are scoped under: cluster.<cluster_name>.shard.<host_address>.*

Per-shard command-level stats are also recorded when enable_command_stats
is enabled alongside the per-shard options.

Note: These options may significantly increase metric cardinality in
large clusters. Use with caution in production environments.
This change implements zone-aware routing for Redis Cluster, allowing read
requests to be routed to replicas in the same availability zone as the client.

Key changes:
- Add enable_zone_discovery config option to redis_cluster.proto
- Add az_affinity and az_affinity_replicas_and_primary read policies
- Implement INFO command-based zone discovery during cluster slot updates
- Store zone info in host locality for standard Envoy locality handling
- RedisShard groups replicas by zone for efficient zone-aware routing

Zone Discovery Flow:
1. CLUSTER SLOTS response triggers zone discovery when enabled
2. INFO command sent to each unique node to get availability_zone
3. Zones stored in host->locality().zone() when hosts are created
4. RedisShard reads zone from host locality, groups replicas by zone

Read Policies:
- AzAffinity: local replicas -> any replica -> primary
- AzAffinityReplicasAndPrimary: local replicas -> local primary -> any replica -> primary

Note: This feature currently works with Valkey only. Valkey exposes
availability_zone in its INFO response. Standard Redis does not support this field.

Signed-off-by: Doogie Min <doogie.min@sendbird.com>
@gavin-jeong gavin-jeong force-pushed the update_to_1_36_5_with_various_patch branch from 2ee0b68 to 630ae36 Compare January 16, 2026 05:31
Add TLS certificate compression with brotli, zstd, and zlib algorithms.
This reduces TLS handshake size, especially beneficial for QUIC where
the ServerHello needs to fit in the initial response.

Key changes:
- Move cert_compression from quic/ to tls/ for shared use
- Add brotli and zstd algorithms alongside existing zlib
- Add compression stats: ssl.certificate_compression.<algo>.*
- Add runtime flag (default: disabled) for safe rollout
- Fix SSL_CTX app_data crash risk for QUIC by using SSL_CTX_get_ex_new_index()

Runtime guard: envoy.reloadable_features.tls_support_certificate_compression

Cherry-picked from upstream PR envoyproxy#42690 (not yet merged).
@gavin-jeong gavin-jeong force-pushed the update_to_1_36_5_with_various_patch branch from 630ae36 to 8b6a107 Compare January 16, 2026 05:59
The HostImpl constructor expects a const reference, not a shared_ptr.
@gavin-jeong gavin-jeong merged commit 0711a41 into update_to_1_36_5 Feb 11, 2026
1 check passed
@gavin-jeong gavin-jeong deleted the update_to_1_36_5_with_various_patch branch February 11, 2026 06:38
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.

2 participants