[ 
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)

Reply via email to