Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
23 commits
Select commit Hold shift + click to select a range
a29de01
HDDS-9110. Bucket owner is getting unset on setting quota on that bucket
sumitagrawl Aug 2, 2023
d221c68
Merge branch 'apache:master' into master
sumitagrawl Aug 4, 2023
7b33e69
Merge branch 'apache:master' into master
sumitagrawl Aug 14, 2023
10d26b1
Merge branch 'apache:master' into master
sumitagrawl Aug 14, 2023
a04e3d6
Merge branch 'apache:master' into master
sumitagrawl Aug 21, 2023
35b5140
Merge branch 'apache:master' into master
sumitagrawl Aug 29, 2023
be9696b
Merge branch 'apache:master' into master
sumitagrawl Sep 12, 2023
af2d8eb
Merge branch 'apache:master' into master
sumitagrawl Sep 22, 2023
53887c5
Merge branch 'apache:master' into master
sumitagrawl Oct 6, 2023
abe1a05
Merge branch 'apache:master' into master
sumitagrawl Oct 17, 2023
7971a5a
Merge branch 'apache:master' into master
sumitagrawl Oct 31, 2023
00be328
Merge branch 'apache:master' into master
sumitagrawl Nov 9, 2023
a9ea8d4
Merge branch 'apache:master' into master
sumitagrawl Nov 30, 2023
9874c1c
Merge branch 'apache:master' into master
sumitagrawl Dec 7, 2023
d2c1717
Merge branch 'apache:master' into master
sumitagrawl Dec 8, 2023
314112c
Merge branch 'apache:master' into master
sumitagrawl Dec 15, 2023
f7378fb
Merge branch 'apache:master' into master
sumitagrawl Dec 23, 2023
2220fbc
Merge branch 'apache:master' into master
sumitagrawl Jan 3, 2024
b5dcfad
Merge branch 'apache:master' into master
sumitagrawl Jan 4, 2024
1c30c9a
HDDS-10061. NPE when container is loaded with missing container DB
sumitagrawl Jan 4, 2024
876ab2d
HDDS-9342. OM restart failed due to transactionLogIndex smaller than …
sumitagrawl Jan 5, 2024
fdf13cb
review comment fix
sumitagrawl Jan 5, 2024
c43cb54
Fix typo in test name
adoroszlai Jan 5, 2024
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 @@ -232,7 +232,8 @@ public static void parseKVContainerData(KeyValueContainerData kvContainerData,
LOG.error("Container DB file is missing for ContainerID {}. " +
"Skipping loading of this container.", containerID);
// Don't further process this container, as it is missing db file.
return;
throw new IOException("Container DB file is missing for containerID "
+ containerID);
}
kvContainerData.setDbFile(dbFile);

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,8 @@
import org.apache.hadoop.ozone.container.keyvalue.KeyValueContainerData;
import org.apache.hadoop.ozone.container.keyvalue.helpers.BlockUtils;
import org.apache.hadoop.ozone.container.metadata.DatanodeStoreSchemaThreeImpl;
import org.apache.ozone.test.GenericTestUtils;
import org.apache.ratis.util.FileUtils;
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.io.TempDir;

Expand All @@ -56,6 +58,7 @@
import java.util.ArrayList;
import java.util.List;
import java.util.UUID;
import org.slf4j.LoggerFactory;

import static org.apache.hadoop.hdds.protocol.datanode.proto.ContainerProtos.ContainerDataProto.State.DELETED;
import static org.apache.hadoop.hdds.protocol.datanode.proto.ContainerProtos.ContainerDataProto.State.RECOVERING;
Expand Down Expand Up @@ -308,6 +311,56 @@ public void testContainerReaderWithLoadException(
assertEquals(containerCount - 1, containerSet1.containerCount());
}

@ContainerTestVersionInfo.ContainerTest
public void testContainerReaderWithInvalidDbPath(
ContainerTestVersionInfo versionInfo) throws Exception {
setLayoutAndSchemaVersion(versionInfo);
setup(versionInfo);
MutableVolumeSet volumeSet1;
HddsVolume hddsVolume1;
ContainerSet containerSet1 = new ContainerSet(1000);
File volumeDir1 =
Files.createDirectory(tempDir.resolve("volumeDirDbDelete")).toFile();
RoundRobinVolumeChoosingPolicy volumeChoosingPolicy1;

volumeSet1 = mock(MutableVolumeSet.class);
UUID datanode = UUID.randomUUID();
hddsVolume1 = new HddsVolume.Builder(volumeDir1
.getAbsolutePath()).conf(conf).datanodeUuid(datanode
.toString()).clusterID(clusterId).build();
StorageVolumeUtil.checkVolume(hddsVolume1, clusterId, clusterId, conf,
null, null);
volumeChoosingPolicy1 = mock(RoundRobinVolumeChoosingPolicy.class);
when(volumeChoosingPolicy1.chooseVolume(anyList(), anyLong()))
.thenReturn(hddsVolume1);

List<File> dbPathList = new ArrayList<>();
int containerCount = 3;
for (int i = 0; i < containerCount; i++) {
KeyValueContainerData keyValueContainerData = new KeyValueContainerData(i,
layout,
(long) StorageUnit.GB.toBytes(5), UUID.randomUUID().toString(),
datanodeId.toString());
KeyValueContainer keyValueContainer =
new KeyValueContainer(keyValueContainerData, conf);
keyValueContainer.create(volumeSet1, volumeChoosingPolicy1, clusterId);
dbPathList.add(keyValueContainerData.getDbFile());
}
ContainerCache.getInstance(conf).shutdownCache();
for (File dbPath : dbPathList) {
FileUtils.deleteFully(dbPath.toPath());
}

GenericTestUtils.LogCapturer dnLogs = GenericTestUtils.LogCapturer.captureLogs(
LoggerFactory.getLogger(ContainerReader.class));
dnLogs.clearOutput();
ContainerReader containerReader = new ContainerReader(volumeSet1,
hddsVolume1, containerSet1, conf, true);
containerReader.readVolume(hddsVolume1.getHddsRootDir());
assertEquals(0, containerSet1.containerCount());
assertTrue(dnLogs.getOutput().contains("Container DB file is missing"));
}

@ContainerTestVersionInfo.ContainerTest
public void testMultipleContainerReader(ContainerTestVersionInfo versionInfo)
throws Exception {
Expand Down