diff options
author | Harald Musum <musum@verizonmedia.com> | 2020-09-02 08:40:25 +0200 |
---|---|---|
committer | Harald Musum <musum@verizonmedia.com> | 2020-09-02 08:40:25 +0200 |
commit | bd58d42750440afc7cda7d26eeda135d8d07e02d (patch) | |
tree | ff67d19519cd80c41efb20003bfbbc1f4b27e7de /configserver | |
parent | 1cce6c15c29e59200aa9db5e7b61da4fabc25cf3 (diff) |
Set USE_TENANT_META_DATA to true and stop using it in code
Diffstat (limited to 'configserver')
5 files changed, 9 insertions, 48 deletions
diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/ApplicationRepository.java b/configserver/src/main/java/com/yahoo/vespa/config/server/ApplicationRepository.java index 6a3a715e58d..eb13baf3e6b 100644 --- a/configserver/src/main/java/com/yahoo/vespa/config/server/ApplicationRepository.java +++ b/configserver/src/main/java/com/yahoo/vespa/config/server/ApplicationRepository.java @@ -65,9 +65,7 @@ import com.yahoo.vespa.config.server.tenant.TenantRepository; import com.yahoo.vespa.curator.Curator; import com.yahoo.vespa.curator.Lock; import com.yahoo.vespa.defaults.Defaults; -import com.yahoo.vespa.flags.BooleanFlag; import com.yahoo.vespa.flags.FlagSource; -import com.yahoo.vespa.flags.Flags; import com.yahoo.vespa.flags.InMemoryFlagSource; import com.yahoo.vespa.orchestrator.Orchestrator; @@ -127,7 +125,6 @@ public class ApplicationRepository implements com.yahoo.config.provision.Deploye private final LogRetriever logRetriever; private final TesterClient testerClient; private final Metric metric; - private final BooleanFlag useTenantMetaData; @Inject public ApplicationRepository(TenantRepository tenantRepository, @@ -177,7 +174,6 @@ public class ApplicationRepository implements com.yahoo.config.provision.Deploye this.clock = Objects.requireNonNull(clock); this.testerClient = Objects.requireNonNull(testerClient); this.metric = Objects.requireNonNull(metric); - this.useTenantMetaData = Flags.USE_TENANT_META_DATA.bindTo(flagSource); } public static class Builder { @@ -410,10 +406,7 @@ public class ApplicationRepository implements com.yahoo.config.provision.Deploye checkIfActiveIsNewerThanSessionToBeActivated(prepared.getSessionId(), active.getSessionId()); transaction.add(active.createDeactivateTransaction().operations()); } - - if (useTenantMetaData.value()) - transaction.add(updateMetaDataWithDeployTimestamp(tenant, clock.instant())); - + transaction.add(updateMetaDataWithDeployTimestamp(tenant, clock.instant())); return transaction; } @@ -876,8 +869,6 @@ public class ApplicationRepository implements com.yahoo.config.provision.Deploye } public Set<TenantName> deleteUnusedTenants(Duration ttlForUnusedTenant, Instant now) { - if ( ! useTenantMetaData.value()) return Set.of(); - return tenantRepository.getAllTenantNames().stream() .filter(tenantName -> activeApplications(tenantName).isEmpty()) .filter(tenantName -> !tenantName.equals(TenantName.defaultName())) // Not allowed to remove 'default' tenant diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/tenant/TenantRepository.java b/configserver/src/main/java/com/yahoo/vespa/config/server/tenant/TenantRepository.java index ecbcb513c03..41377bdf317 100644 --- a/configserver/src/main/java/com/yahoo/vespa/config/server/tenant/TenantRepository.java +++ b/configserver/src/main/java/com/yahoo/vespa/config/server/tenant/TenantRepository.java @@ -18,8 +18,6 @@ import com.yahoo.vespa.config.server.session.SessionRepository; import com.yahoo.vespa.curator.Curator; import com.yahoo.vespa.curator.transaction.CuratorOperations; import com.yahoo.vespa.curator.transaction.CuratorTransaction; -import com.yahoo.vespa.flags.BooleanFlag; -import com.yahoo.vespa.flags.Flags; import org.apache.curator.framework.CuratorFramework; import org.apache.curator.framework.recipes.cache.PathChildrenCacheEvent; import org.apache.curator.framework.state.ConnectionState; @@ -88,7 +86,6 @@ public class TenantRepository { private final ExecutorService bootstrapExecutor; private final ScheduledExecutorService checkForRemovedApplicationsService = new ScheduledThreadPoolExecutor(1); private final Optional<Curator.DirectoryCache> directoryCache; - private final BooleanFlag useTenantMetaData; /** * Creates a new tenant repository @@ -105,7 +102,6 @@ public class TenantRepository { this.tenantListeners.add(componentRegistry.getTenantListener()); this.zkCacheExecutor = componentRegistry.getZkCacheExecutor(); this.zkWatcherExecutor = componentRegistry.getZkWatcherExecutor(); - this.useTenantMetaData = Flags.USE_TENANT_META_DATA.bindTo(componentRegistry.getFlagSource()); curator.framework().getConnectionStateListenable().addListener(this::stateChanged); curator.create(tenantsPath); @@ -230,9 +226,7 @@ public class TenantRepository { private Tenant createTenant(TenantName tenantName, Instant created) { if (tenants.containsKey(tenantName)) { Tenant tenant = getTenant(tenantName); - if (useTenantMetaData.value()) - createAndWriteTenantMetaData(tenant); - + createAndWriteTenantMetaData(tenant); return tenant; } @@ -255,8 +249,7 @@ public class TenantRepository { Tenant tenant = new Tenant(tenantName, sessionRepository, applicationRepo, applicationRepo, created); notifyNewTenant(tenant); tenants.putIfAbsent(tenantName, tenant); - if (useTenantMetaData.value()) - createAndWriteTenantMetaData(tenant); + createAndWriteTenantMetaData(tenant); return tenant; } diff --git a/configserver/src/test/java/com/yahoo/vespa/config/server/ApplicationRepositoryTest.java b/configserver/src/test/java/com/yahoo/vespa/config/server/ApplicationRepositoryTest.java index bd3053dd61f..f879f6c2a2a 100644 --- a/configserver/src/test/java/com/yahoo/vespa/config/server/ApplicationRepositoryTest.java +++ b/configserver/src/test/java/com/yahoo/vespa/config/server/ApplicationRepositoryTest.java @@ -165,25 +165,11 @@ public class ApplicationRepositoryTest { LocalSession session = tenant.getSessionRepository().getLocalSession(tenant.getApplicationRepo() .requireActiveSessionOf(applicationId())); session.getAllocatedHosts(); - - assertEquals(Instant.EPOCH, applicationRepository.getTenantMetaData(tenant).lastDeployTimestamp()); - assertEquals(Instant.EPOCH, applicationRepository.getTenantMetaData(tenant).createdTimestamp()); } @Test - public void prepareAndActivateWithTenantMetaData() throws IOException { - InMemoryFlagSource flagSource = new InMemoryFlagSource().withBooleanFlag(Flags.USE_TENANT_META_DATA.id(), false); - setup(flagSource); - - // Tenants created when flag is false has EPOCH as metadata values - Tenant tenant = applicationRepository.getTenant(applicationId()); - assertEquals(Instant.EPOCH.toEpochMilli(), - applicationRepository.getTenantMetaData(tenant).createdTimestamp().toEpochMilli()); - assertEquals(Instant.EPOCH.toEpochMilli(), - applicationRepository.getTenantMetaData(tenant).lastDeployTimestamp().toEpochMilli()); - - // Change flag value to true - flagSource.withBooleanFlag(Flags.USE_TENANT_META_DATA.id(), true); + public void prepareAndActivateWithTenantMetaData() { + Instant startTime = clock.instant(); Duration duration = Duration.ofHours(1); clock.advance(duration); Instant deployTime = clock.instant(); @@ -191,12 +177,9 @@ public class ApplicationRepositoryTest { assertTrue(result.configChangeActions().getRefeedActions().isEmpty()); assertTrue(result.configChangeActions().getRestartActions().isEmpty()); - LocalSession session = tenant.getSessionRepository().getLocalSession(tenant.getApplicationRepo() - .requireActiveSessionOf(applicationId())); - session.getAllocatedHosts(); + Tenant tenant = applicationRepository.getTenant(applicationId()); - // Only last deploy timestamp updated - assertEquals(Instant.EPOCH.toEpochMilli(), + assertEquals(startTime.toEpochMilli(), applicationRepository.getTenantMetaData(tenant).createdTimestamp().toEpochMilli()); assertEquals(deployTime.toEpochMilli(), applicationRepository.getTenantMetaData(tenant).lastDeployTimestamp().toEpochMilli()); diff --git a/configserver/src/test/java/com/yahoo/vespa/config/server/maintenance/MaintainerTester.java b/configserver/src/test/java/com/yahoo/vespa/config/server/maintenance/MaintainerTester.java index 043841c6acb..7999f9280c0 100644 --- a/configserver/src/test/java/com/yahoo/vespa/config/server/maintenance/MaintainerTester.java +++ b/configserver/src/test/java/com/yahoo/vespa/config/server/maintenance/MaintainerTester.java @@ -23,7 +23,6 @@ import com.yahoo.vespa.config.server.session.PrepareParams; import com.yahoo.vespa.config.server.tenant.TenantRepository; import com.yahoo.vespa.curator.Curator; import com.yahoo.vespa.curator.mock.MockCurator; -import com.yahoo.vespa.flags.FlagSource; import org.junit.rules.TemporaryFolder; import java.io.File; @@ -39,7 +38,7 @@ class MaintainerTester { private final ApplicationRepository applicationRepository; private final Clock clock; - MaintainerTester(Clock clock, FlagSource flagSource, TemporaryFolder temporaryFolder) throws IOException { + MaintainerTester(Clock clock, TemporaryFolder temporaryFolder) throws IOException { this.clock = clock; this.curator = new MockCurator(); InMemoryProvisioner hostProvisioner = new InMemoryProvisioner(true, "host0", "host1", "host2", "host3", "host4"); @@ -54,7 +53,6 @@ class MaintainerTester { .clock(clock) .configServerConfig(configserverConfig) .provisioner(provisioner) - .flagSource(flagSource) .modelFactoryRegistry(new ModelFactoryRegistry(List.of(new DeployTester.CountingModelFactory(clock)))) .build(); tenantRepository = new TenantRepository(componentRegistry); @@ -63,7 +61,6 @@ class MaintainerTester { .withProvisioner(provisioner) .withOrchestrator(new OrchestratorMock()) .withLogRetriever(new MockLogRetriever()) - .withFlagSource(flagSource) .withClock(clock) .withConfigserverConfig(configserverConfig) .build(); diff --git a/configserver/src/test/java/com/yahoo/vespa/config/server/maintenance/TenantsMaintainerTest.java b/configserver/src/test/java/com/yahoo/vespa/config/server/maintenance/TenantsMaintainerTest.java index e6172546ff8..463e5361248 100644 --- a/configserver/src/test/java/com/yahoo/vespa/config/server/maintenance/TenantsMaintainerTest.java +++ b/configserver/src/test/java/com/yahoo/vespa/config/server/maintenance/TenantsMaintainerTest.java @@ -9,8 +9,6 @@ import com.yahoo.test.ManualClock; import com.yahoo.vespa.config.server.ApplicationRepository; import com.yahoo.vespa.config.server.session.PrepareParams; import com.yahoo.vespa.config.server.tenant.TenantRepository; -import com.yahoo.vespa.flags.FlagSource; -import com.yahoo.vespa.flags.Flags; import com.yahoo.vespa.flags.InMemoryFlagSource; import org.junit.Rule; import org.junit.Test; @@ -31,8 +29,7 @@ public class TenantsMaintainerTest { @Test public void deleteTenantWithNoApplications() throws IOException { ManualClock clock = new ManualClock("2020-06-01T00:00:00"); - FlagSource flagSource = new InMemoryFlagSource().withBooleanFlag(Flags.USE_TENANT_META_DATA.id(), true); - MaintainerTester tester = new MaintainerTester(clock, flagSource, temporaryFolder); + MaintainerTester tester = new MaintainerTester(clock, temporaryFolder); TenantRepository tenantRepository = tester.tenantRepository(); ApplicationRepository applicationRepository = tester.applicationRepository(); File applicationPackage = new File("src/test/apps/hosted"); |