Objects in a sync.Pool are assumed to be fungible. This is not a good assumption for pools
of *bytes.Buffer because a *bytes.Buffer's underlying array grows as needed to accomodate writes. In
Kubernetes, apiservers tend to encode "small" objects very frequently and much larger
objects (especially large lists) only occasionally. Under steady load, pooled buffers tend to be
borrowed frequently enough to prevent them from being released. Over time, each buffer is used to
encode a large object and its capacity increases accordingly. The result is that practically all
buffers in the pool retain much more capacity than needed to encode most objects.
As a basic mitigation for the worst case, buffers with more capacity than the default max request
body size are never returned to the pool.
This update dropped the otelgrpc → cloud.google.com/go/compute dependency,
among others. This dropped out because genproto cleaned up it's dependencies
on google cloud libraries, and otel updated - details in #113366.
Signed-off-by: Davanum Srinivas <davanum@gmail.com>
Co-Authored-By: David Ashpole <dashpole@google.com>
- ensure we add all the staging modules so the _test files in there are "loaded"
- use build tags to skip tests that fail to build in specific os/arch pairs
Signed-off-by: Davanum Srinivas <davanum@gmail.com>
Co-Authored-By: Tim Hockin <thockin@google.com>
Adding the required container runtime interface API so that runtimes and
consumers can start using it.
Signed-off-by: Sascha Grunert <sgrunert@redhat.com>
delete-local-data was deprecated back in v1.20 with this commit:
625e47aaa2
It's about time we entirely drop the support for this flag. Users should
be already using delete-emptydir-data instead.
This commits removes the following flags from kubectl run:
- filename
- force
- grace-period
- kustomize
- recursive
- timeout
- wait
Those flags are deprecated since v1.26, see this commit
09804a198c.
The context can be used for timeout purposes for example, not really for
Kubernetes but other consumers like cri-tools.
Signed-off-by: Sascha Grunert <sgrunert@redhat.com>
Some of the calls to t.Errorf from apitesting/roundtrip use the %#v verb (Go-syntax representation)
for string arguments that are have already been formatted for legibility by something like like
cmp.Diff. Quoting and escaping newlines in these strings makes them harder to read, like this:
> ...
> "(*storage.CSIDriver)({\n TypeMeta: (v1.TypeMeta) {\n Kind: (string) \"\",\n APIVersion: (string)
> \"\"\n },\n ObjectMeta: (v1.ObjectMeta) {\n Name: (string) (len=15) \"犱âM邽[ǎ*ʄ\",\n
> ...
* feat: add func for generating register code
* refactor:remove unused local variable
* fix: make the function name singular
Signed-off-by: Lin Yang <reaver@flomesh.io>
* fix: precisely matching the comment tag for register-gen
Signed-off-by: Lin Yang <reaver@flomesh.io>
---------
Signed-off-by: Lin Yang <reaver@flomesh.io>