Skip to content

[bp/1.26] buffer: separate the BufferFragement release and drain tracker (#28770)#30789

Closed
soulxu wants to merge 1128 commits intoenvoyproxy:release/v1.26from
soulxu:fix_buffer_1.26
Closed

[bp/1.26] buffer: separate the BufferFragement release and drain tracker (#28770)#30789
soulxu wants to merge 1128 commits intoenvoyproxy:release/v1.26from
soulxu:fix_buffer_1.26

Conversation

@soulxu
Copy link
Copy Markdown
Member

@soulxu soulxu commented Nov 9, 2023

Commit Message: [bp/1.26] buffer: separate the BufferFragement release and drain tracker (#28770)
This the backport of #28770

There is a requirement for the user space io handle and iouring io handle to move the write buffer to its own buffer and invoke the drain trackers. But becomes an issue for the BufferFragment, the BufferFragement's releasor is invoked by the drain tracker also. After moving with invoke drain trackers, the memory in the BufferFragment will be released too, which leads to the Buffer reference some memory already released.
Risk Level: high
Testing: unittest
Docs Changes: n/a
Release Notes: n/a
Platform Specific Features: n/a
Fixes #28760
Related to issue: #28395

dependabot bot and others added 30 commits July 17, 2023 09:04
…n /examples/kafka (envoyproxy#28428)

build(deps): bump confluentinc/cp-kafka in /examples/kafka

Bumps confluentinc/cp-kafka from `187dac6` to `d3acff0`.

---
updated-dependencies:
- dependency-name: confluentinc/cp-kafka
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…y#28398)

Bumps [actions/setup-python](https://github.com/actions/setup-python) from 4.6.1 to 4.7.0.
- [Release notes](https://github.com/actions/setup-python/releases)
- [Commits](actions/setup-python@bd6b4b6...61a6322)

---
updated-dependencies:
- dependency-name: actions/setup-python
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Signed-off-by: Ryan Northey <ryan@synca.io>
…ons/pr_notifier (envoyproxy#28433)

build(deps): bump cryptography in /.github/actions/pr_notifier

Bumps [cryptography](https://github.com/pyca/cryptography) from 41.0.0 to 41.0.2.
- [Changelog](https://github.com/pyca/cryptography/blob/main/CHANGELOG.rst)
- [Commits](pyca/cryptography@41.0.0...41.0.2)

---
updated-dependencies:
- dependency-name: cryptography
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Signed-off-by: Ryan Northey <ryan@synca.io>
Signed-off-by: Ryan Northey <ryan@synca.io>
Signed-off-by: Ryan Northey <ryan@synca.io>
…envoyproxy#28434)

Updates the requirements on [envoyproxy/toolshed](https://github.com/envoyproxy/toolshed) to permit the latest version.
- [Release notes](https://github.com/envoyproxy/toolshed/releases)
- [Commits](https://github.com/envoyproxy/toolshed/commits/actions-v0.0.5)

---
updated-dependencies:
- dependency-name: envoyproxy/toolshed
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Signed-off-by: Ryan Northey <ryan@synca.io>
Commit Message: add debug logs in oauth2 proxy
Additional Description: add debug logs in oauth2 proxy to aid in debugging
Risk Level: Low
Testing: N/A
Docs Changes: N/A
Release Notes: N/A
…S,IP}_SAN% (envoyproxy#28255)

Signed-off-by: Vikas Choudhary <choudharyvikas16@gmail.com>
Signed-off-by: Ryan Northey <ryan@synca.io>
Signed-off-by: Ryan Northey <ryan@synca.io>
…` in /examples/shared/jaeger (envoyproxy#28431)

build(deps): bump jaegertracing/all-in-one in /examples/shared/jaeger

Bumps jaegertracing/all-in-one from `f88901c` to `57398ea`.

---
updated-dependencies:
- dependency-name: jaegertracing/all-in-one
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Signed-off-by: yongjie.yyj <yeyeyongjie@gmail.com>
…roxy#28455)

Bumps [pyyaml](https://github.com/yaml/pyyaml) from 6.0 to 6.0.1.
- [Changelog](https://github.com/yaml/pyyaml/blob/6.0.1/CHANGES)
- [Commits](yaml/pyyaml@6.0...6.0.1)

---
updated-dependencies:
- dependency-name: pyyaml
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…/aiohttp (envoyproxy#28457)

build(deps): bump pyyaml in /examples/shared/python/aiohttp

Bumps [pyyaml](https://github.com/yaml/pyyaml) from 6.0 to 6.0.1.
- [Changelog](https://github.com/yaml/pyyaml/blob/6.0.1/CHANGES)
- [Commits](yaml/pyyaml@6.0...6.0.1)

---
updated-dependencies:
- dependency-name: pyyaml
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…envoyproxy#28456)

Updates the requirements on [envoyproxy/toolshed](https://github.com/envoyproxy/toolshed) to permit the latest version.
- [Release notes](https://github.com/envoyproxy/toolshed/releases)
- [Commits](https://github.com/envoyproxy/toolshed/commits/actions-v0.0.7)

---
updated-dependencies:
- dependency-name: envoyproxy/toolshed
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…#28458)

Bumps [pyyaml](https://github.com/yaml/pyyaml) from 6.0 to 6.0.1.
- [Changelog](https://github.com/yaml/pyyaml/blob/6.0.1/CHANGES)
- [Commits](yaml/pyyaml@6.0...6.0.1)

---
updated-dependencies:
- dependency-name: pyyaml
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…5` in /examples/kafka (envoyproxy#28429)

build(deps): bump confluentinc/cp-zookeeper in /examples/kafka

Bumps confluentinc/cp-zookeeper from `90631f2` to `c642265`.

---
updated-dependencies:
- dependency-name: confluentinc/cp-zookeeper
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Signed-off-by: Ryan Northey <ryan@synca.io>
Signed-off-by: Ryan Northey <ryan@synca.io>
Signed-off-by: Yan Avlasov <yavlasov@google.com>
Commit Message: add configuration for disable envoy builtin resource lables
Additional Description:
Risk Level: low
Testing: yes
Docs Changes: no
Release Notes: no
…#28159)

* add switch for setting round trip time to connection info

Signed-off-by: wbpcode <wangbaiping@corp.netease.com>
…28424)

* fix the crash

Signed-off-by: tyxia <tyxia@google.com>
Signed-off-by: Adi Suissa-Peleg <adip@google.com>
phlax and others added 14 commits October 17, 2023 13:42
Signed-off-by: Ryan Northey <ryan@synca.io>
Signed-off-by: Ryan Northey <ryan@synca.io>
Summary of changes:

* Fixed a bug where processing of deferred streams with the value of
  ``http.max_requests_per_io_cycle`` more than 1, can cause a crash.

**Docker images**:
    https://hub.docker.com/r/envoyproxy/envoy/tags?page=1&name=v1.27.2
**Docs**:
    https://www.envoyproxy.io/docs/envoy/v1.27.2/
**Release notes**:
    https://www.envoyproxy.io/docs/envoy/v1.27.2/version_history/v1.27/v1.27.2
**Full changelog**:
    envoyproxy/envoy@v1.27.1...v1.27.2

Signed-off-by: Ryan Northey <ryan@synca.io>
Signed-off-by: Ryan Northey <ryan@synca.io>
…#30204)

Signed-off-by: Keith Mattix II <keithmattix@microsoft.com>
Signed-off-by: Ryan Northey <ryan@synca.io>
* ci fixes/cleanups
* test deflaking
* dep/vuln update (nghttp2)

Signed-off-by: Ryan Northey <ryan@synca.io>
Prevent doConnectionClose to be called recursively when connection with active requests is disconnected due to premature reset check.

Signed-off-by: Yan Avlasov <yavlasov@google.com>
Signed-off-by: Yan Avlasov <yavlasov@google.com>
In grpc async client, if timer expiry handler function gets fired where time to next_expiry is less than 1 sec, a loop gets created where timer gets enabled with 0 secs expiry again and again until 'now' becomes as next_expiry. This causes random cpu spikes. If there is HPA configured on cpu, this will result in scale up and scale down on proxies.

I added some logs while debugging it. Sharing here might help understanding the issue more clearly:
```
AsyncClientManagerImpl::evictEntriesAndResetEvictionTimer
[2023-09-08 10:27:32.640][22][info][grpc] [external/envoy/source/common/grpc/async_client_manager_impl.cc:198] AsyncClientManagerImpl::evictEntriesAndResetEvictionTimer next_expire: 966826645315069, now 966825877367850
[2023-09-08 10:27:32.640][22][info][grpc] [external/envoy/source/common/grpc/async_client_manager_impl.cc:208] AsyncClientManagerImpl::evictEntriesAndResetEvictionTimer enable timer: 0
[2023-09-08 10:27:32.640][22][info][grpc] [external/envoy/source/common/grpc/async_client_manager_impl.cc:193] AsyncClientManagerImpl::evictEntriesAndResetEvictionTimer
[2023-09-08 10:27:32.640][22][info][grpc] [external/envoy/source/common/grpc/async_client_manager_impl.cc:198] AsyncClientManagerImpl::evictEntriesAndResetEvictionTimer next_expire: 966826645315069, now 966825877389741
[2023-09-08 10:27:32.640][22][info][grpc] [external/envoy/source/common/grpc/async_client_manager_impl.cc:208] AsyncClientManagerImpl::evictEntriesAndResetEvictionTimer enable timer: 0
```
When this condition hits, logs get filled because of the loop I mentioned in the beginning.

Fix is simple that in the `if` condition for expiry consider this round off thing as well.

Additional Description:
Risk Level:
Testing:
Docs Changes:
Release Notes:
Platform Specific Features:

Signed-off-by: Vikas Choudhary <choudharyvikas16@gmail.com>

fix tests to match older codebase

Signed-off-by: Vikas Choudhary <choudharyvikas16@gmail.com>

Signed-off-by: Vikas Choudhary (vikasc) <choudharyvikas16@gmail.com>
…roxy#30057)

Commit Message:

At client side, if metadata exchange filter is an upstream filter, received filter state gets stored in the upstream streaminfo. While emitting access logs, streaminfo passed to the extractCommonAccessLogProperties() is the downstream side streaminfo. filter_state_objects_to_log keys must be searched in the usptream streaminfo's filter state as well.

Additional Description:
Risk Level: low
Testing: done
Docs Changes: no
Release Notes: yes

Signed-off-by: Vikas Choudhary <choudharyvikas16@gmail.com>

Signed-off-by: Vikas Choudhary (vikasc) <choudharyvikas16@gmail.com>
Signed-off-by: Keith Mattix II <keithmattix@microsoft.com>
…onto v1.27) (envoyproxy#30750)

Signed-off-by: David Goffredo <david.goffredo@datadoghq.com>
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.