[
https://issues.apache.org/jira/browse/FLINK-34333?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17813199#comment-17813199
]
Matthias Pohl edited comment on FLINK-34333 at 2/1/24 12:55 PM:
----------------------------------------------------------------
Breaking changes between v6.6.2 and v6.9.2 based on the
{{fabric8io:kubernetes-client}} release notes.
* Icons:
** (x) Change on the Flink side required. This doesn't come with a change of
behavior for the user (because it only affects test code)
** (!) Not used by Flink but might cause issues with projects which rely on
the Flink dependency
** [(/)|https://github.com/fabric8io/kubernetes-client/releases/tag/v6.8.0]
Deprecation work that doesn't remove API, yet.
* (x)
[v6.9.0|https://github.com/fabric8io/kubernetes-client/releases/tag/v6.9.0]
** (x) Fix [#5368|https://github.com/fabric8io/kubernetes-client/issues/5368]:
ListOptions parameter ordering is now alphabetical. If you are using non-crud
mocking for lists with options, you may need to update your parameter order.
*** This issue causes a change in Flink's {{KubernetesClientTestBase}} because
the order in which the GET parameters are processed to match the mocked
requests changed.
** (!) Fix [#5343|https://github.com/fabric8io/kubernetes-client/issues/5343]:
Removed io.fabric8.kubernetes.model.annotation.PrinterColumn, use
io.fabric8.crd.generator.annotation.PrinterColumn
** (!) Fix [#5391|https://github.com/fabric8io/kubernetes-client/issues/5391]:
Removed the vertx-uri-template dependency from the vertx client, if you need
that for your application, then introduce your own dependency.
** [(/)|https://github.com/fabric8io/kubernetes-client/releases/tag/v6.8.0]
Fix [#5220|https://github.com/fabric8io/kubernetes-client/issues/5220]:
KubernetesResourceUtil.isValidLabelOrAnnotation has been deprecated because the
rules for labels and annotations are different
* (!)
[v6.8.0|https://github.com/fabric8io/kubernetes-client/releases/tag/v6.8.0]
** [(/)|https://github.com/fabric8io/kubernetes-client/releases/tag/v6.8.0]
Fix [#2718|https://github.com/fabric8io/kubernetes-client/issues/2718]:
KubernetesResourceUtil.isResourceReady was deprecated. Use
client.resource(item).isReady() or Readiness.getInstance().isReady(item)
instead.
** (!) Fix [#5171|https://github.com/fabric8io/kubernetes-client/issues/5171]:
Removed Camel-K extension, use org.apache.camel.k:camel-k-crds instead.
** (!) Fix [#5262|https://github.com/fabric8io/kubernetes-client/issues/5262]:
Built-in resources were in-consistent with respect to their serialization or
empty collections. In many circumstances this was confusing behavior. In order
to be consistent all built-in resources will omit empty collections by default.
This is a breaking change if you are relying on an empty collection in a json
merge or a strategic merge where the list has a patchStrategy of atomic. In
these circumstances the empty collection will no longer be serialized. You may
instead use a json patch, server side apply instead, or modify the serialized
form of the patch.
** (!) Fix [#5279|https://github.com/fabric8io/kubernetes-client/issues/5279]:
(java-generator) Add native support for date-time fields, they are now mapped
to native java.time.ZonedDateTime
** (!) Fix [#5315|https://github.com/fabric8io/kubernetes-client/issues/5315]:
kubernetes-junit-jupiter no longer registers the NamespaceExtension and
KubernetesExtension extensions to be used in combination with
junit-platform.properties>junit.jupiter.extensions.autodetection.enabled=trueconfiguration.
If you wish to use these extensions and autodetect them, change your
dependency to kubernetes-junit-jupiter-autodetect.
** [(/)|https://github.com/fabric8io/kubernetes-client/releases/tag/v6.8.0]
Deprecating io.fabric8.kubernetes.model.annotation.PrinterColumn in favor of:
io.fabric8.crd.generator.annotation.PrinterColumn
** (!) Resource classes in resource.k8s.io/v1alpha1 have been moved to
resource.k8s.io/v1alpha2 apiGroup in Kubernetes 1.27. Users are required to
change package of the following classes:
*** io.fabric8.kubernetes.api.model.resource.v1alpha1.PodSchedulingContext ->
- io.fabric8.kubernetes.api.model.resource.v1alpha2.PodSchedulingContext
*** io.fabric8.kubernetes.api.model.resource.v1alpha1.ResourceClaim -> -
io.fabric8.kubernetes.api.model.resource.v1alpha2.ResourceClaim
*** io.fabric8.kubernetes.api.model.resource.v1alpha1.ResourceClaimTemplate ->
io.fabric8.kubernetes.api.model.resource.v1alpha2.ResourceClaimTemplate
*** io.fabric8.kubernetes.api.model.resource.v1alpha1.ResourceClass ->
io.fabric8.kubernetes.api.model.resource.v1alpha2.ResourceClass
* (!)
[v6.7.0|https://github.com/fabric8io/kubernetes-client/releases/tag/v6.7.0]
** (!) Fix [#4911|https://github.com/fabric8io/kubernetes-client/issues/4911]:
*** Config/RequestConfig.scaleTimeout has been deprecated along with
Scalable.scale(count, wait) and DeployableScalableResource.deployLatest(wait).
withTimeout may be called before the operation to control the timeout.
*** Config/RequestConfig.websocketTimeout has been removed.
Config/RequestConfig.requestTimeout will be used for websocket connection
timeouts.
*** HttpClient api/building changes - writeTimeout has been removed,
readTimeout has moved to the HttpRequest
** (!) Fix [#4662|https://github.com/fabric8io/kubernetes-client/issues/4662]:
*** removed deprecated classes/methods: ReflectUtils, ReplaceValueStream,
ParameterNamespaceListVisitFromServerGetDeleteRecreateWaitApplicable,
ResourceCompare, and Serialization methods taking parameters
*** deprecated serialization static logic: several IOHelpers methods,
Serialization methods, such as access to the static jsonMapper. Please use
KubernetesSerialization methods instead.
*** deprecated Helper.getAnnotationValue, use HasMetadata methods instead.
** (!) Fix [#5125|https://github.com/fabric8io/kubernetes-client/issues/5125]:
*** support for TLSv1.3 is now enabled by default
*** usage of TlsVersion.TLS_1_1, TLS_1_0, and SSL_3_0 have been deprecated
** (!) Fix [#1335|https://github.com/fabric8io/kubernetes-client/issues/1335]:
The JDK and OkHttp clients will default to using the VM's standard
configuration for proxies if an applicable proxy configuration is not found in
the Kubernetes client Config
was (Author: mapohl):
Breaking changes between v6.6.2 and v6.9.2 based on the
{{fabric8io:kubernetes-client}} release notes
* (x)
[v6.9.0|https://github.com/fabric8io/kubernetes-client/releases/tag/v6.9.0]
** (x) Fix [#5368|https://github.com/fabric8io/kubernetes-client/issues/5368]:
ListOptions parameter ordering is now alphabetical. If you are using non-crud
mocking for lists with options, you may need to update your parameter order.
*** This issue causes a change in Flink's {{KubernetesClientTestBase}} because
the order in which the GET parameters are processed to match the mocked
requests changed.
** (!) Fix [#5343|https://github.com/fabric8io/kubernetes-client/issues/5343]:
Removed io.fabric8.kubernetes.model.annotation.PrinterColumn, use
io.fabric8.crd.generator.annotation.PrinterColumn
** (!) Fix [#5391|https://github.com/fabric8io/kubernetes-client/issues/5391]:
Removed the vertx-uri-template dependency from the vertx client, if you need
that for your application, then introduce your own dependency.
** [(/)|https://github.com/fabric8io/kubernetes-client/releases/tag/v6.8.0]
Fix [#5220|https://github.com/fabric8io/kubernetes-client/issues/5220]:
KubernetesResourceUtil.isValidLabelOrAnnotation has been deprecated because the
rules for labels and annotations are different
* (!)
[v6.8.0|https://github.com/fabric8io/kubernetes-client/releases/tag/v6.8.0]
** [(/)|https://github.com/fabric8io/kubernetes-client/releases/tag/v6.8.0]
Fix [#2718|https://github.com/fabric8io/kubernetes-client/issues/2718]:
KubernetesResourceUtil.isResourceReady was deprecated. Use
client.resource(item).isReady() or Readiness.getInstance().isReady(item)
instead.
** (!) Fix [#5171|https://github.com/fabric8io/kubernetes-client/issues/5171]:
Removed Camel-K extension, use org.apache.camel.k:camel-k-crds instead.
** (!) Fix [#5262|https://github.com/fabric8io/kubernetes-client/issues/5262]:
Built-in resources were in-consistent with respect to their serialization or
empty collections. In many circumstances this was confusing behavior. In order
to be consistent all built-in resources will omit empty collections by default.
This is a breaking change if you are relying on an empty collection in a json
merge or a strategic merge where the list has a patchStrategy of atomic. In
these circumstances the empty collection will no longer be serialized. You may
instead use a json patch, server side apply instead, or modify the serialized
form of the patch.
** (!) Fix [#5279|https://github.com/fabric8io/kubernetes-client/issues/5279]:
(java-generator) Add native support for date-time fields, they are now mapped
to native java.time.ZonedDateTime
** (!) Fix [#5315|https://github.com/fabric8io/kubernetes-client/issues/5315]:
kubernetes-junit-jupiter no longer registers the NamespaceExtension and
KubernetesExtension extensions to be used in combination with
junit-platform.properties>junit.jupiter.extensions.autodetection.enabled=trueconfiguration.
If you wish to use these extensions and autodetect them, change your
dependency to kubernetes-junit-jupiter-autodetect.
** [(/)|https://github.com/fabric8io/kubernetes-client/releases/tag/v6.8.0]
Deprecating io.fabric8.kubernetes.model.annotation.PrinterColumn in favor of:
io.fabric8.crd.generator.annotation.PrinterColumn
** (!) Resource classes in resource.k8s.io/v1alpha1 have been moved to
resource.k8s.io/v1alpha2 apiGroup in Kubernetes 1.27. Users are required to
change package of the following classes:
*** io.fabric8.kubernetes.api.model.resource.v1alpha1.PodSchedulingContext ->
- io.fabric8.kubernetes.api.model.resource.v1alpha2.PodSchedulingContext
*** io.fabric8.kubernetes.api.model.resource.v1alpha1.ResourceClaim -> -
io.fabric8.kubernetes.api.model.resource.v1alpha2.ResourceClaim
*** io.fabric8.kubernetes.api.model.resource.v1alpha1.ResourceClaimTemplate ->
io.fabric8.kubernetes.api.model.resource.v1alpha2.ResourceClaimTemplate
*** io.fabric8.kubernetes.api.model.resource.v1alpha1.ResourceClass ->
io.fabric8.kubernetes.api.model.resource.v1alpha2.ResourceClass
* (!)
[v6.7.0|https://github.com/fabric8io/kubernetes-client/releases/tag/v6.7.0]
** (!) Fix [#4911|https://github.com/fabric8io/kubernetes-client/issues/4911]:
*** Config/RequestConfig.scaleTimeout has been deprecated along with
Scalable.scale(count, wait) and DeployableScalableResource.deployLatest(wait).
withTimeout may be called before the operation to control the timeout.
*** Config/RequestConfig.websocketTimeout has been removed.
Config/RequestConfig.requestTimeout will be used for websocket connection
timeouts.
*** HttpClient api/building changes - writeTimeout has been removed,
readTimeout has moved to the HttpRequest
** (!) Fix [#4662|https://github.com/fabric8io/kubernetes-client/issues/4662]:
*** removed deprecated classes/methods: ReflectUtils, ReplaceValueStream,
ParameterNamespaceListVisitFromServerGetDeleteRecreateWaitApplicable,
ResourceCompare, and Serialization methods taking parameters
*** deprecated serialization static logic: several IOHelpers methods,
Serialization methods, such as access to the static jsonMapper. Please use
KubernetesSerialization methods instead.
*** deprecated Helper.getAnnotationValue, use HasMetadata methods instead.
** (!) Fix [#5125|https://github.com/fabric8io/kubernetes-client/issues/5125]:
*** support for TLSv1.3 is now enabled by default
*** usage of TlsVersion.TLS_1_1, TLS_1_0, and SSL_3_0 have been deprecated
** (!) Fix [#1335|https://github.com/fabric8io/kubernetes-client/issues/1335]:
The JDK and OkHttp clients will default to using the VM's standard
configuration for proxies if an applicable proxy configuration is not found in
the Kubernetes client Config
* (x) Change on the Flink side required. This doesn't come with a change of
behavior for the user (because it only affects test code)
* (!) Not used by Flink but might cause issues with projects which rely on the
Flink dependency
* [(/)|https://github.com/fabric8io/kubernetes-client/releases/tag/v6.8.0]
Deprecation work that doesn't remove API, yet.
> Fix FLINK-34007 LeaderElector bug in 1.18
> -----------------------------------------
>
> Key: FLINK-34333
> URL: https://issues.apache.org/jira/browse/FLINK-34333
> Project: Flink
> Issue Type: Bug
> Components: Runtime / Coordination
> Affects Versions: 1.18.1
> Reporter: Matthias Pohl
> Assignee: Matthias Pohl
> Priority: Blocker
> Labels: pull-request-available
>
> FLINK-34007 revealed a bug in the k8s client v6.6.2 which we're using since
> Flink 1.18. This issue was fixed with FLINK-34007 for Flink 1.19 which
> required an update of the k8s client to v6.9.0.
> This Jira issue is about finding a solution in Flink 1.18 for the very same
> problem FLINK-34007 covered. It's a dedicated Jira issue because we want to
> unblock the release of 1.19 by resolving FLINK-34007.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)