Skip to content

Commit c2829e0

Browse files
authored
Fix PipelineReconciler namespace (#130)
* Fix PipelineReconciler namespace * Fix various checkstyle complaints
1 parent 93542d4 commit c2829e0

File tree

8 files changed

+14
-19
lines changed

8 files changed

+14
-19
lines changed

hoptimator-jdbc/src/main/java/com/linkedin/hoptimator/jdbc/CompatibilityValidatorBase.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ abstract class CompatibilityValidatorBase implements Validator {
1212

1313
private final SchemaPlus schema;
1414

15-
public CompatibilityValidatorBase(SchemaPlus schema) {
15+
CompatibilityValidatorBase(SchemaPlus schema) {
1616
this.schema = schema;
1717
}
1818

hoptimator-jdbc/src/main/java/com/linkedin/hoptimator/jdbc/HoptimatorDdlExecutor.java

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,6 @@
2020
package com.linkedin.hoptimator.jdbc;
2121

2222
import java.io.Reader;
23-
import java.sql.SQLException;
2423
import java.util.ArrayList;
2524
import java.util.Arrays;
2625
import java.util.Collections;
@@ -47,7 +46,6 @@
4746
import org.apache.calcite.sql.SqlNode;
4847
import org.apache.calcite.sql.SqlNodeList;
4948
import org.apache.calcite.sql.SqlSelect;
50-
import org.apache.calcite.sql.SqlUtil;
5149
import org.apache.calcite.sql.ddl.SqlCreateMaterializedView;
5250
import org.apache.calcite.sql.ddl.SqlCreateView;
5351
import org.apache.calcite.sql.ddl.SqlDropObject;
@@ -69,8 +67,6 @@
6967
import com.linkedin.hoptimator.util.DeploymentService;
7068
import com.linkedin.hoptimator.util.planner.PipelineRel;
7169

72-
import static org.apache.calcite.util.Static.RESOURCE;
73-
7470

7571
public final class HoptimatorDdlExecutor extends ServerDdlExecutor {
7672

@@ -135,7 +131,7 @@ public void execute(SqlCreateView create, CalcitePrepare.Context context) {
135131
schemaPlus.add(viewName, viewTable);
136132
} catch (Exception e) {
137133
throw new DdlException(create, e.getMessage(), e);
138-
}
134+
}
139135
}
140136

141137
// N.B. copy-pasted from Apache Calcite

hoptimator-jdbc/src/main/java/com/linkedin/hoptimator/jdbc/HoptimatorDriver.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -131,7 +131,7 @@ public Connection connect(String url, Properties props) throws SQLException {
131131
}
132132
}
133133
return hoptimatorConnection;
134-
} catch (IOException|SQLTransientException e) {
134+
} catch (IOException | SQLTransientException e) {
135135
throw new SQLTransientConnectionException("Problem loading " + url, e);
136136
} catch (Exception e) {
137137
throw new SQLNonTransientException("Problem loading " + url, e);

hoptimator-k8s/src/main/java/com/linkedin/hoptimator/k8s/K8sContext.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ public class K8sContext {
4343

4444
private final String namespace;
4545
private final String clientInfo;
46-
private ApiClient apiClient;
46+
private final ApiClient apiClient;
4747
private final SharedInformerFactory informerFactory;
4848
private final V1OwnerReference ownerReference;
4949
private final Map<String, String> labels;

hoptimator-k8s/src/main/java/com/linkedin/hoptimator/k8s/K8sUtils.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,16 @@
11
package com.linkedin.hoptimator.k8s;
22

33
import java.sql.SQLException;
4-
import java.sql.SQLTransientException;
54
import java.sql.SQLNonTransientException;
5+
import java.sql.SQLTransientException;
66
import java.util.Collection;
77
import java.util.Locale;
88
import java.util.stream.Collectors;
99
import java.util.stream.Stream;
1010

1111
import io.kubernetes.client.common.KubernetesType;
12-
import io.kubernetes.client.util.generic.KubernetesApiResponse;
1312
import io.kubernetes.client.openapi.ApiException;
13+
import io.kubernetes.client.util.generic.KubernetesApiResponse;
1414

1515
import com.linkedin.hoptimator.Sink;
1616
import com.linkedin.hoptimator.Source;

hoptimator-k8s/src/main/java/com/linkedin/hoptimator/k8s/K8sYamlApi.java

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,13 @@
11
package com.linkedin.hoptimator.k8s;
22

33
import java.sql.SQLException;
4-
import java.sql.SQLNonTransientException;
5-
import java.sql.SQLTransientException;
64
import java.util.Collection;
75
import java.util.HashMap;
86
import java.util.Map;
97

108
import org.slf4j.Logger;
119
import org.slf4j.LoggerFactory;
1210

13-
import io.kubernetes.client.openapi.ApiException;
1411
import io.kubernetes.client.util.generic.KubernetesApiResponse;
1512
import io.kubernetes.client.util.generic.dynamic.DynamicKubernetesObject;
1613
import io.kubernetes.client.util.generic.dynamic.Dynamics;

hoptimator-operator/src/main/java/com/linkedin/hoptimator/operator/pipeline/PipelineReconciler.java

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ public Result reconcile(Request request) {
6565
boolean ready = Arrays.asList(object.getSpec().getYaml().split("\n---\n"))
6666
.stream()
6767
.filter(x -> x != null && !x.isEmpty())
68-
.allMatch(x -> isReady(x));
68+
.allMatch(x -> isReady(x, namespace));
6969

7070
if (ready) {
7171
status.setReady(true);
@@ -115,15 +115,17 @@ public static Controller controller(K8sContext context) {
115115
.build();
116116
}
117117

118-
private boolean isReady(String yaml) {
118+
private boolean isReady(String yaml, String pipelineNamespace) {
119119
DynamicKubernetesObject obj = Dynamics.newFromYaml(yaml);
120-
String namespace = obj.getMetadata().getNamespace();
121120
String name = obj.getMetadata().getName();
121+
String namespace = obj.getMetadata().getNamespace() == null ? pipelineNamespace : obj.getMetadata().getNamespace();
122122
String kind = obj.getKind();
123123
try {
124124
KubernetesApiResponse<DynamicKubernetesObject> existing =
125125
context.dynamic(obj.getApiVersion(), K8sUtils.guessPlural(obj)).get(namespace, name);
126-
existing.onFailure((code, status) -> log.warn("Failed to fetch {}/{}: {}.", kind, name, status.getMessage()));
126+
existing.onFailure((code, status) ->
127+
log.warn("Failed to fetch {}/{} in namespace {}: {}.", kind, name, namespace, status.getMessage())
128+
);
127129
if (!existing.isSuccess()) {
128130
return false;
129131
}
@@ -135,6 +137,7 @@ private boolean isReady(String yaml) {
135137
return false;
136138
}
137139
} catch (Exception e) {
140+
log.error("Encountered exception while checking status of {}/{} in namespace {}", kind, name, namespace, e);
138141
return false;
139142
}
140143
}

hoptimator-venice/src/main/java/com/linkedin/hoptimator/venice/VeniceDriver.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@
55
import java.sql.SQLException;
66
import java.sql.SQLNonTransientException;
77
import java.sql.SQLTransientConnectionException;
8-
import java.sql.SQLTransientException;
98
import java.util.Properties;
109
import java.util.concurrent.ExecutionException;
1110

@@ -57,7 +56,7 @@ public Connection connect(String url, Properties props) throws SQLException {
5756
schema.populate();
5857
rootSchema.add(CATALOG_NAME, schema);
5958
return connection;
60-
} catch (IOException|ExecutionException|InterruptedException e) {
59+
} catch (IOException | ExecutionException | InterruptedException e) {
6160
throw new SQLTransientConnectionException("Problem loading " + url, e);
6261
} catch (Exception e) {
6362
throw new SQLNonTransientException("Problem loading " + url, e);

0 commit comments

Comments
 (0)