mirror of
https://github.com/signalapp/Signal-Server
synced 2026-04-21 07:38:06 +01:00
Really delete old accounts instead of just removing their push channels.
This commit is contained in:
committed by
Jon Chambers
parent
f0a8aa06bc
commit
2b6811cb1b
@@ -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);
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user