This is an automated email from the ASF dual-hosted git repository.
abhishek pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/druid.git
The following commit(s) were added to refs/heads/master by this push:
new 4255711b3e6 fix: handle BOOKMARK events in kubernetes pod discovery
(#15819)
4255711b3e6 is described below
commit 4255711b3e67a11d350240a7016c6ac6147544cb
Author: Lasse Mammen <[email protected]>
AuthorDate: Fri Feb 9 13:20:04 2024 +0000
fix: handle BOOKMARK events in kubernetes pod discovery (#15819)
---
.../java/org/apache/druid/k8s/discovery/DefaultK8sApiClient.java | 7 ++++++-
.../src/main/java/org/apache/druid/k8s/discovery/WatchResult.java | 1 +
2 files changed, 7 insertions(+), 1 deletion(-)
diff --git
a/extensions-core/kubernetes-extensions/src/main/java/org/apache/druid/k8s/discovery/DefaultK8sApiClient.java
b/extensions-core/kubernetes-extensions/src/main/java/org/apache/druid/k8s/discovery/DefaultK8sApiClient.java
index ab2c3b20952..00ad6b76abb 100644
---
a/extensions-core/kubernetes-extensions/src/main/java/org/apache/druid/k8s/discovery/DefaultK8sApiClient.java
+++
b/extensions-core/kubernetes-extensions/src/main/java/org/apache/druid/k8s/discovery/DefaultK8sApiClient.java
@@ -131,7 +131,7 @@ public class DefaultK8sApiClient implements K8sApiClient
try {
while (watch.hasNext()) {
Watch.Response<V1Pod> item = watch.next();
- if (item != null && item.type != null) {
+ if (item != null && item.type != null &&
!item.type.equals(WatchResult.BOOKMARK)) {
DiscoveryDruidNodeAndResourceVersion result = null;
if (item.object != null) {
result = new DiscoveryDruidNodeAndResourceVersion(
@@ -150,6 +150,11 @@ public class DefaultK8sApiClient implements K8sApiClient
result
);
return true;
+ } else if (item != null && item.type != null &&
item.type.equals(WatchResult.BOOKMARK)) {
+ // Events with type BOOKMARK will only contain resourceVersion
and no metadata. See
+ // Kubernetes API documentation for details.
+ LOGGER.debug("BOOKMARK event fired, no nothing, only update
resourceVersion");
+ return true;
} else {
LOGGER.error("WTH! item or item.type is NULL");
}
diff --git
a/extensions-core/kubernetes-extensions/src/main/java/org/apache/druid/k8s/discovery/WatchResult.java
b/extensions-core/kubernetes-extensions/src/main/java/org/apache/druid/k8s/discovery/WatchResult.java
index 5f9e4178eb1..f47b1375732 100644
---
a/extensions-core/kubernetes-extensions/src/main/java/org/apache/druid/k8s/discovery/WatchResult.java
+++
b/extensions-core/kubernetes-extensions/src/main/java/org/apache/druid/k8s/discovery/WatchResult.java
@@ -27,6 +27,7 @@ public interface WatchResult
{
String ADDED = "ADDED";
String DELETED = "DELETED";
+ String BOOKMARK = "BOOKMARK";
boolean hasNext() throws SocketTimeoutException;
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]