Really delete old accounts instead of just removing their push channels.

This commit is contained in:
Jon Chambers
2020-10-01 15:12:58 -04:00
committed by Jon Chambers
parent f0a8aa06bc
commit 2b6811cb1b
3 changed files with 9 additions and 63 deletions

View File

@@ -332,7 +332,7 @@ public class WhisperServerService extends Application<WhisperServerConfiguration
ActiveUserCounter activeUserCounter = new ActiveUserCounter(config.getMetricsFactory(), cacheCluster);
DirectoryReconciler directoryReconciler = new DirectoryReconciler(directoryReconciliationClient, directory);
AccountCleaner accountCleaner = new AccountCleaner(accountsManager, directoryQueue);
AccountCleaner accountCleaner = new AccountCleaner(accountsManager);
PushFeedbackProcessor pushFeedbackProcessor = new PushFeedbackProcessor(accountsManager, directoryQueue);
RegistrationLockVersionCounter registrationLockVersionCounter = new RegistrationLockVersionCounter(metricsCluster, config.getMetricsFactory());
List<AccountDatabaseCrawlerListener> accountDatabaseCrawlerListeners = List.of(pushFeedbackProcessor, activeUserCounter, directoryReconciler, accountCleaner, registrationLockVersionCounter);

View File

@@ -20,7 +20,6 @@ import com.codahale.metrics.Meter;
import com.codahale.metrics.MetricRegistry;
import com.codahale.metrics.SharedMetricRegistries;
import com.google.common.annotations.VisibleForTesting;
import org.whispersystems.textsecuregcm.sqs.DirectoryQueue;
import org.whispersystems.textsecuregcm.util.Constants;
import org.whispersystems.textsecuregcm.util.Util;
@@ -40,11 +39,9 @@ public class AccountCleaner extends AccountDatabaseCrawlerListener {
public static final int MAX_ACCOUNT_UPDATES_PER_CHUNK = 40;
private final AccountsManager accountsManager;
private final DirectoryQueue directoryQueue;
public AccountCleaner(AccountsManager accountsManager, DirectoryQueue directoryQueue) {
public AccountCleaner(AccountsManager accountsManager) {
this.accountsManager = accountsManager;
this.directoryQueue = directoryQueue;
}
@Override
@@ -63,15 +60,8 @@ public class AccountCleaner extends AccountDatabaseCrawlerListener {
expiredAccountsMeter.mark();
if (accountUpdateCount < MAX_ACCOUNT_UPDATES_PER_CHUNK) {
Device masterDevice = account.getMasterDevice().get();
masterDevice.setFetchesMessages(false);
masterDevice.setApnId(null);
masterDevice.setVoipApnId(null);
masterDevice.setGcmId(null);
accountsManager.delete(account);
accountUpdateCount++;
accountsManager.update(account);
directoryQueue.refreshRegisteredUser(account);
}
}
}