Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -103,6 +103,7 @@ public void setup() throws Exception {
createChunkList(5);
OzoneClientConfig clientConfig = conf.getObject(OzoneClientConfig.class);
clientConfig.setChecksumVerify(false);
clientConfig.setReadRetryInterval(0);
Comment thread
smengcl marked this conversation as resolved.

Pipeline pipeline = MockPipeline.createSingleNodePipeline();
blockStream = new DummyBlockInputStream(blockID, blockSize, pipeline, null,
Expand Down Expand Up @@ -435,6 +436,7 @@ private BlockInputStream createSubject(BlockID blockID, Pipeline pipeline,
ChunkInputStream stream) throws IOException {
OzoneClientConfig clientConfig = conf.getObject(OzoneClientConfig.class);
clientConfig.setChecksumVerify(false);
clientConfig.setReadRetryInterval(0);
return new DummyBlockInputStream(blockID, blockSize, pipeline, null,
null, refreshFunction, chunks, null, clientConfig) {
@Override
Expand Down Expand Up @@ -495,6 +497,7 @@ public void testRefreshOnReadFailureAfterUnbuffer(IOException ex)

OzoneClientConfig clientConfig = conf.getObject(OzoneClientConfig.class);
clientConfig.setChecksumVerify(false);
clientConfig.setReadRetryInterval(0);
BlockInputStream subject = new BlockInputStream(
new BlockLocationInfo(new BlockLocationInfo.Builder().setBlockID(blockID).setLength(blockSize)),
pipeline, null, clientFactory, refreshFunction,
Expand Down Expand Up @@ -574,6 +577,7 @@ private BlockInputStream createLargeBlockStream() throws Exception {

OzoneClientConfig clientConfig = conf.getObject(OzoneClientConfig.class);
clientConfig.setChecksumVerify(false);
clientConfig.setReadRetryInterval(0);
Pipeline pipeline = MockPipeline.createSingleNodePipeline();
return new DummyBlockInputStream(blockID, blockSize, pipeline, null,
null, refreshFunction, chunks, chunkDataMap, clientConfig);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -987,7 +987,7 @@ void testAutoCompactionSmallSstFile(
long containerId = startContainerId;

// Create containers on each volume and export all container on new volume
int count = 200;
int count = 10;
long numberOfKeysToWrite = 500;
KeyValueContainerData containerData;
KeyValueContainer container;
Expand Down Expand Up @@ -1057,8 +1057,6 @@ void testAutoCompactionSmallSstFile(
// After moving away from using Table.loadFromFile(), no SST files are generated unless the db is force flushed
assertEquals(0, fileMetaDataList1.size());
hddsVolume.compactDb();
// Sleep a while to wait for compaction to complete
Thread.sleep(7000);
List<LiveFileMetaData> fileMetaDataList2 =
((RDBStore)(dnStore.getStore())).getDb().getLiveFilesMetaData();
assertThat(fileMetaDataList2).hasSizeLessThanOrEqualTo(fileMetaDataList1.size());
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -160,7 +160,7 @@ public class TestHandler implements EventHandler {
@Override
public void onMessage(Object payload, EventPublisher publisher) {
try {
Thread.sleep(2000);
Thread.sleep(500);
} catch (InterruptedException ex) {
Thread.currentThread().interrupt();
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -54,6 +54,7 @@
import org.apache.hadoop.ozone.recon.tasks.updater.ReconTaskStatusUpdaterManager;
import org.apache.ozone.recon.schema.generated.tables.daos.ReconTaskStatusDao;
import org.apache.ozone.test.GenericTestUtils;
import org.apache.ozone.test.MockClock;
import org.junit.jupiter.api.Test;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
Expand Down Expand Up @@ -387,11 +388,12 @@ public void testCheckpointCreationFailureAndRetry() throws Exception {
when(reconDbProvider.getDbStore()).thenReturn(mock(DBStore.class));
when(reconDbProvider.getStagedReconDBProvider()).thenReturn(reconDbProvider);

MockClock testClock = MockClock.newInstance();
ReconTaskControllerImpl reconTaskController = new ReconTaskControllerImpl(
config, new HashSet<>(), taskStatusUpdaterManager,
reconDbProvider, mock(ReconContainerMetadataManager.class),
mock(ReconNamespaceSummaryManager.class),
mock(ReconGlobalStatsManager.class), mock(ReconFileMetadataManager.class));
mock(ReconGlobalStatsManager.class), mock(ReconFileMetadataManager.class), testClock);

// Set up a mock OM metadata manager
ReconOMMetadataManager mockOMMetadataManager = mock(ReconOMMetadataManager.class);
Expand All @@ -409,7 +411,7 @@ reconDbProvider, mock(ReconContainerMetadataManager.class),
// Attempts 1-6: should return RETRY_LATER
for (int i = 1; i <= 6; i++) {
if (i > 1) {
Thread.sleep(2100); // Wait for retry delay
testClock.fastForward(2100); // Wait for retry delay
}
result = controllerSpy.queueReInitializationEvent(
ReconTaskReInitializationEvent.ReInitializationReason.BUFFER_OVERFLOW);
Expand All @@ -418,7 +420,7 @@ reconDbProvider, mock(ReconContainerMetadataManager.class),
}

// Attempt 7: should return MAX_RETRIES_EXCEEDED
Thread.sleep(2100);
testClock.fastForward(2100);
result = controllerSpy.queueReInitializationEvent(
ReconTaskReInitializationEvent.ReInitializationReason.BUFFER_OVERFLOW);
assertEquals(ReconTaskController.ReInitializationResult.MAX_RETRIES_EXCEEDED, result,
Expand Down Expand Up @@ -449,11 +451,12 @@ public void testRetryMechanismWithFullSnapshotFallback() throws Exception {
when(reconDbProvider.getDbStore()).thenReturn(mock(DBStore.class));
when(reconDbProvider.getStagedReconDBProvider()).thenReturn(reconDbProvider);

MockClock testClock = MockClock.newInstance();
ReconTaskControllerImpl reconTaskController = new ReconTaskControllerImpl(
config, new HashSet<>(), taskStatusUpdaterManager,
reconDbProvider, mock(ReconContainerMetadataManager.class),
mock(ReconNamespaceSummaryManager.class),
mock(ReconGlobalStatsManager.class), mock(ReconFileMetadataManager.class));
mock(ReconGlobalStatsManager.class), mock(ReconFileMetadataManager.class), testClock);

ReconOMMetadataManager mockOMMetadataManager = mock(ReconOMMetadataManager.class);
reconTaskController.updateOMMetadataManager(mockOMMetadataManager);
Expand All @@ -473,7 +476,7 @@ reconDbProvider, mock(ReconContainerMetadataManager.class),
for (int attempt = 1; attempt <= maxReinitQueueFailures; attempt++) {
if (attempt > 1) {
// Wait for delay between iterations
Thread.sleep(2100);
testClock.fastForward(2100);
}

ReconTaskController.ReInitializationResult result = controllerSpy.queueReInitializationEvent(
Expand Down Expand Up @@ -519,11 +522,12 @@ public void testSuccessfulCheckpointAfterFailures() throws Exception {
when(reconDbProvider.getDbStore()).thenReturn(mock(DBStore.class));
when(reconDbProvider.getStagedReconDBProvider()).thenReturn(reconDbProvider);

MockClock testClock = MockClock.newInstance();
ReconTaskControllerImpl reconTaskController = new ReconTaskControllerImpl(
config, new HashSet<>(), taskStatusUpdaterManager,
reconDbProvider, mock(ReconContainerMetadataManager.class),
mock(ReconNamespaceSummaryManager.class),
mock(ReconGlobalStatsManager.class), mock(ReconFileMetadataManager.class));
mock(ReconGlobalStatsManager.class), mock(ReconFileMetadataManager.class), testClock);

// Set up properly mocked ReconOMMetadataManager with required dependencies
ReconOMMetadataManager mockOMMetadataManager = mock(ReconOMMetadataManager.class);
Expand Down Expand Up @@ -558,7 +562,7 @@ reconDbProvider, mock(ReconContainerMetadataManager.class),
}

// Second attempt - should return RETRY_LATER (after delay)
Thread.sleep(2100);
testClock.fastForward(2100);
ReconTaskController.ReInitializationResult result2 = controllerSpy.queueReInitializationEvent(
ReconTaskReInitializationEvent.ReInitializationReason.BUFFER_OVERFLOW);
if (result2 != ReconTaskController.ReInitializationResult.SUCCESS) {
Expand Down