summaryrefslogtreecommitdiffstats
path: root/configserver
diff options
context:
space:
mode:
authorHarald Musum <musum@oath.com>2018-02-08 12:30:11 +0100
committerHarald Musum <musum@oath.com>2018-02-08 12:30:11 +0100
commit77c697d92b0091b1d0ed5d1b990766e82d4c98a0 (patch)
treee7c4241b4b2a1a527027ce46b1dd3b17ee12ab58 /configserver
parente22eb4aeb1a771b98f3be1d1c15d999847cf4e4f (diff)
Remove calls to legcay code for file distribution
Diffstat (limited to 'configserver')
-rw-r--r--configserver/src/main/java/com/yahoo/vespa/config/server/filedistribution/CombinedLegacyRegistry.java38
-rw-r--r--configserver/src/main/java/com/yahoo/vespa/config/server/filedistribution/FileDBHandler.java46
-rw-r--r--configserver/src/main/java/com/yahoo/vespa/config/server/filedistribution/FileDistributionImpl.java (renamed from configserver/src/main/java/com/yahoo/vespa/config/server/filedistribution/CombinedLegacyDistribution.java)19
-rw-r--r--configserver/src/main/java/com/yahoo/vespa/config/server/filedistribution/FileDistributionProvider.java44
-rw-r--r--configserver/src/main/java/com/yahoo/vespa/config/server/modelfactory/PreparedModelsBuilder.java5
-rw-r--r--configserver/src/main/java/com/yahoo/vespa/config/server/session/FileDistributionFactory.java21
-rw-r--r--configserver/src/test/java/com/yahoo/vespa/config/server/TestComponentRegistry.java2
-rw-r--r--configserver/src/test/java/com/yahoo/vespa/config/server/session/MockFileDistributionFactory.java14
8 files changed, 15 insertions, 174 deletions
diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/filedistribution/CombinedLegacyRegistry.java b/configserver/src/main/java/com/yahoo/vespa/config/server/filedistribution/CombinedLegacyRegistry.java
deleted file mode 100644
index 1fe72e27461..00000000000
--- a/configserver/src/main/java/com/yahoo/vespa/config/server/filedistribution/CombinedLegacyRegistry.java
+++ /dev/null
@@ -1,38 +0,0 @@
-// Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
-package com.yahoo.vespa.config.server.filedistribution;
-
-import com.yahoo.config.FileReference;
-import com.yahoo.config.application.api.FileRegistry;
-
-import java.util.List;
-
-public class CombinedLegacyRegistry implements FileRegistry {
- private final FileDBRegistry legacy;
- private final FileDBRegistry future;
-
- CombinedLegacyRegistry(FileDBRegistry legacy, FileDBRegistry future) {
- this.legacy = legacy;
- this.future = future;
- }
- @Override
- public FileReference addFile(String relativePath) {
- FileReference reference = legacy.addFile(relativePath);
- return future.addFile(relativePath, reference);
- }
-
- @Override
- public FileReference addUri(String uri) {
- FileReference reference = future.addUri(uri);
- return reference;
- }
-
- @Override
- public String fileSourceHost() {
- return future.fileSourceHost();
- }
-
- @Override
- public List<Entry> export() {
- return future.export();
- }
-}
diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/filedistribution/FileDBHandler.java b/configserver/src/main/java/com/yahoo/vespa/config/server/filedistribution/FileDBHandler.java
deleted file mode 100644
index 8a0125ce33c..00000000000
--- a/configserver/src/main/java/com/yahoo/vespa/config/server/filedistribution/FileDBHandler.java
+++ /dev/null
@@ -1,46 +0,0 @@
-// Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
-package com.yahoo.vespa.config.server.filedistribution;
-
-import com.yahoo.config.FileReference;
-import com.yahoo.config.model.api.FileDistribution;
-import com.yahoo.vespa.filedistribution.FileDistributionManager;
-
-import java.util.*;
-
-/**
- * Implements invoker of filedistribution using manager with JNI.
- *
- * @author Tony Vaagenes
- * @author Ulf Lilleengen
- */
-public class FileDBHandler implements FileDistribution {
- private final FileDistributionManager manager;
-
- public FileDBHandler(FileDistributionManager manager) {
- this.manager = manager;
- }
-
- @Override
- public void sendDeployedFiles(String hostName, Set<FileReference> fileReferences) {
- List<String> referencesAsString = new ArrayList<>();
- for (FileReference reference : fileReferences) {
- referencesAsString.add(reference.value());
- }
- manager.setDeployedFiles(hostName, referencesAsString);
- }
-
- @Override
- public void startDownload(String hostName, int port, Set<FileReference> fileReferences) {
- throw new UnsupportedOperationException("Not valid for this Filedistribution implementation");
- }
-
- @Override
- public void removeDeploymentsThatHaveDifferentApplicationId(Collection<String> targetHostnames) {
- manager.removeDeploymentsThatHaveDifferentApplicationId(targetHostnames);
- }
-
- @Override
- public void reloadDeployFileDistributor() {
- manager.reloadDeployFileDistributor();
- }
-}
diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/filedistribution/CombinedLegacyDistribution.java b/configserver/src/main/java/com/yahoo/vespa/config/server/filedistribution/FileDistributionImpl.java
index 571f70c848f..b7567769afd 100644
--- a/configserver/src/main/java/com/yahoo/vespa/config/server/filedistribution/CombinedLegacyDistribution.java
+++ b/configserver/src/main/java/com/yahoo/vespa/config/server/filedistribution/FileDistributionImpl.java
@@ -18,38 +18,33 @@ import java.util.logging.Logger;
/**
* @author baldersheim
*/
-public class CombinedLegacyDistribution implements FileDistribution {
- private final static Logger log = Logger.getLogger(CombinedLegacyDistribution.class.getName());
+public class FileDistributionImpl implements FileDistribution {
+ private final static Logger log = Logger.getLogger(FileDistributionImpl.class.getName());
private final Supervisor supervisor;
- private final FileDistribution legacy;
- private final boolean disableFileDistributor;
- CombinedLegacyDistribution(Supervisor supervisor, FileDBHandler legacy, boolean disableFileDistributor) {
+ FileDistributionImpl(Supervisor supervisor) {
this.supervisor = supervisor;
- this.legacy = legacy;
- this.disableFileDistributor = disableFileDistributor;
}
@Override
public void sendDeployedFiles(String hostName, Set<FileReference> fileReferences) {
- legacy.sendDeployedFiles(hostName, fileReferences);
+ // Nothing do do, legacy handler not in use anymore
}
@Override
public void startDownload(String hostName, int port, Set<FileReference> fileReferences) {
- if (disableFileDistributor)
- startDownloadingFileReferences(hostName, port, fileReferences);
+ startDownloadingFileReferences(hostName, port, fileReferences);
}
@Override
public void reloadDeployFileDistributor() {
- legacy.reloadDeployFileDistributor();
+ // Nothing do do, legacy handler not in use anymore
}
@Override
public void removeDeploymentsThatHaveDifferentApplicationId(Collection<String> targetHostnames) {
- legacy.removeDeploymentsThatHaveDifferentApplicationId(targetHostnames);
+ // Nothing do do, legacy handler not in use anymore
}
// Notifies config proxy which file references it should start downloading. It's OK if the call does not succeed,
diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/filedistribution/FileDistributionProvider.java b/configserver/src/main/java/com/yahoo/vespa/config/server/filedistribution/FileDistributionProvider.java
index 117bf3e236b..9cbc842d8c2 100644
--- a/configserver/src/main/java/com/yahoo/vespa/config/server/filedistribution/FileDistributionProvider.java
+++ b/configserver/src/main/java/com/yahoo/vespa/config/server/filedistribution/FileDistributionProvider.java
@@ -1,14 +1,11 @@
// Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
package com.yahoo.vespa.config.server.filedistribution;
-import com.yahoo.config.FileReference;
import com.yahoo.config.model.api.FileDistribution;
import com.yahoo.config.application.api.FileRegistry;
import com.yahoo.jrt.Supervisor;
-import com.yahoo.vespa.filedistribution.FileDistributionManager;
import java.io.File;
-import java.util.concurrent.locks.Lock;
/**
* Provides file distribution registry and invoker.
@@ -20,45 +17,10 @@ public class FileDistributionProvider {
private final FileRegistry fileRegistry;
private final FileDistribution fileDistribution;
- static private class ManagerWrapper implements AddFileInterface {
-
- private final FileDistributionManager manager;
- ManagerWrapper(FileDistributionManager manager) {
- this.manager = manager;
- }
-
- @Override
- public FileReference addUri(String uri, String relativePath) {
- throw new IllegalStateException("addUri is not possible with legacy filedistribution.");
- }
-
- @Override
- public FileReference addUri(String uri, String relativePath, FileReference reference) {
- throw new IllegalStateException("addUri is not possible with legacy filedistribution.");
- }
-
- @Override
- public FileReference addFile(String relativePath) {
- return new FileReference(manager.addFile(relativePath));
- }
-
- @Override
- public FileReference addFile(String relativePath, FileReference reference) {
- throw new IllegalStateException("addFile with external reference is not possible with legacy filedistribution.");
- }
- }
-
- public FileDistributionProvider(Supervisor supervisor, File applicationDir, String zooKeepersSpec,
- String applicationId, Lock fileDistributionLock,
- boolean disableFileDistributor) {
+ public FileDistributionProvider(Supervisor supervisor, File applicationDir) {
ensureDirExists(FileDistribution.getDefaultFileDBPath());
- final FileDistributionManager manager = new FileDistributionManager(
- FileDistribution.getDefaultFileDBPath(), applicationDir,
- zooKeepersSpec, applicationId, fileDistributionLock);
- this.fileDistribution = new CombinedLegacyDistribution(supervisor, new FileDBHandler(manager), disableFileDistributor);
- this.fileRegistry = new CombinedLegacyRegistry(new FileDBRegistry(new ManagerWrapper(manager)),
- new FileDBRegistry(new ApplicationFileManager(applicationDir, new FileDirectory())));
-
+ this.fileDistribution = new FileDistributionImpl(supervisor);
+ this.fileRegistry = new FileDBRegistry(new ApplicationFileManager(applicationDir, new FileDirectory()));
}
// For testing only
diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/modelfactory/PreparedModelsBuilder.java b/configserver/src/main/java/com/yahoo/vespa/config/server/modelfactory/PreparedModelsBuilder.java
index b3ade24603c..c265e0f6c2e 100644
--- a/configserver/src/main/java/com/yahoo/vespa/config/server/modelfactory/PreparedModelsBuilder.java
+++ b/configserver/src/main/java/com/yahoo/vespa/config/server/modelfactory/PreparedModelsBuilder.java
@@ -86,10 +86,7 @@ public class PreparedModelsBuilder extends ModelsBuilder<PreparedModelsBuilder.P
Instant now) {
Version modelVersion = modelFactory.getVersion();
log.log(LogLevel.DEBUG, "Building model " + modelVersion + " for " + applicationId);
- FileDistributionProvider fileDistributionProvider = fileDistributionFactory.createProvider(
- context.getServerDBSessionDir(),
- applicationId,
- properties.disableFileDistributor());
+ FileDistributionProvider fileDistributionProvider = fileDistributionFactory.createProvider(context.getServerDBSessionDir());
// Use empty on non-hosted systems, use already allocated hosts if available, create connection to a host provisioner otherwise
Optional<HostProvisioner> hostProvisioner = createHostProvisioner(allocatedHosts);
diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/session/FileDistributionFactory.java b/configserver/src/main/java/com/yahoo/vespa/config/server/session/FileDistributionFactory.java
index 02c854f4130..12cc76afc6b 100644
--- a/configserver/src/main/java/com/yahoo/vespa/config/server/session/FileDistributionFactory.java
+++ b/configserver/src/main/java/com/yahoo/vespa/config/server/session/FileDistributionFactory.java
@@ -1,16 +1,12 @@
// Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
package com.yahoo.vespa.config.server.session;
-import com.google.inject.Inject;
import com.yahoo.config.provision.ApplicationId;
import com.yahoo.jrt.Supervisor;
import com.yahoo.jrt.Transport;
-import com.yahoo.vespa.config.server.filedistribution.FileDistributionLock;
import com.yahoo.vespa.config.server.filedistribution.FileDistributionProvider;
-import com.yahoo.vespa.curator.Curator;
import java.io.File;
-import java.util.concurrent.locks.Lock;
/**
* Factory for creating providers that are used to interact with file distribution.
@@ -20,23 +16,10 @@ import java.util.concurrent.locks.Lock;
@SuppressWarnings("WeakerAccess")
public class FileDistributionFactory {
- private static final String lockPath = "/vespa/filedistribution/lock";
- private final String zkSpec;
- private final Lock lock;
private final Supervisor supervisor = new Supervisor(new Transport());
- @Inject
- public FileDistributionFactory(Curator curator) {
- this(curator, curator.zooKeeperEnsembleConnectionSpec());
- }
-
- public FileDistributionFactory(Curator curator, String zkSpec) {
- this.lock = new FileDistributionLock(curator, lockPath);
- this.zkSpec = zkSpec;
- }
-
- public FileDistributionProvider createProvider(File applicationPackage, ApplicationId applicationId, boolean disableFileDistributor) {
- return new FileDistributionProvider(supervisor, applicationPackage, zkSpec, applicationId.serializedForm(), lock, disableFileDistributor);
+ public FileDistributionProvider createProvider(File applicationPackage) {
+ return new FileDistributionProvider(supervisor, applicationPackage);
}
@Override
diff --git a/configserver/src/test/java/com/yahoo/vespa/config/server/TestComponentRegistry.java b/configserver/src/test/java/com/yahoo/vespa/config/server/TestComponentRegistry.java
index faf310f9106..3b56b5b35bf 100644
--- a/configserver/src/test/java/com/yahoo/vespa/config/server/TestComponentRegistry.java
+++ b/configserver/src/test/java/com/yahoo/vespa/config/server/TestComponentRegistry.java
@@ -147,7 +147,7 @@ public class TestComponentRegistry implements GlobalComponentRegistry {
final PermanentApplicationPackage permApp = this.permanentApplicationPackage
.orElse(new PermanentApplicationPackage(configserverConfig));
FileDistributionFactory fileDistributionFactory = this.fileDistributionFactory
- .orElse(new MockFileDistributionFactory(curator));
+ .orElse(new MockFileDistributionFactory());
HostProvisionerProvider hostProvisionerProvider = hostProvisioner.isPresent() ?
HostProvisionerProvider.withProvisioner(hostProvisioner.get()) :
HostProvisionerProvider.empty();
diff --git a/configserver/src/test/java/com/yahoo/vespa/config/server/session/MockFileDistributionFactory.java b/configserver/src/test/java/com/yahoo/vespa/config/server/session/MockFileDistributionFactory.java
index d32b3a9e1a6..9d8b7c5cc00 100644
--- a/configserver/src/test/java/com/yahoo/vespa/config/server/session/MockFileDistributionFactory.java
+++ b/configserver/src/test/java/com/yahoo/vespa/config/server/session/MockFileDistributionFactory.java
@@ -1,11 +1,8 @@
// Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
package com.yahoo.vespa.config.server.session;
-import com.yahoo.config.provision.ApplicationId;
import com.yahoo.vespa.config.server.filedistribution.FileDistributionProvider;
import com.yahoo.vespa.config.server.filedistribution.MockFileDistributionProvider;
-import com.yahoo.vespa.curator.Curator;
-import com.yahoo.vespa.curator.mock.MockCurator;
import java.io.File;
@@ -16,17 +13,8 @@ public class MockFileDistributionFactory extends FileDistributionFactory {
public final MockFileDistributionProvider mockFileDistributionProvider = new MockFileDistributionProvider();
- // Prevent instantiation without supplied curator instance
- private MockFileDistributionFactory() {
- super(new MockCurator(), "");
- }
-
- public MockFileDistributionFactory(Curator curator) {
- super(curator, "");
- }
-
@Override
- public FileDistributionProvider createProvider(File applicationFile, ApplicationId applicationId, boolean disableFileDistributor) {
+ public FileDistributionProvider createProvider(File applicationFile) {
return mockFileDistributionProvider;
}
}