This reverts commit 0c0e19b343.
During stress test for SVM controller, the controller is unable to
make a list call due to following error:
resourceversion.go:155: I0716 21:49:26.973127] storage-version-migrator-controller: Error syncing SVM resource, retrying svm="crdsvm" err="error getting latest resourceVersion for stable.example.com/v1, Resource=testcrds: Timeout: Too large resource version: 28976, current: 20349"
With the feature disabled, the stress test passes.
Signed-off-by: Monis Khan <mok@microsoft.com>
This change make api-server not omity the field `item` of
ValidatingAdmissionPolicyList when ValidatingAdmissionPolicy is empty.
So kubetl will print ValidatingAdmissionPolicyList correctly when ValidatingAdmissionPolicy is empty.
Signed-off-by: xyz-li <hui0787411@163.com>
KEP-3619: don't capitalize comment in K8S API
KEP-3619: fix typos and grammatical ones in K8s API
KEP-3619: rephrase NodeFeatures, NodeHandlerFeatures in K8s API
Introduce Windows section for internal configuration of kube-proxy
adhering to the v1alpha2 version specifications as detailed in
https://kep.k8s.io/784. This also introduces WindowsRunAsService
to v1alpha1 configuration.
Signed-off-by: Daman Arora <aroradaman@gmail.com>
When CBOR marshaling or unmarshaling a type that implements any of TextMarshaler, TextUnmarshaler,
json.Marshaler, or json.Unmarshaler, without also implementing the corresponding CBOR interface, the
proposed behavior is to automatically use the available interface method by transcoding between CBOR
and JSON or text. As a safety measure, values of these types will be rejected by the CBOR serializer
until that is implemented.
The value of FieldsV1 is dependent upon its serialization. All existent FieldsV1 usage can safely
assume either JSON null or a JSON object. This is notably different from RawExtension, which might
hold arbitrary bytes.
To retain backwards compatibility for existing programs, FieldsV1 values decoded from CBOR will be
automatically transcoded to JSON. This will follow the same opt-out and migration plan as
RawExtension.
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.