aboutsummaryrefslogtreecommitdiffstats
path: root/configserver/src/main/java/com/yahoo/vespa/config/server/application/ApplicationCuratorDatabase.java
diff options
context:
space:
mode:
Diffstat (limited to 'configserver/src/main/java/com/yahoo/vespa/config/server/application/ApplicationCuratorDatabase.java')
-rw-r--r--configserver/src/main/java/com/yahoo/vespa/config/server/application/ApplicationCuratorDatabase.java54
1 files changed, 35 insertions, 19 deletions
diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/application/ApplicationCuratorDatabase.java b/configserver/src/main/java/com/yahoo/vespa/config/server/application/ApplicationCuratorDatabase.java
index 68b1339a0a9..ea563ca6d0d 100644
--- a/configserver/src/main/java/com/yahoo/vespa/config/server/application/ApplicationCuratorDatabase.java
+++ b/configserver/src/main/java/com/yahoo/vespa/config/server/application/ApplicationCuratorDatabase.java
@@ -74,19 +74,31 @@ public class ApplicationCuratorDatabase {
/**
* Creates a node for the given application, marking its existence.
*/
- public void createApplication(ApplicationId id, boolean writeAsJson) {
+ public void createApplication(ApplicationId id) {
if ( ! id.tenant().equals(tenant))
throw new IllegalArgumentException("Cannot write application id '" + id + "' for tenant '" + tenant + "'");
try (Lock lock = lock(id)) {
if (curator.exists(applicationPath(id))) return;
- if (writeAsJson) {
- var applicationData = new ApplicationData(id, OptionalLong.empty(), OptionalLong.empty());
- curator.set(applicationPath(id), applicationData.toJson());
- } else {
- curator.create(applicationPath(id));
- }
+ var applicationData = new ApplicationData(id, OptionalLong.empty(), OptionalLong.empty());
+ curator.set(applicationPath(id), applicationData.toJson());
+ modifyReindexing(id, ApplicationReindexing.empty(), UnaryOperator.identity());
+ }
+ }
+
+ /**
+ * Creates a node for the given application, marking its existence.
+ */
+ // TODO: Remove in Vespa 9
+ public void createApplicationInOldFormat(ApplicationId id) {
+ if (! id.tenant().equals(tenant))
+ throw new IllegalArgumentException("Cannot write application id '" + id + "' for tenant '" + tenant + "'");
+
+ try (Lock lock = lock(id)) {
+ if (curator.exists(applicationPath(id))) return;
+
+ curator.create(applicationPath(id));
modifyReindexing(id, ApplicationReindexing.empty(), UnaryOperator.identity());
}
}
@@ -95,13 +107,23 @@ public class ApplicationCuratorDatabase {
* Returns a transaction which writes the given session id as the currently active for the given application.
*
* @param applicationId An {@link ApplicationId} that represents an active application.
+ * @param sessionId session id belonging to the application package for this application id.
+ */
+ public Transaction createWriteActiveTransaction(Transaction transaction, ApplicationId applicationId, long sessionId) {
+ String path = applicationPath(applicationId).getAbsolute();
+ return transaction.add(setData(path, new ApplicationData(applicationId, OptionalLong.of(sessionId), OptionalLong.of(sessionId)).toJson()));
+ }
+
+ /**
+ * Returns a transaction which writes the given session id as the currently active for the given application.
+ *
+ * @param applicationId An {@link ApplicationId} that represents an active application.
* @param sessionId session id belonging to the application package for this application id.
*/
- public Transaction createWriteActiveTransaction(Transaction transaction, ApplicationId applicationId, long sessionId, boolean writeAsJson) {
+ // TODO: Remove in Vespa 9
+ public Transaction createWriteActiveTransactionInOldFormat(Transaction transaction, ApplicationId applicationId, long sessionId) {
String path = applicationPath(applicationId).getAbsolute();
- return transaction.add(writeAsJson
- ? setData(path, new ApplicationData(applicationId, OptionalLong.of(sessionId), OptionalLong.of(sessionId)).toJson())
- : setData(path, Utf8.toAsciiBytes(sessionId)));
+ return transaction.add(setData(path, Utf8.toAsciiBytes(sessionId)));
}
/**
@@ -113,16 +135,10 @@ public class ApplicationCuratorDatabase {
public Transaction createWritePrepareTransaction(Transaction transaction,
ApplicationId applicationId,
long sessionId,
- OptionalLong activeSessionId,
- boolean writeAsJson) {
-
+ OptionalLong activeSessionId) {
// Needs to read or be supplied current active session id, to avoid overwriting a newer session id.
-
String path = applicationPath(applicationId).getAbsolute();
- if (writeAsJson)
- return transaction.add(setData(path, new ApplicationData(applicationId, activeSessionId, OptionalLong.of(sessionId)).toJson()));
- else
- return transaction; // Do nothing, as there is nothing to write in this case
+ return transaction.add(setData(path, new ApplicationData(applicationId, activeSessionId, OptionalLong.of(sessionId)).toJson()));
}
/**