summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJon Bratseth <bratseth@oath.com>2019-01-13 17:52:25 +0100
committerGitHub <noreply@github.com>2019-01-13 17:52:25 +0100
commit106b565e99d46923581e31a1fb0dfcec4c1a5da5 (patch)
tree6bfe2ca36265bcd642106e77e37e2c0335b565da
parent028fd60d61854d074d2d8e5a4fb8b416abc7a62c (diff)
parent44c89edf64fcae684ab39c42b59fe8b22183f173 (diff)
Merge pull request #8079 from vespa-engine/jvenstad/remove-feature-flag-for-cache-invalidation-strategy
Revert "Add feature flag for cache invalidation method, default old"
-rw-r--r--node-repository/src/main/java/com/yahoo/vespa/hosted/provision/NodeRepository.java4
-rw-r--r--node-repository/src/main/java/com/yahoo/vespa/hosted/provision/flag/FlagId.java5
-rw-r--r--node-repository/src/main/java/com/yahoo/vespa/hosted/provision/persistence/CuratorDatabase.java10
-rw-r--r--node-repository/src/main/java/com/yahoo/vespa/hosted/provision/persistence/CuratorDatabaseClient.java39
-rw-r--r--node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/flags1.json7
-rw-r--r--node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/flags2.json6
6 files changed, 17 insertions, 54 deletions
diff --git a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/NodeRepository.java b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/NodeRepository.java
index 8b66b7f3fea..8710b47b914 100644
--- a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/NodeRepository.java
+++ b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/NodeRepository.java
@@ -81,6 +81,7 @@ public class NodeRepository extends AbstractComponent {
private final NameResolver nameResolver;
private final DockerImage dockerImage;
private final OsVersions osVersions;
+ private final Flags flags;
/**
* Creates a node repository from a zookeeper provider.
@@ -104,6 +105,7 @@ public class NodeRepository extends AbstractComponent {
this.nameResolver = nameResolver;
this.dockerImage = dockerImage;
this.osVersions = new OsVersions(this.db);
+ this.flags = new Flags(this.db);
// read and write all nodes to make sure they are stored in the latest version of the serialized format
for (Node.State state : Node.State.values())
@@ -124,7 +126,7 @@ public class NodeRepository extends AbstractComponent {
/** Returns feature flags of this node repository */
public Flags flags() {
- return db.flags();
+ return flags;
}
// ---------------- Query API ----------------------------------------------------------------
diff --git a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/flag/FlagId.java b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/flag/FlagId.java
index f0714111cea..1b798c14588 100644
--- a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/flag/FlagId.java
+++ b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/flag/FlagId.java
@@ -11,10 +11,7 @@ import java.util.Arrays;
public enum FlagId {
/** Indicates whether a exclusive load balancer should be provisioned */
- exclusiveLoadBalancer("exclusive-load-balancer"),
-
- /** Temporary. Indicates whether to use the new cache generation counting, or the old one (with a known bug) */
- newCacheCounting("new-cache-counting");
+ exclusiveLoadBalancer("exclusive-load-balancer");
private final String serializedValue;
diff --git a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/persistence/CuratorDatabase.java b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/persistence/CuratorDatabase.java
index 8f4788a9206..2715b1131b3 100644
--- a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/persistence/CuratorDatabase.java
+++ b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/persistence/CuratorDatabase.java
@@ -93,16 +93,6 @@ public class CuratorDatabase {
return curatorTransaction;
}
- // TODO jvenstad: remove.
- /** Kept for now to be able to revert to old caching behaviour. */
- CuratorTransaction newEagerCuratorTransactionIn(NestedTransaction transaction) {
- // Add a counting transaction first, to make sure we always invalidate the current state on any transaction commit
- transaction.add(new EagerCountingCuratorTransaction(changeGenerationCounter), CuratorTransaction.class);
- CuratorTransaction curatorTransaction = new CuratorTransaction(curator);
- transaction.add(curatorTransaction);
- return curatorTransaction;
- }
-
/** Creates a path in curator and all its parents as necessary. If the path already exists this does nothing. */
void create(Path path) {
curator.create(path);
diff --git a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/persistence/CuratorDatabaseClient.java b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/persistence/CuratorDatabaseClient.java
index 8e91c0d12ad..da4d2a0afb2 100644
--- a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/persistence/CuratorDatabaseClient.java
+++ b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/persistence/CuratorDatabaseClient.java
@@ -20,7 +20,6 @@ import com.yahoo.vespa.curator.transaction.CuratorTransaction;
import com.yahoo.vespa.hosted.provision.Node;
import com.yahoo.vespa.hosted.provision.flag.Flag;
import com.yahoo.vespa.hosted.provision.flag.FlagId;
-import com.yahoo.vespa.hosted.provision.flag.Flags;
import com.yahoo.vespa.hosted.provision.lb.LoadBalancer;
import com.yahoo.vespa.hosted.provision.lb.LoadBalancerId;
import com.yahoo.vespa.hosted.provision.node.Agent;
@@ -69,17 +68,19 @@ public class CuratorDatabaseClient {
private final CuratorDatabase curatorDatabase;
private final Clock clock;
private final Zone zone;
- private final Flags flags;
public CuratorDatabaseClient(NodeFlavors flavors, Curator curator, Clock clock, Zone zone, boolean useCache) {
this.nodeSerializer = new NodeSerializer(flavors);
this.zone = zone;
- this.flags = new Flags(this);
this.curatorDatabase = new CuratorDatabase(curator, root, useCache);
this.clock = clock;
initZK();
}
+ public List<HostName> cluster() {
+ return curatorDatabase.cluster();
+ }
+
private void initZK() {
curatorDatabase.create(root);
for (Node.State state : Node.State.values())
@@ -91,20 +92,12 @@ public class CuratorDatabaseClient {
curatorDatabase.create(flagsRoot);
}
- public List<HostName> cluster() {
- return curatorDatabase.cluster();
- }
-
- public Flags flags() {
- return flags;
- }
-
/**
* Adds a set of nodes. Rollbacks/fails transaction if any node is not in the expected state.
*/
public List<Node> addNodesInState(List<Node> nodes, Node.State expectedState) {
NestedTransaction transaction = new NestedTransaction();
- CuratorTransaction curatorTransaction = newCuratorTransactionIn(transaction);
+ CuratorTransaction curatorTransaction = curatorDatabase.newCuratorTransactionIn(transaction);
for (Node node : nodes) {
if (node.state() != expectedState)
throw new IllegalArgumentException(node + " is not in the " + node.state() + " state");
@@ -139,7 +132,7 @@ public class CuratorDatabaseClient {
for (Node node : nodes) {
Path path = toPath(node.state(), node.hostname());
- CuratorTransaction curatorTransaction = newCuratorTransactionIn(transaction);
+ CuratorTransaction curatorTransaction = curatorDatabase.newCuratorTransactionIn(transaction);
curatorTransaction.add(CuratorOperations.delete(path.getAbsolute()));
}
@@ -209,7 +202,7 @@ public class CuratorDatabaseClient {
List<Node> writtenNodes = new ArrayList<>(nodes.size());
- CuratorTransaction curatorTransaction = newCuratorTransactionIn(transaction);
+ CuratorTransaction curatorTransaction = curatorDatabase.newCuratorTransactionIn(transaction);
for (Node node : nodes) {
Node newNode = new Node(node.id(), node.ipAddresses(), node.ipAddressPool().asSet(), node.hostname(),
node.parentHostname(), node.flavor(),
@@ -377,7 +370,7 @@ public class CuratorDatabaseClient {
public void writeInactiveJobs(Set<String> inactiveJobs) {
NestedTransaction transaction = new NestedTransaction();
- CuratorTransaction curatorTransaction = newCuratorTransactionIn(transaction);
+ CuratorTransaction curatorTransaction = curatorDatabase.newCuratorTransactionIn(transaction);
curatorTransaction.add(CuratorOperations.setData(inactiveJobsPath().getAbsolute(),
stringSetSerializer.toJson(inactiveJobs)));
transaction.commit();
@@ -397,7 +390,7 @@ public class CuratorDatabaseClient {
public void writeInfrastructureVersions(Map<NodeType, Version> infrastructureVersions) {
NestedTransaction transaction = new NestedTransaction();
- CuratorTransaction curatorTransaction = newCuratorTransactionIn(transaction);
+ CuratorTransaction curatorTransaction = curatorDatabase.newCuratorTransactionIn(transaction);
curatorTransaction.add(CuratorOperations.setData(infrastructureVersionsPath().getAbsolute(),
NodeTypeVersionsSerializer.toJson(infrastructureVersions)));
transaction.commit();
@@ -417,7 +410,7 @@ public class CuratorDatabaseClient {
public void writeOsVersions(Map<NodeType, Version> versions) {
NestedTransaction transaction = new NestedTransaction();
- CuratorTransaction curatorTransaction = newCuratorTransactionIn(transaction);
+ CuratorTransaction curatorTransaction = curatorDatabase.newCuratorTransactionIn(transaction);
curatorTransaction.add(CuratorOperations.setData(osVersionsPath().getAbsolute(),
NodeTypeVersionsSerializer.toJson(versions)));
transaction.commit();
@@ -458,7 +451,7 @@ public class CuratorDatabaseClient {
}
public void writeLoadBalancers(Collection<LoadBalancer> loadBalancers, NestedTransaction transaction) {
- CuratorTransaction curatorTransaction = newCuratorTransactionIn(transaction);
+ CuratorTransaction curatorTransaction = curatorDatabase.newCuratorTransactionIn(transaction);
loadBalancers.forEach(loadBalancer -> {
curatorTransaction.add(createOrSet(loadBalancerPath(loadBalancer.id()),
LoadBalancerSerializer.toJson(loadBalancer)));
@@ -467,7 +460,7 @@ public class CuratorDatabaseClient {
public void removeLoadBalancer(LoadBalancerId loadBalancer) {
NestedTransaction transaction = new NestedTransaction();
- CuratorTransaction curatorTransaction = newCuratorTransactionIn(transaction);
+ CuratorTransaction curatorTransaction = curatorDatabase.newCuratorTransactionIn(transaction);
curatorTransaction.add(CuratorOperations.delete(loadBalancerPath(loadBalancer).getAbsolute()));
transaction.commit();
}
@@ -483,7 +476,7 @@ public class CuratorDatabaseClient {
public void writeFlag(Flag flag) {
Path path = flagPath(flag.id());
NestedTransaction transaction = new NestedTransaction();
- CuratorTransaction curatorTransaction = newCuratorTransactionIn(transaction);
+ CuratorTransaction curatorTransaction = curatorDatabase.newCuratorTransactionIn(transaction);
curatorTransaction.add(createOrSet(path, FlagSerializer.toJson(flag)));
transaction.commit();
}
@@ -507,10 +500,4 @@ public class CuratorDatabaseClient {
return CuratorOperations.create(path.getAbsolute(), data);
}
- private CuratorTransaction newCuratorTransactionIn(NestedTransaction transaction) {
- return flags.get(FlagId.newCacheCounting).isEnabled()
- ? curatorDatabase.newCuratorTransactionIn(transaction)
- : curatorDatabase.newEagerCuratorTransactionIn(transaction);
- }
-
}
diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/flags1.json b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/flags1.json
index 33bf1e1cf42..a606777e9fd 100644
--- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/flags1.json
+++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/flags1.json
@@ -5,13 +5,6 @@
"enabled": false,
"enabledHostnames": [],
"enabledApplications": ["zoneapp:zoneapp:zoneapp"]
- },
- {
- "id": "new-cache-counting",
- "enabled": false,
- "enabledHostnames": [],
- "enabledApplications": []
}
-
]
}
diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/flags2.json b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/flags2.json
index 8d6859f550a..4baf75f2169 100644
--- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/flags2.json
+++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/flags2.json
@@ -10,12 +10,6 @@
"zoneapp:zoneapp:zoneapp",
"foo:bar:default"
]
- },
- {
- "id": "new-cache-counting",
- "enabled": false,
- "enabledHostnames": [],
- "enabledApplications": []
}
]
}