This is an automated email from the ASF dual-hosted git repository.
ckj pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/ozone.git
The following commit(s) were added to refs/heads/master by this push:
new 97b18c5d27 HDDS-8385. Ozone can't process snapshot when service UID >
2097151 (#4580)
97b18c5d27 is described below
commit 97b18c5d276e2afcdba11eacd6c457bfd99bdcb6
Author: GeorgeJahad <[email protected]>
AuthorDate: Tue Apr 18 23:01:26 2023 -0700
HDDS-8385. Ozone can't process snapshot when service UID > 2097151 (#4580)
---
.../apache/hadoop/ozone/container/keyvalue/TarContainerPacker.java | 4 +++-
.../hadoop/ozone/container/keyvalue/TestTarContainerPacker.java | 5 +++--
.../src/main/java/org/apache/hadoop/hdds/utils/HddsServerUtil.java | 4 +++-
.../main/java/org/apache/hadoop/ozone/om/OMDBCheckpointServlet.java | 2 ++
.../src/main/java/org/apache/hadoop/ozone/recon/ReconUtils.java | 1 +
5 files changed, 12 insertions(+), 4 deletions(-)
diff --git
a/hadoop-hdds/container-service/src/main/java/org/apache/hadoop/ozone/container/keyvalue/TarContainerPacker.java
b/hadoop-hdds/container-service/src/main/java/org/apache/hadoop/ozone/container/keyvalue/TarContainerPacker.java
index 77eb825b39..54fa6ae09d 100644
---
a/hadoop-hdds/container-service/src/main/java/org/apache/hadoop/ozone/container/keyvalue/TarContainerPacker.java
+++
b/hadoop-hdds/container-service/src/main/java/org/apache/hadoop/ozone/container/keyvalue/TarContainerPacker.java
@@ -272,7 +272,9 @@ public class TarContainerPacker
}
private static ArchiveOutputStream tar(OutputStream output) {
- return new TarArchiveOutputStream(output);
+ TarArchiveOutputStream os = new TarArchiveOutputStream(output);
+ os.setBigNumberMode(TarArchiveOutputStream.BIGNUMBER_POSIX);
+ return os;
}
@VisibleForTesting
diff --git
a/hadoop-hdds/container-service/src/test/java/org/apache/hadoop/ozone/container/keyvalue/TestTarContainerPacker.java
b/hadoop-hdds/container-service/src/test/java/org/apache/hadoop/ozone/container/keyvalue/TestTarContainerPacker.java
index 0b1757155f..ac2554a562 100644
---
a/hadoop-hdds/container-service/src/test/java/org/apache/hadoop/ozone/container/keyvalue/TestTarContainerPacker.java
+++
b/hadoop-hdds/container-service/src/test/java/org/apache/hadoop/ozone/container/keyvalue/TestTarContainerPacker.java
@@ -35,7 +35,6 @@ import java.util.Map;
import java.util.UUID;
import java.util.concurrent.atomic.AtomicInteger;
-import org.apache.commons.compress.archivers.ArchiveOutputStream;
import org.apache.commons.compress.archivers.tar.TarArchiveOutputStream;
import org.apache.hadoop.hdds.conf.OzoneConfiguration;
import org.apache.hadoop.ozone.container.common.impl.ContainerLayoutVersion;
@@ -381,7 +380,9 @@ public class TestTarContainerPacker {
File targetFile = TEMP_DIR.resolve("container.tar").toFile();
try (FileOutputStream output = new FileOutputStream(targetFile);
OutputStream compressed = packer.compress(output);
- ArchiveOutputStream archive = new TarArchiveOutputStream(compressed))
{
+ TarArchiveOutputStream archive =
+ new TarArchiveOutputStream(compressed)) {
+ archive.setBigNumberMode(TarArchiveOutputStream.BIGNUMBER_POSIX);
TarContainerPacker.includeFile(file, entryName, archive);
}
return targetFile;
diff --git
a/hadoop-hdds/framework/src/main/java/org/apache/hadoop/hdds/utils/HddsServerUtil.java
b/hadoop-hdds/framework/src/main/java/org/apache/hadoop/hdds/utils/HddsServerUtil.java
index f31ee3174d..201a70e42b 100644
---
a/hadoop-hdds/framework/src/main/java/org/apache/hadoop/hdds/utils/HddsServerUtil.java
+++
b/hadoop-hdds/framework/src/main/java/org/apache/hadoop/hdds/utils/HddsServerUtil.java
@@ -532,10 +532,12 @@ public final class HddsServerUtil {
public static void writeDBCheckpointToStream(DBCheckpoint checkpoint,
OutputStream destination)
throws IOException {
- try (ArchiveOutputStream archiveOutputStream =
+ try (TarArchiveOutputStream archiveOutputStream =
new TarArchiveOutputStream(destination);
Stream<Path> files =
Files.list(checkpoint.getCheckpointLocation())) {
+ archiveOutputStream.setBigNumberMode(
+ TarArchiveOutputStream.BIGNUMBER_POSIX);
for (Path path : files.collect(Collectors.toList())) {
if (path != null) {
Path fileName = path.getFileName();
diff --git
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/OMDBCheckpointServlet.java
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/OMDBCheckpointServlet.java
index c234903bcd..0f8e8b7edb 100644
---
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/OMDBCheckpointServlet.java
+++
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/OMDBCheckpointServlet.java
@@ -129,6 +129,8 @@ public class OMDBCheckpointServlet extends
DBCheckpointServlet {
new TarArchiveOutputStream(destination)) {
archiveOutputStream
.setLongFileMode(TarArchiveOutputStream.LONGFILE_POSIX);
+ archiveOutputStream
+ .setBigNumberMode(TarArchiveOutputStream.BIGNUMBER_POSIX);
writeFilesToArchive(copyFiles, hardLinkFiles, archiveOutputStream);
}
}
diff --git
a/hadoop-ozone/recon/src/main/java/org/apache/hadoop/ozone/recon/ReconUtils.java
b/hadoop-ozone/recon/src/main/java/org/apache/hadoop/ozone/recon/ReconUtils.java
index 7adc78657e..5f7e78a8b7 100644
---
a/hadoop-ozone/recon/src/main/java/org/apache/hadoop/ozone/recon/ReconUtils.java
+++
b/hadoop-ozone/recon/src/main/java/org/apache/hadoop/ozone/recon/ReconUtils.java
@@ -109,6 +109,7 @@ public class ReconUtils {
String fileName = sourceDir.concat(".tar");
fileOutputStream = new FileOutputStream(fileName);
tarOs = new TarArchiveOutputStream(fileOutputStream);
+ tarOs.setBigNumberMode(TarArchiveOutputStream.BIGNUMBER_POSIX);
File folder = new File(sourceDir);
File[] filesInDir = folder.listFiles();
if (filesInDir != null) {
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]