This is an automated email from the ASF dual-hosted git repository.
klund pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/geode.git
The following commit(s) were added to refs/heads/develop by this push:
new bb85e7c GEODE-5355: Remove BackupUtil and BackupDataStoreHelper
bb85e7c is described below
commit bb85e7c32a9cba9717fa22907997ca3c3bdab28a
Author: Kirk Lund <[email protected]>
AuthorDate: Mon Jul 2 10:40:54 2018 -0700
GEODE-5355: Remove BackupUtil and BackupDataStoreHelper
* Rename *Operation classes to *Step
* Introduce new BackupOperation as internal API for launching backup
---
.../admin/internal/AdminDistributedSystemImpl.java | 4 +-
.../org/apache/geode/internal/SystemAdmin.java | 7 +-
...rtBackupOperation.java => AbortBackupStep.java} | 4 +-
.../internal/cache/backup/BackupConfigFactory.java | 42 +++++++
.../cache/backup/BackupDataStoreHelper.java | 85 --------------
.../internal/cache/backup/BackupLockService.java | 41 +++++++
.../internal/cache/backup/BackupOperation.java | 125 +++++++++++++--------
.../{BackupOperation.java => BackupStep.java} | 4 +-
.../geode/internal/cache/backup/BackupUtil.java | 95 ----------------
...hBackupOperation.java => FinishBackupStep.java} | 4 +-
...shToDiskOperation.java => FlushToDiskStep.java} | 4 +-
...BackupOperation.java => PrepareBackupStep.java} | 4 +-
.../internal/beans/DistributedSystemBridge.java | 16 +--
.../cli/commands/BackupDiskStoreCommand.java | 6 +-
...OperationTest.java => AbortBackupStepTest.java} | 38 +++----
.../cache/backup/BackupDistributedTest.java | 2 +-
.../cache/backup/BackupIntegrationTest.java | 3 +-
.../backup/BackupPrepareAndFinishMsgDUnitTest.java | 14 ++-
...perationTest.java => FinishBackupStepTest.java} | 48 ++++----
...OperationTest.java => FlushToDiskStepTest.java} | 20 ++--
.../backup/IncrementalBackupDistributedTest.java | 8 +-
.../cache/backup/PrepareBackupFactoryTest.java | 3 +-
.../cache/backup/PrepareBackupRequestTest.java | 4 +-
...erationTest.java => PrepareBackupStepTest.java} | 54 ++++-----
.../PersistentPartitionedRegionTestBase.java | 4 +-
.../beans/DistributedSystemBridgeJUnitTest.java | 6 +-
26 files changed, 288 insertions(+), 357 deletions(-)
diff --git
a/geode-core/src/main/java/org/apache/geode/admin/internal/AdminDistributedSystemImpl.java
b/geode-core/src/main/java/org/apache/geode/admin/internal/AdminDistributedSystemImpl.java
index fc2409d..d6320c8 100755
---
a/geode-core/src/main/java/org/apache/geode/admin/internal/AdminDistributedSystemImpl.java
+++
b/geode-core/src/main/java/org/apache/geode/admin/internal/AdminDistributedSystemImpl.java
@@ -88,7 +88,7 @@ import
org.apache.geode.internal.admin.remote.RemoteApplicationVM;
import org.apache.geode.internal.admin.remote.RemoteTransportConfig;
import org.apache.geode.internal.admin.remote.RevokePersistentIDRequest;
import org.apache.geode.internal.admin.remote.ShutdownAllRequest;
-import org.apache.geode.internal.cache.backup.BackupUtil;
+import org.apache.geode.internal.cache.backup.BackupOperation;
import org.apache.geode.internal.cache.persistence.PersistentMemberPattern;
import org.apache.geode.internal.i18n.LocalizedStrings;
import org.apache.geode.internal.logging.InternalLogWriter;
@@ -2322,7 +2322,7 @@ public class AdminDistributedSystemImpl implements
org.apache.geode.admin.AdminD
public static BackupStatus backupAllMembers(DistributionManager dm, File
targetDir,
File baselineDir) throws AdminException {
String baselineDirectory = baselineDir == null ? null :
baselineDir.toString();
- return BackupUtil.backupAllMembers(dm, targetDir.toString(),
baselineDirectory);
+ return new BackupOperation().backupAllMembers(dm, targetDir.toString(),
baselineDirectory);
}
public Map<DistributedMember, Set<PersistentID>> compactAllDiskStores()
throws AdminException {
diff --git
a/geode-core/src/main/java/org/apache/geode/internal/SystemAdmin.java
b/geode-core/src/main/java/org/apache/geode/internal/SystemAdmin.java
index c35b297..9ebd211 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/SystemAdmin.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/SystemAdmin.java
@@ -76,7 +76,7 @@ import
org.apache.geode.distributed.internal.membership.InternalDistributedMembe
import org.apache.geode.distributed.internal.tcpserver.TcpClient;
import org.apache.geode.internal.admin.remote.TailLogResponse;
import org.apache.geode.internal.cache.DiskStoreImpl;
-import org.apache.geode.internal.cache.backup.BackupUtil;
+import org.apache.geode.internal.cache.backup.BackupOperation;
import org.apache.geode.internal.i18n.LocalizedStrings;
import org.apache.geode.internal.logging.DateFormatter;
import org.apache.geode.internal.logging.MergeLogFiles;
@@ -618,8 +618,9 @@ public class SystemAdmin {
InternalDistributedSystem ads = getAdminCnx();
// Baseline directory should be null if it was not provided on the command
line
- BackupStatus status =
BackupUtil.backupAllMembers(ads.getDistributionManager(), targetDir,
- SystemAdmin.baselineDir);
+ BackupStatus status =
+ new BackupOperation().backupAllMembers(ads.getDistributionManager(),
targetDir,
+ SystemAdmin.baselineDir);
boolean incomplete = !status.getOfflineDiskStores().isEmpty();
diff --git
a/geode-core/src/main/java/org/apache/geode/internal/cache/backup/AbortBackupOperation.java
b/geode-core/src/main/java/org/apache/geode/internal/cache/backup/AbortBackupStep.java
similarity index 94%
rename from
geode-core/src/main/java/org/apache/geode/internal/cache/backup/AbortBackupOperation.java
rename to
geode-core/src/main/java/org/apache/geode/internal/cache/backup/AbortBackupStep.java
index a879618..659a449 100644
---
a/geode-core/src/main/java/org/apache/geode/internal/cache/backup/AbortBackupOperation.java
+++
b/geode-core/src/main/java/org/apache/geode/internal/cache/backup/AbortBackupStep.java
@@ -24,13 +24,13 @@ import
org.apache.geode.distributed.internal.ReplyProcessor21;
import
org.apache.geode.distributed.internal.membership.InternalDistributedMember;
import org.apache.geode.internal.cache.InternalCache;
-class AbortBackupOperation extends BackupOperation {
+class AbortBackupStep extends BackupStep {
private final InternalDistributedMember member;
private final InternalCache cache;
private final Set<InternalDistributedMember> recipients;
private final AbortBackupFactory abortBackupFactory;
- AbortBackupOperation(DistributionManager dm, InternalDistributedMember
member,
+ AbortBackupStep(DistributionManager dm, InternalDistributedMember member,
InternalCache cache, Set<InternalDistributedMember> recipients,
AbortBackupFactory abortBackupFactory) {
super(dm);
diff --git
a/geode-core/src/main/java/org/apache/geode/internal/cache/backup/BackupConfigFactory.java
b/geode-core/src/main/java/org/apache/geode/internal/cache/backup/BackupConfigFactory.java
new file mode 100644
index 0000000..18611b5
--- /dev/null
+++
b/geode-core/src/main/java/org/apache/geode/internal/cache/backup/BackupConfigFactory.java
@@ -0,0 +1,42 @@
+package org.apache.geode.internal.cache.backup;
+
+import static
org.apache.geode.internal.cache.backup.AbstractBackupWriterConfig.TIMESTAMP;
+import static
org.apache.geode.internal.cache.backup.AbstractBackupWriterConfig.TYPE;
+import static
org.apache.geode.internal.cache.backup.FileSystemBackupWriterConfig.BASELINE_DIR;
+import static
org.apache.geode.internal.cache.backup.FileSystemBackupWriterConfig.TARGET_DIR;
+
+import java.text.SimpleDateFormat;
+import java.util.Date;
+import java.util.Properties;
+
+class BackupConfigFactory {
+
+ private String targetDirPath;
+ private String baselineDirPath;
+
+ BackupConfigFactory() {
+ // nothing
+ }
+
+ BackupConfigFactory withTargetDirPath(String targetDirPath) {
+ this.targetDirPath = targetDirPath;
+ return this;
+ }
+
+ BackupConfigFactory withBaselineDirPath(String baselineDirPath) {
+ this.baselineDirPath = baselineDirPath;
+ return this;
+ }
+
+ Properties createBackupProperties() {
+ Properties properties = new Properties();
+ SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd-HH-mm-ss");
+ properties.setProperty(TIMESTAMP, format.format(new Date()));
+ properties.setProperty(TYPE, "FileSystem");
+ properties.setProperty(TARGET_DIR, targetDirPath);
+ if (baselineDirPath != null) {
+ properties.setProperty(BASELINE_DIR, baselineDirPath);
+ }
+ return properties;
+ }
+}
diff --git
a/geode-core/src/main/java/org/apache/geode/internal/cache/backup/BackupDataStoreHelper.java
b/geode-core/src/main/java/org/apache/geode/internal/cache/backup/BackupDataStoreHelper.java
deleted file mode 100644
index 89e1511..0000000
---
a/geode-core/src/main/java/org/apache/geode/internal/cache/backup/BackupDataStoreHelper.java
+++ /dev/null
@@ -1,85 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
contributor license
- * agreements. See the NOTICE file distributed with this work for additional
information regarding
- * copyright ownership. The ASF licenses this file to You under the Apache
License, Version 2.0 (the
- * "License"); you may not use this file except in compliance with the
License. You may obtain a
- * copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
distributed under the License
- * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express
- * or implied. See the License for the specific language governing permissions
and limitations under
- * the License.
- */
-package org.apache.geode.internal.cache.backup;
-
-import java.util.Collections;
-import java.util.Map;
-import java.util.Properties;
-import java.util.Set;
-
-import org.apache.geode.cache.persistence.PersistentID;
-import org.apache.geode.distributed.DistributedLockService;
-import org.apache.geode.distributed.DistributedMember;
-import org.apache.geode.distributed.internal.DistributionManager;
-import org.apache.geode.internal.Assert;
-
-public class BackupDataStoreHelper {
-
- public static final String LOCK_SERVICE_NAME =
BackupDataStoreHelper.class.getSimpleName();
- private static final String LOCK_NAME = LOCK_SERVICE_NAME + "_token";
- private static final Object LOCK_SYNC = new Object();
- private static final FlushToDiskFactory flushToDiskFactory = new
FlushToDiskFactory();
- private static final PrepareBackupFactory prepareBackupFactory = new
PrepareBackupFactory();
- private static final AbortBackupFactory abortBackupFactory = new
AbortBackupFactory();
- private static final FinishBackupFactory finishBackupFactory = new
FinishBackupFactory();
-
- @SuppressWarnings("rawtypes")
- public static BackupDataStoreResult backupAllMembers(DistributionManager dm,
Set recipients,
- Properties properties) {
- new FlushToDiskOperation(dm, dm.getId(), dm.getCache(), recipients,
flushToDiskFactory).send();
-
- boolean abort = true;
- Map<DistributedMember, Set<PersistentID>> successfulMembers;
- Map<DistributedMember, Set<PersistentID>> existingDataStores;
- try {
- existingDataStores = new PrepareBackupOperation(dm, dm.getId(),
dm.getCache(), recipients,
- prepareBackupFactory, properties).send();
- abort = false;
- } finally {
- if (abort) {
- new AbortBackupOperation(dm, dm.getId(), dm.getCache(), recipients,
abortBackupFactory)
- .send();
- successfulMembers = Collections.emptyMap();
- } else {
- successfulMembers = new FinishBackupOperation(dm, dm.getId(),
dm.getCache(), recipients,
- finishBackupFactory).send();
- }
- }
- return new BackupDataStoreResult(existingDataStores, successfulMembers);
- }
-
- private static DistributedLockService getLockService(DistributionManager dm)
{
- DistributedLockService dls =
DistributedLockService.getServiceNamed(LOCK_SERVICE_NAME);
- if (dls == null) {
- synchronized (LOCK_SYNC) {
- dls = DistributedLockService.getServiceNamed(LOCK_SERVICE_NAME);
- if (dls == null) {
- // Create the DistributedLockService
- dls = DistributedLockService.create(LOCK_SERVICE_NAME,
dm.getSystem());
- }
- }
- }
- Assert.assertTrue(dls != null);
- return dls;
- }
-
- public static boolean obtainLock(DistributionManager dm) {
- return getLockService(dm).lock(LOCK_NAME, 0, -1);
- }
-
- public static void releaseLock(DistributionManager dm) {
- getLockService(dm).unlock(LOCK_NAME);
- }
-}
diff --git
a/geode-core/src/main/java/org/apache/geode/internal/cache/backup/BackupLockService.java
b/geode-core/src/main/java/org/apache/geode/internal/cache/backup/BackupLockService.java
new file mode 100644
index 0000000..615b678
--- /dev/null
+++
b/geode-core/src/main/java/org/apache/geode/internal/cache/backup/BackupLockService.java
@@ -0,0 +1,41 @@
+package org.apache.geode.internal.cache.backup;
+
+import org.apache.geode.distributed.DistributedLockService;
+import org.apache.geode.distributed.internal.DistributionManager;
+import org.apache.geode.internal.Assert;
+
+public class BackupLockService {
+
+ public static final String LOCK_SERVICE_NAME =
BackupLockService.class.getSimpleName();
+
+ private static final String LOCK_NAME = LOCK_SERVICE_NAME + "_token";
+ private static final Object LOCK_SYNC = new Object();
+
+ BackupLockService() {
+ // nothing
+ }
+
+ boolean obtainLock(DistributionManager dm) {
+ return getLockService(dm).lock(LOCK_NAME, 0, -1);
+ }
+
+ void releaseLock(DistributionManager dm) {
+ getLockService(dm).unlock(LOCK_NAME);
+ }
+
+ private DistributedLockService getLockService(DistributionManager dm) {
+ DistributedLockService dls = DistributedLockService.getServiceNamed(
+ LOCK_SERVICE_NAME);
+ if (dls == null) {
+ synchronized (LOCK_SYNC) {
+ dls = DistributedLockService.getServiceNamed(LOCK_SERVICE_NAME);
+ if (dls == null) {
+ // Create the DistributedLockService
+ dls = DistributedLockService.create(LOCK_SERVICE_NAME,
dm.getSystem());
+ }
+ }
+ }
+ Assert.assertTrue(dls != null);
+ return dls;
+ }
+}
diff --git
a/geode-core/src/main/java/org/apache/geode/internal/cache/backup/BackupOperation.java
b/geode-core/src/main/java/org/apache/geode/internal/cache/backup/BackupOperation.java
index 5cae876..aa666c6 100644
---
a/geode-core/src/main/java/org/apache/geode/internal/cache/backup/BackupOperation.java
+++
b/geode-core/src/main/java/org/apache/geode/internal/cache/backup/BackupOperation.java
@@ -15,71 +15,104 @@
package org.apache.geode.internal.cache.backup;
import java.util.Collections;
-import java.util.HashMap;
import java.util.Map;
+import java.util.Properties;
import java.util.Set;
-import org.apache.logging.log4j.Logger;
-
-import org.apache.geode.CancelException;
+import org.apache.geode.admin.internal.AdminDistributedSystemImpl;
import org.apache.geode.cache.persistence.PersistentID;
import org.apache.geode.distributed.DistributedMember;
import org.apache.geode.distributed.internal.DistributionManager;
-import org.apache.geode.distributed.internal.DistributionMessage;
-import org.apache.geode.distributed.internal.ReplyException;
-import org.apache.geode.distributed.internal.ReplyProcessor21;
import
org.apache.geode.distributed.internal.membership.InternalDistributedMember;
-import org.apache.geode.internal.logging.LogService;
+import org.apache.geode.internal.i18n.LocalizedStrings;
+import org.apache.geode.management.BackupStatus;
+import org.apache.geode.management.ManagementException;
+import org.apache.geode.management.internal.BackupStatusImpl;
-abstract class BackupOperation implements BackupResultCollector {
- private static final Logger logger = LogService.getLogger();
+public class BackupOperation {
- private final DistributionManager dm;
- private final Map<DistributedMember, Set<PersistentID>> results =
- Collections.synchronizedMap(new HashMap<DistributedMember,
Set<PersistentID>>());
+ private final FlushToDiskFactory flushToDiskFactory;
+ private final PrepareBackupFactory prepareBackupFactory;
+ private final AbortBackupFactory abortBackupFactory;
+ private final FinishBackupFactory finishBackupFactory;
- protected BackupOperation(DistributionManager dm) {
- this.dm = dm;
+ public BackupOperation() {
+ this(new FlushToDiskFactory(), new PrepareBackupFactory(), new
AbortBackupFactory(),
+ new FinishBackupFactory());
}
- abstract ReplyProcessor21 createReplyProcessor();
-
- abstract DistributionMessage createDistributionMessage(ReplyProcessor21
replyProcessor);
-
- abstract void processLocally();
-
- Map<DistributedMember, Set<PersistentID>> send() {
- ReplyProcessor21 replyProcessor = createReplyProcessor();
-
- dm.putOutgoing(createDistributionMessage(replyProcessor));
+ BackupOperation(FlushToDiskFactory flushToDiskFactory, PrepareBackupFactory
prepareBackupFactory,
+ AbortBackupFactory abortBackupFactory, FinishBackupFactory
finishBackupFactory) {
+ this.flushToDiskFactory = flushToDiskFactory;
+ this.prepareBackupFactory = prepareBackupFactory;
+ this.abortBackupFactory = abortBackupFactory;
+ this.finishBackupFactory = finishBackupFactory;
+ }
- processLocally();
+ public BackupStatus backupAllMembers(DistributionManager dm, String
targetDirPath,
+ String baselineDirPath) {
+ Properties properties = new
BackupConfigFactory().withTargetDirPath(targetDirPath)
+ .withBaselineDirPath(baselineDirPath).createBackupProperties();
+ return performBackup(dm, properties);
+ }
- try {
- replyProcessor.waitForReplies();
- } catch (ReplyException e) {
- if (!(e.getCause() instanceof CancelException)) {
- throw e;
+ private BackupStatus performBackup(DistributionManager dm, Properties
properties)
+ throws ManagementException {
+ BackupLockService backupLockService = new BackupLockService();
+ BackupStatus status;
+ if (backupLockService.obtainLock(dm)) {
+ try {
+ Set<PersistentID> missingMembers =
+ AdminDistributedSystemImpl.getMissingPersistentMembers(dm);
+ Set<InternalDistributedMember> recipients =
dm.getOtherDistributionManagerIds();
+
+ BackupDataStoreResult result = performBackupSteps(dm, recipients,
properties);
+
+ // It's possible that when calling getMissingPersistentMembers, some
members are
+ // still creating/recovering regions, and at FinishBackupRequest.send,
the
+ // regions at the members are ready. Logically, since the members in
successfulMembers
+ // should override the previous missingMembers
+ for (Set<PersistentID> onlineMembersIds :
result.getSuccessfulMembers().values()) {
+ missingMembers.removeAll(onlineMembersIds);
+ }
+
+
result.getExistingDataStores().keySet().removeAll(result.getSuccessfulMembers().keySet());
+ for (Set<PersistentID> lostMembersIds :
result.getExistingDataStores().values()) {
+ missingMembers.addAll(lostMembersIds);
+ }
+ status = new BackupStatusImpl(result.getSuccessfulMembers(),
missingMembers);
+ } finally {
+ backupLockService.releaseLock(dm);
}
- } catch (InterruptedException e) {
- logger.warn(e.getMessage(), e);
- }
-
- return getResults();
- }
- @Override
- public void addToResults(InternalDistributedMember member, Set<PersistentID>
persistentIds) {
- if (persistentIds != null && !persistentIds.isEmpty()) {
- results.put(member, persistentIds);
+ } else {
+ throw new ManagementException(
+
LocalizedStrings.DistributedSystem_BACKUP_ALREADY_IN_PROGRESS.toLocalizedString());
}
+ return status;
}
- Map<DistributedMember, Set<PersistentID>> getResults() {
- return this.results;
- }
+ private BackupDataStoreResult performBackupSteps(DistributionManager dm, Set
recipients,
+ Properties properties) {
+ new FlushToDiskStep(dm, dm.getId(), dm.getCache(), recipients,
flushToDiskFactory).send();
- protected DistributionManager getDistributionManager() {
- return this.dm;
+ boolean abort = true;
+ Map<DistributedMember, Set<PersistentID>> successfulMembers;
+ Map<DistributedMember, Set<PersistentID>> existingDataStores;
+ try {
+ existingDataStores = new PrepareBackupStep(dm, dm.getId(),
dm.getCache(), recipients,
+ prepareBackupFactory, properties).send();
+ abort = false;
+ } finally {
+ if (abort) {
+ new AbortBackupStep(dm, dm.getId(), dm.getCache(), recipients,
abortBackupFactory)
+ .send();
+ successfulMembers = Collections.emptyMap();
+ } else {
+ successfulMembers = new FinishBackupStep(dm, dm.getId(),
dm.getCache(), recipients,
+ finishBackupFactory).send();
+ }
+ }
+ return new BackupDataStoreResult(existingDataStores, successfulMembers);
}
}
diff --git
a/geode-core/src/main/java/org/apache/geode/internal/cache/backup/BackupOperation.java
b/geode-core/src/main/java/org/apache/geode/internal/cache/backup/BackupStep.java
similarity index 95%
copy from
geode-core/src/main/java/org/apache/geode/internal/cache/backup/BackupOperation.java
copy to
geode-core/src/main/java/org/apache/geode/internal/cache/backup/BackupStep.java
index 5cae876..45ac9f1 100644
---
a/geode-core/src/main/java/org/apache/geode/internal/cache/backup/BackupOperation.java
+++
b/geode-core/src/main/java/org/apache/geode/internal/cache/backup/BackupStep.java
@@ -31,14 +31,14 @@ import
org.apache.geode.distributed.internal.ReplyProcessor21;
import
org.apache.geode.distributed.internal.membership.InternalDistributedMember;
import org.apache.geode.internal.logging.LogService;
-abstract class BackupOperation implements BackupResultCollector {
+abstract class BackupStep implements BackupResultCollector {
private static final Logger logger = LogService.getLogger();
private final DistributionManager dm;
private final Map<DistributedMember, Set<PersistentID>> results =
Collections.synchronizedMap(new HashMap<DistributedMember,
Set<PersistentID>>());
- protected BackupOperation(DistributionManager dm) {
+ protected BackupStep(DistributionManager dm) {
this.dm = dm;
}
diff --git
a/geode-core/src/main/java/org/apache/geode/internal/cache/backup/BackupUtil.java
b/geode-core/src/main/java/org/apache/geode/internal/cache/backup/BackupUtil.java
deleted file mode 100644
index 5ce481c..0000000
---
a/geode-core/src/main/java/org/apache/geode/internal/cache/backup/BackupUtil.java
+++ /dev/null
@@ -1,95 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
contributor license
- * agreements. See the NOTICE file distributed with this work for additional
information regarding
- * copyright ownership. The ASF licenses this file to You under the Apache
License, Version 2.0 (the
- * "License"); you may not use this file except in compliance with the
License. You may obtain a
- * copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
distributed under the License
- * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express
- * or implied. See the License for the specific language governing permissions
and limitations under
- * the License.
- */
-package org.apache.geode.internal.cache.backup;
-
-import static
org.apache.geode.internal.cache.backup.AbstractBackupWriterConfig.TIMESTAMP;
-import static
org.apache.geode.internal.cache.backup.AbstractBackupWriterConfig.TYPE;
-import static
org.apache.geode.internal.cache.backup.FileSystemBackupWriterConfig.BASELINE_DIR;
-import static
org.apache.geode.internal.cache.backup.FileSystemBackupWriterConfig.TARGET_DIR;
-
-import java.text.SimpleDateFormat;
-import java.util.Date;
-import java.util.Properties;
-import java.util.Set;
-
-import org.apache.geode.admin.internal.AdminDistributedSystemImpl;
-import org.apache.geode.cache.persistence.PersistentID;
-import org.apache.geode.distributed.internal.DistributionManager;
-import
org.apache.geode.distributed.internal.membership.InternalDistributedMember;
-import org.apache.geode.internal.i18n.LocalizedStrings;
-import org.apache.geode.management.BackupStatus;
-import org.apache.geode.management.ManagementException;
-import org.apache.geode.management.internal.BackupStatusImpl;
-
-public class BackupUtil {
-
- private BackupUtil() {
- // do not instantiate
- }
-
- public static BackupStatus backupAllMembers(DistributionManager dm, String
targetDirPath,
- String baselineDirPath) {
- Properties properties = createBackupProperties(targetDirPath,
baselineDirPath);
- return backupAllMembers(dm, properties);
- }
-
- static Properties createBackupProperties(String targetDirPath, String
baselineDirPath) {
- Properties properties = new Properties();
- SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd-HH-mm-ss");
- properties.setProperty(TIMESTAMP, format.format(new Date()));
- properties.setProperty(TYPE, "FileSystem");
- properties.setProperty(TARGET_DIR, targetDirPath);
- if (baselineDirPath != null) {
- properties.setProperty(BASELINE_DIR, baselineDirPath);
- }
- return properties;
- }
-
- public static BackupStatus backupAllMembers(DistributionManager dm,
Properties properties)
- throws ManagementException {
- BackupStatus status;
- if (BackupDataStoreHelper.obtainLock(dm)) {
- try {
- Set<PersistentID> missingMembers =
- AdminDistributedSystemImpl.getMissingPersistentMembers(dm);
- Set<InternalDistributedMember> recipients =
dm.getOtherDistributionManagerIds();
-
- BackupDataStoreResult result =
- BackupDataStoreHelper.backupAllMembers(dm, recipients, properties);
-
- // It's possible that when calling getMissingPersistentMembers, some
members are
- // still creating/recovering regions, and at FinishBackupRequest.send,
the
- // regions at the members are ready. Logically, since the members in
successfulMembers
- // should override the previous missingMembers
- for (Set<PersistentID> onlineMembersIds :
result.getSuccessfulMembers().values()) {
- missingMembers.removeAll(onlineMembersIds);
- }
-
-
result.getExistingDataStores().keySet().removeAll(result.getSuccessfulMembers().keySet());
- for (Set<PersistentID> lostMembersIds :
result.getExistingDataStores().values()) {
- missingMembers.addAll(lostMembersIds);
- }
- status = new BackupStatusImpl(result.getSuccessfulMembers(),
missingMembers);
- } finally {
- BackupDataStoreHelper.releaseLock(dm);
- }
-
- } else {
- throw new ManagementException(
-
LocalizedStrings.DistributedSystem_BACKUP_ALREADY_IN_PROGRESS.toLocalizedString());
- }
- return status;
- }
-}
diff --git
a/geode-core/src/main/java/org/apache/geode/internal/cache/backup/FinishBackupOperation.java
b/geode-core/src/main/java/org/apache/geode/internal/cache/backup/FinishBackupStep.java
similarity index 94%
rename from
geode-core/src/main/java/org/apache/geode/internal/cache/backup/FinishBackupOperation.java
rename to
geode-core/src/main/java/org/apache/geode/internal/cache/backup/FinishBackupStep.java
index b2e1f34..cc260c8 100644
---
a/geode-core/src/main/java/org/apache/geode/internal/cache/backup/FinishBackupOperation.java
+++
b/geode-core/src/main/java/org/apache/geode/internal/cache/backup/FinishBackupStep.java
@@ -26,7 +26,7 @@ import
org.apache.geode.distributed.internal.membership.InternalDistributedMembe
import org.apache.geode.internal.cache.InternalCache;
import org.apache.geode.internal.logging.LogService;
-class FinishBackupOperation extends BackupOperation {
+class FinishBackupStep extends BackupStep {
private static final Logger logger = LogService.getLogger();
private final InternalDistributedMember member;
@@ -34,7 +34,7 @@ class FinishBackupOperation extends BackupOperation {
private final Set<InternalDistributedMember> recipients;
private final FinishBackupFactory finishBackupFactory;
- FinishBackupOperation(DistributionManager dm, InternalDistributedMember
member,
+ FinishBackupStep(DistributionManager dm, InternalDistributedMember member,
InternalCache cache, Set<InternalDistributedMember> recipients,
FinishBackupFactory FinishBackupFactory) {
super(dm);
diff --git
a/geode-core/src/main/java/org/apache/geode/internal/cache/backup/FlushToDiskOperation.java
b/geode-core/src/main/java/org/apache/geode/internal/cache/backup/FlushToDiskStep.java
similarity index 96%
rename from
geode-core/src/main/java/org/apache/geode/internal/cache/backup/FlushToDiskOperation.java
rename to
geode-core/src/main/java/org/apache/geode/internal/cache/backup/FlushToDiskStep.java
index 955a293..6db8f44 100644
---
a/geode-core/src/main/java/org/apache/geode/internal/cache/backup/FlushToDiskOperation.java
+++
b/geode-core/src/main/java/org/apache/geode/internal/cache/backup/FlushToDiskStep.java
@@ -32,7 +32,7 @@ import org.apache.geode.internal.logging.LogService;
* of the backup, the members will suspend bucket destroys to make sure
buckets aren't missed during
* the backup.
*/
-public class FlushToDiskOperation {
+public class FlushToDiskStep {
private static final Logger logger = LogService.getLogger();
private final DistributionManager dm;
@@ -41,7 +41,7 @@ public class FlushToDiskOperation {
private final Set<InternalDistributedMember> recipients;
private final FlushToDiskFactory flushToDiskFactory;
- FlushToDiskOperation(DistributionManager dm, InternalDistributedMember
member,
+ FlushToDiskStep(DistributionManager dm, InternalDistributedMember member,
InternalCache cache, Set<InternalDistributedMember> recipients,
FlushToDiskFactory flushToDiskFactory) {
this.flushToDiskFactory = flushToDiskFactory;
diff --git
a/geode-core/src/main/java/org/apache/geode/internal/cache/backup/PrepareBackupOperation.java
b/geode-core/src/main/java/org/apache/geode/internal/cache/backup/PrepareBackupStep.java
similarity index 95%
rename from
geode-core/src/main/java/org/apache/geode/internal/cache/backup/PrepareBackupOperation.java
rename to
geode-core/src/main/java/org/apache/geode/internal/cache/backup/PrepareBackupStep.java
index e7a899a..b8c497b 100644
---
a/geode-core/src/main/java/org/apache/geode/internal/cache/backup/PrepareBackupOperation.java
+++
b/geode-core/src/main/java/org/apache/geode/internal/cache/backup/PrepareBackupStep.java
@@ -27,7 +27,7 @@ import
org.apache.geode.distributed.internal.membership.InternalDistributedMembe
import org.apache.geode.internal.cache.InternalCache;
import org.apache.geode.internal.logging.LogService;
-class PrepareBackupOperation extends BackupOperation {
+class PrepareBackupStep extends BackupStep {
private static final Logger logger = LogService.getLogger();
private final InternalDistributedMember member;
@@ -36,7 +36,7 @@ class PrepareBackupOperation extends BackupOperation {
private final PrepareBackupFactory prepareBackupFactory;
private final Properties properties;
- PrepareBackupOperation(DistributionManager dm, InternalDistributedMember
member,
+ PrepareBackupStep(DistributionManager dm, InternalDistributedMember member,
InternalCache cache, Set<InternalDistributedMember> recipients,
PrepareBackupFactory prepareBackupFactory, Properties properties) {
super(dm);
diff --git
a/geode-core/src/main/java/org/apache/geode/management/internal/beans/DistributedSystemBridge.java
b/geode-core/src/main/java/org/apache/geode/management/internal/beans/DistributedSystemBridge.java
index 3fa419e..037ffc4 100644
---
a/geode-core/src/main/java/org/apache/geode/management/internal/beans/DistributedSystemBridge.java
+++
b/geode-core/src/main/java/org/apache/geode/management/internal/beans/DistributedSystemBridge.java
@@ -14,18 +14,15 @@
*/
package org.apache.geode.management.internal.beans;
-import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
import java.util.Collections;
-import java.util.Date;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
-import java.util.Properties;
import java.util.Set;
import java.util.SortedSet;
import java.util.TreeSet;
@@ -54,7 +51,7 @@ import
org.apache.geode.internal.admin.remote.PrepareRevokePersistentIDRequest;
import org.apache.geode.internal.admin.remote.RevokePersistentIDRequest;
import org.apache.geode.internal.admin.remote.ShutdownAllRequest;
import org.apache.geode.internal.cache.InternalCache;
-import org.apache.geode.internal.cache.backup.BackupUtil;
+import org.apache.geode.internal.cache.backup.BackupOperation;
import org.apache.geode.internal.cache.persistence.PersistentMemberPattern;
import org.apache.geode.internal.logging.LogService;
import org.apache.geode.internal.logging.log4j.LocalizedMessage;
@@ -479,15 +476,8 @@ public class DistributedSystemBridge {
* @return open type DiskBackupStatus containing each member wise disk back
up status
*/
public DiskBackupStatus backupAllMembers(String targetDirPath, String
baselineDirPath) {
- Properties properties = new Properties();
- SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd-HH-mm-ss");
- properties.setProperty("TIMESTAMP", format.format(new Date()));
- properties.setProperty("TYPE", "FileSystem");
- properties.setProperty("TARGET_DIRECTORY", targetDirPath);
- if (baselineDirPath != null) {
- properties.setProperty("BASELINE_DIRECTORY", baselineDirPath);
- }
- BackupStatus result = BackupUtil.backupAllMembers(dm, properties);
+ BackupStatus result =
+ new BackupOperation().backupAllMembers(dm, targetDirPath,
baselineDirPath);
DiskBackupStatusImpl diskBackupStatus = new DiskBackupStatusImpl();
diskBackupStatus.generateBackedUpDiskStores(result.getBackedUpDiskStores());
diskBackupStatus.generateOfflineDiskStores(result.getOfflineDiskStores());
diff --git
a/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/BackupDiskStoreCommand.java
b/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/BackupDiskStoreCommand.java
index 68e874d..b4fb469 100644
---
a/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/BackupDiskStoreCommand.java
+++
b/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/BackupDiskStoreCommand.java
@@ -25,7 +25,7 @@ import org.apache.geode.cache.persistence.PersistentID;
import org.apache.geode.distributed.DistributedMember;
import org.apache.geode.distributed.internal.DistributionManager;
import org.apache.geode.internal.cache.InternalCache;
-import org.apache.geode.internal.cache.backup.BackupUtil;
+import org.apache.geode.internal.cache.backup.BackupOperation;
import org.apache.geode.management.BackupStatus;
import org.apache.geode.management.cli.CliMetaData;
import org.apache.geode.management.cli.Result;
@@ -60,9 +60,9 @@ public class BackupDiskStoreCommand extends
InternalGfshCommand {
BackupStatus backupStatus;
if (baselineDir != null && !baselineDir.isEmpty()) {
- backupStatus = BackupUtil.backupAllMembers(dm, targetDir, baselineDir);
+ backupStatus = new BackupOperation().backupAllMembers(dm, targetDir,
baselineDir);
} else {
- backupStatus = BackupUtil.backupAllMembers(dm, targetDir, null);
+ backupStatus = new BackupOperation().backupAllMembers(dm, targetDir,
null);
}
Map<DistributedMember, Set<PersistentID>> backedupMemberDiskstoreMap =
diff --git
a/geode-core/src/test/java/org/apache/geode/internal/cache/backup/AbortBackupOperationTest.java
b/geode-core/src/test/java/org/apache/geode/internal/cache/backup/AbortBackupStepTest.java
similarity index 84%
rename from
geode-core/src/test/java/org/apache/geode/internal/cache/backup/AbortBackupOperationTest.java
rename to
geode-core/src/test/java/org/apache/geode/internal/cache/backup/AbortBackupStepTest.java
index c7b8b51..edc715d 100644
---
a/geode-core/src/test/java/org/apache/geode/internal/cache/backup/AbortBackupOperationTest.java
+++
b/geode-core/src/test/java/org/apache/geode/internal/cache/backup/AbortBackupStepTest.java
@@ -42,7 +42,7 @@ import org.apache.geode.internal.cache.InternalCache;
import org.apache.geode.test.junit.categories.UnitTest;
@Category(UnitTest.class)
-public class AbortBackupOperationTest {
+public class AbortBackupStepTest {
private DistributionManager dm;
@@ -54,7 +54,7 @@ public class AbortBackupOperationTest {
private AbortBackupRequest abortBackupRequest;
private AbortBackup abortBackup;
- private AbortBackupOperation abortBackupOperation;
+ private AbortBackupStep abortBackupStep;
@Before
public void setUp() throws Exception {
@@ -72,12 +72,12 @@ public class AbortBackupOperationTest {
member2 = mock(InternalDistributedMember.class, "member2");
Set<InternalDistributedMember> recipients = new HashSet<>();
- abortBackupOperation =
- new AbortBackupOperation(dm, sender, cache, recipients,
abortBackupFactory);
+ abortBackupStep =
+ new AbortBackupStep(dm, sender, cache, recipients, abortBackupFactory);
when(backupReplyProcessor.getProcessorId()).thenReturn(42);
- when(abortBackupFactory.createReplyProcessor(eq(abortBackupOperation),
eq(dm), eq(recipients)))
+ when(abortBackupFactory.createReplyProcessor(eq(abortBackupStep), eq(dm),
eq(recipients)))
.thenReturn(backupReplyProcessor);
when(abortBackupFactory.createRequest(eq(sender), eq(recipients), eq(42)))
.thenReturn(abortBackupRequest);
@@ -86,14 +86,14 @@ public class AbortBackupOperationTest {
@Test
public void sendShouldSendAbortBackupMessage() {
- abortBackupOperation.send();
+ abortBackupStep.send();
verify(dm, times(1)).putOutgoing(abortBackupRequest);
}
@Test
public void sendReturnsResultsForLocalMember() {
- assertThat(abortBackupOperation.send()).containsOnlyKeys(sender);
+ assertThat(abortBackupStep.send()).containsOnlyKeys(sender);
}
@Test
@@ -104,24 +104,24 @@ public class AbortBackupOperationTest {
doAnswer(invokeAddToResults(ids)).when(backupReplyProcessor).waitForReplies();
- assertThat(abortBackupOperation.send()).containsOnlyKeys(member1, member2,
sender);
+ assertThat(abortBackupStep.send()).containsOnlyKeys(member1, member2,
sender);
}
@Test
public void getResultsShouldReturnEmptyMapByDefault() {
- assertThat(abortBackupOperation.getResults()).isEmpty();
+ assertThat(abortBackupStep.getResults()).isEmpty();
}
@Test
public void addToResultsWithNullShouldBeNoop() {
- abortBackupOperation.addToResults(member1, null);
- assertThat(abortBackupOperation.getResults()).isEmpty();
+ abortBackupStep.addToResults(member1, null);
+ assertThat(abortBackupStep.getResults()).isEmpty();
}
@Test
public void addToResultsShouldShowUpInGetResults() {
- abortBackupOperation.addToResults(member1, new HashSet<>());
- assertThat(abortBackupOperation.getResults()).containsOnlyKeys(member1);
+ abortBackupStep.addToResults(member1, new HashSet<>());
+ assertThat(abortBackupStep.getResults()).containsOnlyKeys(member1);
}
@Test
@@ -129,20 +129,20 @@ public class AbortBackupOperationTest {
ReplyException replyException =
new ReplyException("expected exception", new
CacheClosedException("expected exception"));
doThrow(replyException).when(backupReplyProcessor).waitForReplies();
- abortBackupOperation.send();
+ abortBackupStep.send();
}
@Test
public void sendShouldHandleInterruptedExceptionFromWaitForReplies() throws
Exception {
doThrow(new InterruptedException("expected
exception")).when(backupReplyProcessor)
.waitForReplies();
- abortBackupOperation.send();
+ abortBackupStep.send();
}
@Test(expected = ReplyException.class)
public void sendShouldThrowReplyExceptionWithNoCauseFromWaitForReplies()
throws Exception {
doThrow(new ReplyException("expected
exception")).when(backupReplyProcessor).waitForReplies();
- abortBackupOperation.send();
+ abortBackupStep.send();
}
@Test(expected = ReplyException.class)
@@ -150,13 +150,13 @@ public class AbortBackupOperationTest {
throws Exception {
doThrow(new ReplyException("expected exception", new
RuntimeException("expected")))
.when(backupReplyProcessor).waitForReplies();
- abortBackupOperation.send();
+ abortBackupStep.send();
}
@Test
public void sendShouldAbortBackupInLocalMemberBeforeWaitingForReplies()
throws Exception {
InOrder inOrder = inOrder(abortBackup, backupReplyProcessor);
- abortBackupOperation.send();
+ abortBackupStep.send();
inOrder.verify(abortBackup, times(1)).run();
inOrder.verify(backupReplyProcessor, times(1)).waitForReplies();
@@ -165,7 +165,7 @@ public class AbortBackupOperationTest {
private Answer<Object> invokeAddToResults(MemberWithPersistentIds...
memberWithPersistentIds) {
return invocation -> {
for (MemberWithPersistentIds ids : memberWithPersistentIds) {
- abortBackupOperation.addToResults(ids.member, ids.persistentIds);
+ abortBackupStep.addToResults(ids.member, ids.persistentIds);
}
return null;
};
diff --git
a/geode-core/src/test/java/org/apache/geode/internal/cache/backup/BackupDistributedTest.java
b/geode-core/src/test/java/org/apache/geode/internal/cache/backup/BackupDistributedTest.java
index 9fb8cd9..a0a3653 100755
---
a/geode-core/src/test/java/org/apache/geode/internal/cache/backup/BackupDistributedTest.java
+++
b/geode-core/src/test/java/org/apache/geode/internal/cache/backup/BackupDistributedTest.java
@@ -700,7 +700,7 @@ public class BackupDistributedTest extends
PersistentPartitionedRegionTestBase {
private BackupStatus backupMember(final VM vm) {
return vm.invoke("backup", () -> {
try {
- return BackupUtil.backupAllMembers(getCache().getDistributionManager(),
+ return new
BackupOperation().backupAllMembers(getCache().getDistributionManager(),
backupBaseDir.toString(), null);
} catch (ManagementException e) {
throw new RuntimeException(e);
diff --git
a/geode-core/src/test/java/org/apache/geode/internal/cache/backup/BackupIntegrationTest.java
b/geode-core/src/test/java/org/apache/geode/internal/cache/backup/BackupIntegrationTest.java
index ac2f7e6..82b6de5 100644
---
a/geode-core/src/test/java/org/apache/geode/internal/cache/backup/BackupIntegrationTest.java
+++
b/geode-core/src/test/java/org/apache/geode/internal/cache/backup/BackupIntegrationTest.java
@@ -249,7 +249,8 @@ public class BackupIntegrationTest {
}
private BackupWriter getBackupWriter() {
- Properties backupProperties =
BackupUtil.createBackupProperties(backupDir.toString(), null);
+ Properties backupProperties =
+ new
BackupConfigFactory().withTargetDirPath(backupDir.toString()).createBackupProperties();
return BackupWriterFactory.FILE_SYSTEM.createWriter(backupProperties,
cache.getMyId().toString());
}
diff --git
a/geode-core/src/test/java/org/apache/geode/internal/cache/backup/BackupPrepareAndFinishMsgDUnitTest.java
b/geode-core/src/test/java/org/apache/geode/internal/cache/backup/BackupPrepareAndFinishMsgDUnitTest.java
index 8d22f07..1ab9933 100644
---
a/geode-core/src/test/java/org/apache/geode/internal/cache/backup/BackupPrepareAndFinishMsgDUnitTest.java
+++
b/geode-core/src/test/java/org/apache/geode/internal/cache/backup/BackupPrepareAndFinishMsgDUnitTest.java
@@ -144,15 +144,16 @@ public abstract class BackupPrepareAndFinishMsgDUnitTest
extends CacheTestCase {
throws InterruptedException, TimeoutException, ExecutionException {
DistributionManager dm =
GemFireCacheImpl.getInstance().getDistributionManager();
Set recipients = dm.getOtherDistributionManagerIds();
- Properties backupProperties =
BackupUtil.createBackupProperties(diskDirs[0].toString(), null);
+ Properties backupProperties = new BackupConfigFactory()
+ .withTargetDirPath(diskDirs[0].toString()).createBackupProperties();
Future<Void> future = null;
- new PrepareBackupOperation(dm, dm.getId(), dm.getCache(), recipients,
+ new PrepareBackupStep(dm, dm.getId(), dm.getCache(), recipients,
new PrepareBackupFactory(), backupProperties).send();
ReentrantLock backupLock = ((LocalRegion)
region).getDiskStore().getBackupLock();
future = CompletableFuture.runAsync(function);
Awaitility.await().atMost(5, TimeUnit.SECONDS)
.until(() -> assertTrue(backupLock.getQueueLength() > 0));
- new FinishBackupOperation(dm, dm.getId(), dm.getCache(), recipients, new
FinishBackupFactory())
+ new FinishBackupStep(dm, dm.getId(), dm.getCache(), recipients, new
FinishBackupFactory())
.send();
future.get(5, TimeUnit.SECONDS);
}
@@ -160,14 +161,15 @@ public abstract class BackupPrepareAndFinishMsgDUnitTest
extends CacheTestCase {
private void doReadActionsAndVerifyCompletion() {
DistributionManager dm =
GemFireCacheImpl.getInstance().getDistributionManager();
Set recipients = dm.getOtherDistributionManagerIds();
- Properties backupProperties =
BackupUtil.createBackupProperties(diskDirs[0].toString(), null);
- new PrepareBackupOperation(dm, dm.getId(), dm.getCache(), recipients,
+ Properties backupProperties = new BackupConfigFactory()
+ .withTargetDirPath(diskDirs[0].toString()).createBackupProperties();
+ new PrepareBackupStep(dm, dm.getId(), dm.getCache(), recipients,
new PrepareBackupFactory(), backupProperties).send();
ReentrantLock backupLock = ((LocalRegion)
region).getDiskStore().getBackupLock();
List<CompletableFuture<?>> futureList = doReadActions();
CompletableFuture.allOf(futureList.toArray(new
CompletableFuture<?>[futureList.size()]));
assertTrue(backupLock.getQueueLength() == 0);
- new FinishBackupOperation(dm, dm.getId(), dm.getCache(), recipients, new
FinishBackupFactory())
+ new FinishBackupStep(dm, dm.getId(), dm.getCache(), recipients, new
FinishBackupFactory())
.send();
}
diff --git
a/geode-core/src/test/java/org/apache/geode/internal/cache/backup/FinishBackupOperationTest.java
b/geode-core/src/test/java/org/apache/geode/internal/cache/backup/FinishBackupStepTest.java
similarity index 86%
rename from
geode-core/src/test/java/org/apache/geode/internal/cache/backup/FinishBackupOperationTest.java
rename to
geode-core/src/test/java/org/apache/geode/internal/cache/backup/FinishBackupStepTest.java
index a869337..f4fc0ad 100644
---
a/geode-core/src/test/java/org/apache/geode/internal/cache/backup/FinishBackupOperationTest.java
+++
b/geode-core/src/test/java/org/apache/geode/internal/cache/backup/FinishBackupStepTest.java
@@ -43,7 +43,7 @@ import org.apache.geode.internal.cache.InternalCache;
import org.apache.geode.test.junit.categories.UnitTest;
@Category(UnitTest.class)
-public class FinishBackupOperationTest {
+public class FinishBackupStepTest {
private DistributionManager dm;
private InternalCache cache;
@@ -60,7 +60,7 @@ public class FinishBackupOperationTest {
private FinishBackupRequest finishBackupRequest;
private FinishBackup finishBackup;
- private FinishBackupOperation finishBackupOperation;
+ private FinishBackupStep finishBackupStep;
@Before
public void setUp() throws Exception {
@@ -78,13 +78,13 @@ public class FinishBackupOperationTest {
member2 = mock(InternalDistributedMember.class, "member2");
recipients = new HashSet<>();
- finishBackupOperation =
- new FinishBackupOperation(dm, sender, cache, recipients,
finishBackupFactory);
+ finishBackupStep =
+ new FinishBackupStep(dm, sender, cache, recipients,
finishBackupFactory);
when(finishBackupReplyProcessor.getProcessorId()).thenReturn(42);
when(
- finishBackupFactory.createReplyProcessor(eq(finishBackupOperation),
eq(dm), eq(recipients)))
+ finishBackupFactory.createReplyProcessor(eq(finishBackupStep), eq(dm),
eq(recipients)))
.thenReturn(finishBackupReplyProcessor);
when(finishBackupFactory.createRequest(eq(sender), eq(recipients), eq(42)))
.thenReturn(finishBackupRequest);
@@ -93,7 +93,7 @@ public class FinishBackupOperationTest {
@Test
public void sendShouldSendfinishBackupMessage() throws Exception {
- finishBackupOperation.send();
+ finishBackupStep.send();
verify(dm, times(1)).putOutgoing(finishBackupRequest);
}
@@ -105,7 +105,7 @@ public class FinishBackupOperationTest {
doAnswer(invokeAddToResults(new MemberWithPersistentIds(member1,
persistentIdsForMember1)))
.when(finishBackupReplyProcessor).waitForReplies();
- assertThat(finishBackupOperation.send()).containsOnlyKeys(member1)
+ assertThat(finishBackupStep.send()).containsOnlyKeys(member1)
.containsValues(persistentIdsForMember1);
}
@@ -115,7 +115,7 @@ public class FinishBackupOperationTest {
persistentIdsForSender.add(mock(PersistentID.class));
when(finishBackup.run()).thenReturn(persistentIdsForSender);
- assertThat(finishBackupOperation.send()).containsOnlyKeys(sender)
+ assertThat(finishBackupStep.send()).containsOnlyKeys(sender)
.containsValue(persistentIdsForSender);
}
@@ -137,46 +137,46 @@ public class FinishBackupOperationTest {
persistentIdsForSender.add(mock(PersistentID.class));
when(finishBackup.run()).thenReturn(persistentIdsForSender);
- assertThat(finishBackupOperation.send()).containsOnlyKeys(member1,
member2, sender)
+ assertThat(finishBackupStep.send()).containsOnlyKeys(member1, member2,
sender)
.containsValues(persistentIdsForSender, persistentIdsForMember1,
persistentIdsForMember2);
}
@Test
public void getResultsShouldReturnEmptyMapByDefault() throws Exception {
- assertThat(finishBackupOperation.getResults()).isEmpty();
+ assertThat(finishBackupStep.getResults()).isEmpty();
}
@Test
public void addToResultsWithNullShouldBeNoop() throws Exception {
- finishBackupOperation.addToResults(member1, null);
- assertThat(finishBackupOperation.getResults()).isEmpty();
+ finishBackupStep.addToResults(member1, null);
+ assertThat(finishBackupStep.getResults()).isEmpty();
}
@Test
public void addToResultsWithEmptySetShouldBeNoop() throws Exception {
- finishBackupOperation.addToResults(member1, new HashSet<>());
- assertThat(finishBackupOperation.getResults()).isEmpty();
+ finishBackupStep.addToResults(member1, new HashSet<>());
+ assertThat(finishBackupStep.getResults()).isEmpty();
}
@Test
public void addToResultsShouldShowUpInGetResults() throws Exception {
HashSet<PersistentID> persistentIdsForMember1 = new HashSet<>();
persistentIdsForMember1.add(mock(PersistentID.class));
- finishBackupOperation.addToResults(member1, persistentIdsForMember1);
- assertThat(finishBackupOperation.getResults()).containsOnlyKeys(member1)
+ finishBackupStep.addToResults(member1, persistentIdsForMember1);
+ assertThat(finishBackupStep.getResults()).containsOnlyKeys(member1)
.containsValue(persistentIdsForMember1);
}
@Test
public void sendShouldHandleIOExceptionThrownFromRun() throws Exception {
when(finishBackup.run()).thenThrow(new IOException("expected exception"));
- finishBackupOperation.send();
+ finishBackupStep.send();
}
@Test(expected = RuntimeException.class)
public void sendShouldThrowNonIOExceptionThrownFromRun() throws Exception {
when(finishBackup.run()).thenThrow(new RuntimeException("expected
exception"));
- finishBackupOperation.send();
+ finishBackupStep.send();
}
@Test
@@ -184,21 +184,21 @@ public class FinishBackupOperationTest {
ReplyException replyException =
new ReplyException("expected exception", new
CacheClosedException("expected exception"));
doThrow(replyException).when(finishBackupReplyProcessor).waitForReplies();
- finishBackupOperation.send();
+ finishBackupStep.send();
}
@Test
public void sendShouldHandleInterruptedExceptionFromWaitForReplies() throws
Exception {
doThrow(new InterruptedException("expected
exception")).when(finishBackupReplyProcessor)
.waitForReplies();
- finishBackupOperation.send();
+ finishBackupStep.send();
}
@Test(expected = ReplyException.class)
public void sendShouldThrowReplyExceptionWithNoCauseFromWaitForReplies()
throws Exception {
doThrow(new ReplyException("expected
exception")).when(finishBackupReplyProcessor)
.waitForReplies();
- finishBackupOperation.send();
+ finishBackupStep.send();
}
@Test(expected = ReplyException.class)
@@ -206,13 +206,13 @@ public class FinishBackupOperationTest {
throws Exception {
doThrow(new ReplyException("expected exception", new
RuntimeException("expected")))
.when(finishBackupReplyProcessor).waitForReplies();
- finishBackupOperation.send();
+ finishBackupStep.send();
}
@Test
public void sendShouldfinishForBackupInLocalMemberBeforeWaitingForReplies()
throws Exception {
InOrder inOrder = inOrder(finishBackup, finishBackupReplyProcessor);
- finishBackupOperation.send();
+ finishBackupStep.send();
inOrder.verify(finishBackup, times(1)).run();
inOrder.verify(finishBackupReplyProcessor, times(1)).waitForReplies();
@@ -221,7 +221,7 @@ public class FinishBackupOperationTest {
private Answer<Object> invokeAddToResults(MemberWithPersistentIds...
memberWithPersistentIds) {
return invocation -> {
for (MemberWithPersistentIds ids : memberWithPersistentIds) {
- finishBackupOperation.addToResults(ids.member, ids.persistentIds);
+ finishBackupStep.addToResults(ids.member, ids.persistentIds);
}
return null;
};
diff --git
a/geode-core/src/test/java/org/apache/geode/internal/cache/backup/FlushToDiskOperationTest.java
b/geode-core/src/test/java/org/apache/geode/internal/cache/backup/FlushToDiskStepTest.java
similarity index 91%
rename from
geode-core/src/test/java/org/apache/geode/internal/cache/backup/FlushToDiskOperationTest.java
rename to
geode-core/src/test/java/org/apache/geode/internal/cache/backup/FlushToDiskStepTest.java
index bf937df..f8d5c83 100644
---
a/geode-core/src/test/java/org/apache/geode/internal/cache/backup/FlushToDiskOperationTest.java
+++
b/geode-core/src/test/java/org/apache/geode/internal/cache/backup/FlushToDiskStepTest.java
@@ -38,7 +38,7 @@ import org.apache.geode.internal.cache.InternalCache;
import org.apache.geode.test.junit.categories.UnitTest;
@Category(UnitTest.class)
-public class FlushToDiskOperationTest {
+public class FlushToDiskStepTest {
private DistributionManager dm;
private InternalCache cache;
@@ -51,7 +51,7 @@ public class FlushToDiskOperationTest {
private FlushToDiskRequest flushToDiskRequest;
private FlushToDisk flushToDisk;
- private FlushToDiskOperation flushToDiskOperation;
+ private FlushToDiskStep flushToDiskStep;
@Before
public void setUp() throws Exception {
@@ -67,8 +67,8 @@ public class FlushToDiskOperationTest {
sender = mock(InternalDistributedMember.class, "sender");
recipients = new HashSet<>();
- flushToDiskOperation =
- new FlushToDiskOperation(dm, sender, cache, recipients,
flushToDiskFactory);
+ flushToDiskStep =
+ new FlushToDiskStep(dm, sender, cache, recipients, flushToDiskFactory);
when(flushToDiskReplyProcessor.getProcessorId()).thenReturn(42);
@@ -81,7 +81,7 @@ public class FlushToDiskOperationTest {
@Test
public void sendShouldSendFlushToDiskMessage() throws Exception {
- flushToDiskOperation.send();
+ flushToDiskStep.send();
verify(dm, times(1)).putOutgoing(flushToDiskRequest);
}
@@ -91,21 +91,21 @@ public class FlushToDiskOperationTest {
ReplyException replyException =
new ReplyException("expected exception", new
CacheClosedException("expected exception"));
doThrow(replyException).when(flushToDiskReplyProcessor).waitForReplies();
- flushToDiskOperation.send();
+ flushToDiskStep.send();
}
@Test
public void sendShouldHandleInterruptedExceptionFromWaitForReplies() throws
Exception {
doThrow(new InterruptedException("expected
exception")).when(flushToDiskReplyProcessor)
.waitForReplies();
- flushToDiskOperation.send();
+ flushToDiskStep.send();
}
@Test(expected = ReplyException.class)
public void sendShouldThrowReplyExceptionWithNoCauseFromWaitForReplies()
throws Exception {
doThrow(new ReplyException("expected
exception")).when(flushToDiskReplyProcessor)
.waitForReplies();
- flushToDiskOperation.send();
+ flushToDiskStep.send();
}
@Test(expected = ReplyException.class)
@@ -113,13 +113,13 @@ public class FlushToDiskOperationTest {
throws Exception {
doThrow(new ReplyException("expected exception", new
RuntimeException("expected")))
.when(flushToDiskReplyProcessor).waitForReplies();
- flushToDiskOperation.send();
+ flushToDiskStep.send();
}
@Test
public void sendShouldProcessLocallyBeforeWaitingForReplies() throws
Exception {
InOrder inOrder = inOrder(flushToDisk, flushToDiskReplyProcessor);
- flushToDiskOperation.send();
+ flushToDiskStep.send();
inOrder.verify(flushToDisk, times(1)).run();
inOrder.verify(flushToDiskReplyProcessor, times(1)).waitForReplies();
diff --git
a/geode-core/src/test/java/org/apache/geode/internal/cache/backup/IncrementalBackupDistributedTest.java
b/geode-core/src/test/java/org/apache/geode/internal/cache/backup/IncrementalBackupDistributedTest.java
index be74312..49bc528 100644
---
a/geode-core/src/test/java/org/apache/geode/internal/cache/backup/IncrementalBackupDistributedTest.java
+++
b/geode-core/src/test/java/org/apache/geode/internal/cache/backup/IncrementalBackupDistributedTest.java
@@ -209,7 +209,7 @@ public class IncrementalBackupDistributedTest extends
JUnit4CacheTestCase {
private BackupStatus baseline(VM vm) {
return vm.invoke(() -> {
try {
- return
BackupUtil.backupAllMembers(getSystem().getDistributionManager(),
+ return new
BackupOperation().backupAllMembers(getSystem().getDistributionManager(),
getBaselineDir().toString(), null);
} catch (ManagementException e) {
throw new RuntimeException(e);
@@ -220,7 +220,7 @@ public class IncrementalBackupDistributedTest extends
JUnit4CacheTestCase {
private BackupStatus incremental(VM vm) {
return vm.invoke(() -> {
try {
- return
BackupUtil.backupAllMembers(getSystem().getDistributionManager(),
+ return new
BackupOperation().backupAllMembers(getSystem().getDistributionManager(),
getIncrementalDir().toString(), getBaselineBackupDir().toString());
} catch (ManagementException e) {
throw new RuntimeException(e);
@@ -231,7 +231,7 @@ public class IncrementalBackupDistributedTest extends
JUnit4CacheTestCase {
private BackupStatus incremental2(VM vm) {
return vm.invoke(() -> {
try {
- return
BackupUtil.backupAllMembers(getSystem().getDistributionManager(),
+ return new
BackupOperation().backupAllMembers(getSystem().getDistributionManager(),
getIncremental2Dir().toString(),
getIncrementalBackupDir().toString());
} catch (ManagementException e) {
throw new RuntimeException(e);
@@ -940,7 +940,7 @@ public class IncrementalBackupDistributedTest extends
JUnit4CacheTestCase {
@Override
public Object call() {
try {
- return
BackupUtil.backupAllMembers(getSystem().getDistributionManager(),
+ return new
BackupOperation().backupAllMembers(getSystem().getDistributionManager(),
getIncrementalDir().toString(), this.baselineDir.toString());
} catch (ManagementException e) {
diff --git
a/geode-core/src/test/java/org/apache/geode/internal/cache/backup/PrepareBackupFactoryTest.java
b/geode-core/src/test/java/org/apache/geode/internal/cache/backup/PrepareBackupFactoryTest.java
index 731dead..31cd759 100644
---
a/geode-core/src/test/java/org/apache/geode/internal/cache/backup/PrepareBackupFactoryTest.java
+++
b/geode-core/src/test/java/org/apache/geode/internal/cache/backup/PrepareBackupFactoryTest.java
@@ -74,7 +74,8 @@ public class PrepareBackupFactoryTest {
@Test
public void createPrepareBackupReturnsPrepareBackup() throws Exception {
- Properties properties = BackupUtil.createBackupProperties("targetDir",
null);
+ Properties properties =
+ new
BackupConfigFactory().withTargetDirPath("targetDir").createBackupProperties();
assertThat(prepareBackupFactory.createPrepareBackup(member, cache,
properties))
.isInstanceOf(PrepareBackup.class);
}
diff --git
a/geode-core/src/test/java/org/apache/geode/internal/cache/backup/PrepareBackupRequestTest.java
b/geode-core/src/test/java/org/apache/geode/internal/cache/backup/PrepareBackupRequestTest.java
index cb26a8c..3bb7cec 100644
---
a/geode-core/src/test/java/org/apache/geode/internal/cache/backup/PrepareBackupRequestTest.java
+++
b/geode-core/src/test/java/org/apache/geode/internal/cache/backup/PrepareBackupRequestTest.java
@@ -69,8 +69,8 @@ public class PrepareBackupRequestTest {
recipients = new HashSet<>();
persistentIds = new HashSet<>();
- backupProperties =
- BackupUtil.createBackupProperties(targetDir.toString(),
baselineDir.toString());
+ backupProperties = new
BackupConfigFactory().withTargetDirPath(targetDir.toString())
+ .withBaselineDirPath(baselineDir.toString()).createBackupProperties();
when(dm.getCache()).thenReturn(cache);
when(dm.getDistributionManagerId()).thenReturn(sender);
diff --git
a/geode-core/src/test/java/org/apache/geode/internal/cache/backup/PrepareBackupOperationTest.java
b/geode-core/src/test/java/org/apache/geode/internal/cache/backup/PrepareBackupStepTest.java
similarity index 84%
rename from
geode-core/src/test/java/org/apache/geode/internal/cache/backup/PrepareBackupOperationTest.java
rename to
geode-core/src/test/java/org/apache/geode/internal/cache/backup/PrepareBackupStepTest.java
index 3e24178..857984e 100644
---
a/geode-core/src/test/java/org/apache/geode/internal/cache/backup/PrepareBackupOperationTest.java
+++
b/geode-core/src/test/java/org/apache/geode/internal/cache/backup/PrepareBackupStepTest.java
@@ -45,7 +45,7 @@ import org.apache.geode.internal.cache.InternalCache;
import org.apache.geode.test.junit.categories.UnitTest;
@Category(UnitTest.class)
-public class PrepareBackupOperationTest {
+public class PrepareBackupStepTest {
private DistributionManager dm;
private InternalCache cache;
@@ -60,7 +60,7 @@ public class PrepareBackupOperationTest {
private PrepareBackupRequest prepareBackupRequest;
private PrepareBackup prepareBackup;
- private PrepareBackupOperation prepareBackupOperation;
+ private PrepareBackupStep prepareBackupStep;
@Before
public void setUp() throws Exception {
@@ -81,15 +81,15 @@ public class PrepareBackupOperationTest {
member2 = mock(InternalDistributedMember.class, "member2");
recipients = new HashSet<>();
- Properties backupProperties =
- BackupUtil.createBackupProperties(targetDir.toString(),
baselineDir.toString());
+ Properties backupProperties = new
BackupConfigFactory().withTargetDirPath(targetDir.toString())
+ .withBaselineDirPath(baselineDir.toString()).createBackupProperties();
- prepareBackupOperation = new PrepareBackupOperation(dm, sender, cache,
recipients,
+ prepareBackupStep = new PrepareBackupStep(dm, sender, cache, recipients,
prepareBackupFactory, backupProperties);
when(prepareBackupReplyProcessor.getProcessorId()).thenReturn(42);
- when(prepareBackupFactory.createReplyProcessor(eq(prepareBackupOperation),
eq(dm),
+ when(prepareBackupFactory.createReplyProcessor(eq(prepareBackupStep),
eq(dm),
eq(recipients))).thenReturn(prepareBackupReplyProcessor);
when(prepareBackupFactory.createRequest(eq(sender), eq(recipients), eq(42),
eq(backupProperties))).thenReturn(prepareBackupRequest);
@@ -99,7 +99,7 @@ public class PrepareBackupOperationTest {
@Test
public void sendShouldSendPrepareBackupMessage() throws Exception {
- prepareBackupOperation.send();
+ prepareBackupStep.send();
verify(dm, times(1)).putOutgoing(prepareBackupRequest);
}
@@ -111,7 +111,7 @@ public class PrepareBackupOperationTest {
doAnswer(invokeAddToResults(new MemberWithPersistentIds(member1,
persistentIdsForMember1)))
.when(prepareBackupReplyProcessor).waitForReplies();
- assertThat(prepareBackupOperation.send()).containsOnlyKeys(member1)
+ assertThat(prepareBackupStep.send()).containsOnlyKeys(member1)
.containsValues(persistentIdsForMember1);
}
@@ -121,7 +121,7 @@ public class PrepareBackupOperationTest {
persistentIdsForSender.add(mock(PersistentID.class));
when(prepareBackup.run()).thenReturn(persistentIdsForSender);
- assertThat(prepareBackupOperation.send()).containsOnlyKeys(sender)
+ assertThat(prepareBackupStep.send()).containsOnlyKeys(sender)
.containsValue(persistentIdsForSender);
}
@@ -139,53 +139,53 @@ public class PrepareBackupOperationTest {
doAnswer(invokeAddToResults(ids)).when(prepareBackupReplyProcessor).waitForReplies();
- // prepareBackupOperation.addToResults(ids[0].member,
ids[0].persistentIds);
- // prepareBackupOperation.addToResults(ids[1].member,
ids[1].persistentIds);
+ // prepareBackupStep.addToResults(ids[0].member, ids[0].persistentIds);
+ // prepareBackupStep.addToResults(ids[1].member, ids[1].persistentIds);
HashSet<PersistentID> persistentIdsForSender = new HashSet<>();
persistentIdsForSender.add(mock(PersistentID.class));
when(prepareBackup.run()).thenReturn(persistentIdsForSender);
- assertThat(prepareBackupOperation.send()).containsOnlyKeys(member1,
member2, sender)
+ assertThat(prepareBackupStep.send()).containsOnlyKeys(member1, member2,
sender)
.containsValues(persistentIdsForSender, persistentIdsForMember1,
persistentIdsForMember2);
}
@Test
public void getResultsShouldReturnEmptyMapByDefault() throws Exception {
- assertThat(prepareBackupOperation.getResults()).isEmpty();
+ assertThat(prepareBackupStep.getResults()).isEmpty();
}
@Test
public void addToResultsWithNullShouldBeNoop() throws Exception {
- prepareBackupOperation.addToResults(member1, null);
- assertThat(prepareBackupOperation.getResults()).isEmpty();
+ prepareBackupStep.addToResults(member1, null);
+ assertThat(prepareBackupStep.getResults()).isEmpty();
}
@Test
public void addToResultsWithEmptySetShouldBeNoop() throws Exception {
- prepareBackupOperation.addToResults(member1, new HashSet<>());
- assertThat(prepareBackupOperation.getResults()).isEmpty();
+ prepareBackupStep.addToResults(member1, new HashSet<>());
+ assertThat(prepareBackupStep.getResults()).isEmpty();
}
@Test
public void addToResultsShouldShowUpInGetResults() throws Exception {
HashSet<PersistentID> persistentIdsForMember1 = new HashSet<>();
persistentIdsForMember1.add(mock(PersistentID.class));
- prepareBackupOperation.addToResults(member1, persistentIdsForMember1);
- assertThat(prepareBackupOperation.getResults()).containsOnlyKeys(member1)
+ prepareBackupStep.addToResults(member1, persistentIdsForMember1);
+ assertThat(prepareBackupStep.getResults()).containsOnlyKeys(member1)
.containsValue(persistentIdsForMember1);
}
@Test
public void sendShouldHandleIOExceptionThrownFromRun() throws Exception {
when(prepareBackup.run()).thenThrow(new IOException("expected exception"));
- prepareBackupOperation.send();
+ prepareBackupStep.send();
}
@Test(expected = RuntimeException.class)
public void sendShouldThrowNonIOExceptionThrownFromRun() throws Exception {
when(prepareBackup.run()).thenThrow(new RuntimeException("expected
exception"));
- prepareBackupOperation.send();
+ prepareBackupStep.send();
}
@Test
@@ -193,21 +193,21 @@ public class PrepareBackupOperationTest {
ReplyException replyException =
new ReplyException("expected exception", new
CacheClosedException("expected exception"));
doThrow(replyException).when(prepareBackupReplyProcessor).waitForReplies();
- prepareBackupOperation.send();
+ prepareBackupStep.send();
}
@Test
public void sendShouldHandleInterruptedExceptionFromWaitForReplies() throws
Exception {
doThrow(new InterruptedException("expected
exception")).when(prepareBackupReplyProcessor)
.waitForReplies();
- prepareBackupOperation.send();
+ prepareBackupStep.send();
}
@Test(expected = ReplyException.class)
public void sendShouldThrowReplyExceptionWithNoCauseFromWaitForReplies()
throws Exception {
doThrow(new ReplyException("expected
exception")).when(prepareBackupReplyProcessor)
.waitForReplies();
- prepareBackupOperation.send();
+ prepareBackupStep.send();
}
@Test(expected = ReplyException.class)
@@ -215,13 +215,13 @@ public class PrepareBackupOperationTest {
throws Exception {
doThrow(new ReplyException("expected exception", new
RuntimeException("expected")))
.when(prepareBackupReplyProcessor).waitForReplies();
- prepareBackupOperation.send();
+ prepareBackupStep.send();
}
@Test
public void sendShouldPrepareForBackupInLocalMemberBeforeWaitingForReplies()
throws Exception {
InOrder inOrder = inOrder(prepareBackup, prepareBackupReplyProcessor);
- prepareBackupOperation.send();
+ prepareBackupStep.send();
inOrder.verify(prepareBackup, times(1)).run();
inOrder.verify(prepareBackupReplyProcessor, times(1)).waitForReplies();
@@ -230,7 +230,7 @@ public class PrepareBackupOperationTest {
private Answer<Object> invokeAddToResults(MemberWithPersistentIds...
memberWithPersistentIds) {
return invocation -> {
for (MemberWithPersistentIds ids : memberWithPersistentIds) {
- prepareBackupOperation.addToResults(ids.member, ids.persistentIds);
+ prepareBackupStep.addToResults(ids.member, ids.persistentIds);
}
return null;
};
diff --git
a/geode-core/src/test/java/org/apache/geode/internal/cache/partitioned/PersistentPartitionedRegionTestBase.java
b/geode-core/src/test/java/org/apache/geode/internal/cache/partitioned/PersistentPartitionedRegionTestBase.java
index d929722..8bb0644 100644
---
a/geode-core/src/test/java/org/apache/geode/internal/cache/partitioned/PersistentPartitionedRegionTestBase.java
+++
b/geode-core/src/test/java/org/apache/geode/internal/cache/partitioned/PersistentPartitionedRegionTestBase.java
@@ -44,7 +44,7 @@ import org.apache.geode.cache.partition.PartitionRegionInfo;
import
org.apache.geode.distributed.internal.membership.InternalDistributedMember;
import org.apache.geode.internal.cache.PartitionedRegion;
import org.apache.geode.internal.cache.PartitionedRegionDataStore;
-import org.apache.geode.internal.cache.backup.BackupUtil;
+import org.apache.geode.internal.cache.backup.BackupOperation;
import org.apache.geode.internal.cache.control.InternalResourceManager;
import
org.apache.geode.internal.cache.control.InternalResourceManager.ResourceObserver;
import
org.apache.geode.internal.cache.control.InternalResourceManager.ResourceObserverAdapter;
@@ -313,7 +313,7 @@ public abstract class PersistentPartitionedRegionTestBase
extends JUnit4CacheTes
protected BackupStatus backup(final VM vm) {
return vm.invoke("backup", () -> {
try {
- return
BackupUtil.backupAllMembers(getSystem().getDistributionManager(),
+ return new
BackupOperation().backupAllMembers(getSystem().getDistributionManager(),
getBackupDir().toString(), null);
} catch (ManagementException e) {
throw new RuntimeException(e);
diff --git
a/geode-core/src/test/java/org/apache/geode/management/internal/beans/DistributedSystemBridgeJUnitTest.java
b/geode-core/src/test/java/org/apache/geode/management/internal/beans/DistributedSystemBridgeJUnitTest.java
index f56d674..4dc033f 100644
---
a/geode-core/src/test/java/org/apache/geode/management/internal/beans/DistributedSystemBridgeJUnitTest.java
+++
b/geode-core/src/test/java/org/apache/geode/management/internal/beans/DistributedSystemBridgeJUnitTest.java
@@ -42,7 +42,7 @@ import
org.apache.geode.distributed.internal.DistributionManager;
import org.apache.geode.distributed.internal.locks.DLockService;
import org.apache.geode.internal.cache.GemFireCacheImpl;
import org.apache.geode.internal.cache.backup.AbortBackupRequest;
-import org.apache.geode.internal.cache.backup.BackupDataStoreHelper;
+import org.apache.geode.internal.cache.backup.BackupLockService;
import org.apache.geode.internal.cache.backup.BackupService;
import org.apache.geode.internal.cache.backup.FinishBackupRequest;
import org.apache.geode.internal.cache.backup.PrepareBackupRequest;
@@ -75,7 +75,7 @@ public class DistributedSystemBridgeJUnitTest {
DLockService dlock = mock(DLockService.class);
when(dlock.lock(any(), anyLong(), anyLong())).thenReturn(true);
-
DLockService.addLockServiceForTests(BackupDataStoreHelper.LOCK_SERVICE_NAME,
dlock);
+ DLockService.addLockServiceForTests(BackupLockService.LOCK_SERVICE_NAME,
dlock);
name1 = ObjectName
.getInstance(MessageFormat.format(OBJECTNAME__GATEWAYSENDER_MXBEAN,
"sender1", "server1"));
@@ -105,7 +105,7 @@ public class DistributedSystemBridgeJUnitTest {
@After
public void clearCache() {
-
DLockService.removeLockServiceForTests(BackupDataStoreHelper.LOCK_SERVICE_NAME);
+
DLockService.removeLockServiceForTests(BackupLockService.LOCK_SERVICE_NAME);
}
@Test