diff options
author | Jon Bratseth <jonbratseth@yahoo.com> | 2017-11-08 13:04:27 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-11-08 13:04:27 +0100 |
commit | f89408d83451f4c2ab73ae366ce2f7344a1a33e8 (patch) | |
tree | 8b28b2c761746b2563599c0b13a1eca45e1327e1 | |
parent | 06a1a2782db4575e9555f0342faf0527a983990d (diff) | |
parent | e5d696ce6d64a39465323649da4443645b25b7cb (diff) |
Merge pull request #4035 from vespa-engine/hmusum/use-constructor-for-tests
Use Tenant test constructor in tests and make sure it creates system tenants
-rw-r--r-- | configserver/src/main/java/com/yahoo/vespa/config/server/tenant/Tenants.java | 12 | ||||
-rw-r--r-- | configserver/src/test/java/com/yahoo/vespa/config/server/deploy/DeployTester.java | 2 |
2 files changed, 10 insertions, 4 deletions
diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/tenant/Tenants.java b/configserver/src/main/java/com/yahoo/vespa/config/server/tenant/Tenants.java index 60200e34cdf..866d1563e3f 100644 --- a/configserver/src/main/java/com/yahoo/vespa/config/server/tenant/Tenants.java +++ b/configserver/src/main/java/com/yahoo/vespa/config/server/tenant/Tenants.java @@ -108,6 +108,8 @@ public class Tenants implements ConnectionStateListener, PathChildrenCacheListen metricUpdater = metrics.getOrCreateMetricUpdater(Collections.emptyMap()); this.tenantListeners.add(globalComponentRegistry.getTenantListener()); curator.create(tenantsPath); + createSystemTenants(globalComponentRegistry.getConfigserverConfig()); + createTenants(); this.directoryCache = curator.createDirectoryCache(tenantsPath.getAbsolute(), false, false, pathChildrenExecutor); this.tenants.putAll(addTenants(tenants)); } @@ -147,7 +149,7 @@ public class Tenants implements ConnectionStateListener, PathChildrenCacheListen return tenants; } - synchronized void createTenants() throws Exception { + synchronized void createTenants() { Set<TenantName> allTenants = readTenantsFromZooKeeper(); log.log(LogLevel.DEBUG, "Create tenants, tenants found in zookeeper: " + allTenants); checkForRemovedTenants(allTenants); @@ -167,7 +169,7 @@ public class Tenants implements ConnectionStateListener, PathChildrenCacheListen } } - private void checkForAddedTenants(Set<TenantName> newTenants) throws Exception { + private void checkForAddedTenants(Set<TenantName> newTenants) { ExecutorService executor = Executors.newFixedThreadPool(globalComponentRegistry.getConfigserverConfig().numParallelTenantLoaders()); for (TenantName tenantName : newTenants) { // Note: the http handler will check if the tenant exists, and throw accordingly @@ -178,7 +180,11 @@ public class Tenants implements ConnectionStateListener, PathChildrenCacheListen } } executor.shutdown(); - executor.awaitTermination(365, TimeUnit.DAYS); // Timeout should never happen + try { + executor.awaitTermination(365, TimeUnit.DAYS); // Timeout should never happen + } catch (InterruptedException e) { + throw new RuntimeException("Executor for creating tenants did not terminate within timeout"); + } } private void createTenant(TenantName tenantName) { diff --git a/configserver/src/test/java/com/yahoo/vespa/config/server/deploy/DeployTester.java b/configserver/src/test/java/com/yahoo/vespa/config/server/deploy/DeployTester.java index 64932700173..43fd8a92189 100644 --- a/configserver/src/test/java/com/yahoo/vespa/config/server/deploy/DeployTester.java +++ b/configserver/src/test/java/com/yahoo/vespa/config/server/deploy/DeployTester.java @@ -103,7 +103,7 @@ public class DeployTester { configserverConfig, clock); try { this.testApp = new File(appPath); - this.tenants = new Tenants(componentRegistry, metrics); + this.tenants = new Tenants(componentRegistry, metrics, Collections.emptySet()); } catch (Exception e) { throw new IllegalArgumentException(e); |