meatballspaghetti commented on code in PR #5380:
URL: https://github.com/apache/accumulo/pull/5380#discussion_r1987723193
##########
server/manager/src/test/java/org/apache/accumulo/manager/compaction/CompactionCoordinatorTest.java:
##########
@@ -455,4 +455,61 @@ public void testCleanUpRunning() throws Exception {
EasyMock.verify(context, creds, security, manager, ext1, ext2, ext3);
}
+
+ @Test
+ public void testCleanUpMultipleDeadCompactions() throws Exception {
+
+ ServerContext context = EasyMock.createNiceMock(ServerContext.class);
+ expect(context.getCaches()).andReturn(Caches.getInstance()).anyTimes();
+
expect(context.getConfiguration()).andReturn(DefaultConfiguration.getInstance()).anyTimes();
+
+ TCredentials creds = EasyMock.createNiceMock(TCredentials.class);
+ AuditedSecurityOperation security =
EasyMock.createNiceMock(AuditedSecurityOperation.class);
+ Manager manager = EasyMock.createNiceMock(Manager.class);
+ expect(manager.getSteadyTime()).andReturn(SteadyTime.from(100000,
TimeUnit.NANOSECONDS))
+ .anyTimes();
+
+ ExternalCompactionId ecid1 =
ExternalCompactionId.generate(UUID.randomUUID());
+ ExternalCompactionId ecid2 =
ExternalCompactionId.generate(UUID.randomUUID());
+ ExternalCompactionId ecid3 =
ExternalCompactionId.generate(UUID.randomUUID());
+
+ TExternalCompaction deadCompaction1 =
EasyMock.createMock(TExternalCompaction.class);
+ expect(deadCompaction1.getJob()).andReturn(new
TExternalCompactionJob()).anyTimes();
+
expect(deadCompaction1.getCompactor()).andReturn("localhost:9133").anyTimes();
+
expect(deadCompaction1.getGroupName()).andReturn(Constants.DEFAULT_RESOURCE_GROUP_NAME)
+ .anyTimes();
+
+ TExternalCompaction deadCompaction2 =
EasyMock.createMock(TExternalCompaction.class);
+ expect(deadCompaction2.getJob()).andReturn(new
TExternalCompactionJob()).anyTimes();
+
expect(deadCompaction2.getCompactor()).andReturn("localhost:9133").anyTimes();
+
expect(deadCompaction2.getGroupName()).andReturn(Constants.DEFAULT_RESOURCE_GROUP_NAME)
+ .anyTimes();
+
+ TExternalCompaction deadCompaction3 =
EasyMock.createMock(TExternalCompaction.class);
+ expect(deadCompaction3.getJob()).andReturn(new
TExternalCompactionJob()).anyTimes();
+
expect(deadCompaction3.getCompactor()).andReturn("localhost:9133").anyTimes();
+
expect(deadCompaction3.getGroupName()).andReturn(Constants.DEFAULT_RESOURCE_GROUP_NAME)
+ .anyTimes();
Review Comment:
I think this can be streamlined into a method that you call 3 times.
Something like this:
```
private TExternalCompaction createMockCompaction() {
TExternalCompaction mockCompaction =
EasyMock.createMock(TExternalCompaction.class);
expect(mockCompaction.getJob()).andReturn(new
TExternalCompactionJob()).anyTimes();
expect(mockCompaction.getCompactor()).andReturn("localhost:9133").anyTimes();
expect(mockCompaction.getGroupName()).andReturn(Constants.DEFAULT_RESOURCE_GROUP_NAME).
anyTimes();
return mockCompaction;
}
TExternalCompaction deadCompaction1 = createMockCompaction();
TExternalCompaction deadCompaction2 = createMockCompaction();
TExternalCompaction deadCompaction3 = createMockCompaction();
```
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]