You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@storm.apache.org by ag...@apache.org on 2020/12/10 15:16:10 UTC
[storm] branch master updated: STORM-3720 get correct results for
BlobStoreFile getModTime() (#3357)
This is an automated email from the ASF dual-hosted git repository.
agresch pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/storm.git
The following commit(s) were added to refs/heads/master by this push:
new eba7781 STORM-3720 get correct results for BlobStoreFile getModTime() (#3357)
eba7781 is described below
commit eba778189cac5be896fe8fb724b1852882bb851f
Author: agresch <ag...@gmail.com>
AuthorDate: Thu Dec 10 09:15:53 2020 -0600
STORM-3720 get correct results for BlobStoreFile getModTime() (#3357)
---
.../java/org/apache/storm/hdfs/blobstore/HdfsBlobStoreFile.java | 7 +------
.../org/apache/storm/hdfs/blobstore/HdfsBlobStoreImplTest.java | 8 ++++++++
.../java/org/apache/storm/blobstore/LocalFsBlobStoreFile.java | 6 +-----
3 files changed, 10 insertions(+), 11 deletions(-)
diff --git a/external/storm-hdfs-blobstore/src/main/java/org/apache/storm/hdfs/blobstore/HdfsBlobStoreFile.java b/external/storm-hdfs-blobstore/src/main/java/org/apache/storm/hdfs/blobstore/HdfsBlobStoreFile.java
index 45b15b1..bff6a08 100644
--- a/external/storm-hdfs-blobstore/src/main/java/org/apache/storm/hdfs/blobstore/HdfsBlobStoreFile.java
+++ b/external/storm-hdfs-blobstore/src/main/java/org/apache/storm/hdfs/blobstore/HdfsBlobStoreFile.java
@@ -45,7 +45,6 @@ public class HdfsBlobStoreFile extends BlobStoreFile {
private final String key;
private final boolean isTmp;
private final Path path;
- private Long modTime = null;
private final boolean mustBeNew;
private final Configuration hadoopConf;
private final FileSystem fileSystem;
@@ -106,11 +105,7 @@ public class HdfsBlobStoreFile extends BlobStoreFile {
@Override
public long getModTime() throws IOException {
- if (modTime == null) {
- FileSystem fs = path.getFileSystem(hadoopConf);
- modTime = fs.getFileStatus(path).getModificationTime();
- }
- return modTime;
+ return fileSystem.getFileStatus(path).getModificationTime();
}
private void checkIsNotTmp() {
diff --git a/external/storm-hdfs-blobstore/src/test/java/org/apache/storm/hdfs/blobstore/HdfsBlobStoreImplTest.java b/external/storm-hdfs-blobstore/src/test/java/org/apache/storm/hdfs/blobstore/HdfsBlobStoreImplTest.java
index 0d44f05..ba7b33d 100644
--- a/external/storm-hdfs-blobstore/src/test/java/org/apache/storm/hdfs/blobstore/HdfsBlobStoreImplTest.java
+++ b/external/storm-hdfs-blobstore/src/test/java/org/apache/storm/hdfs/blobstore/HdfsBlobStoreImplTest.java
@@ -104,6 +104,14 @@ public class HdfsBlobStoreImplTest {
ios.write(testString.getBytes(StandardCharsets.UTF_8));
}
+ // test modTime can change
+ Long initialModTime = pfile.getModTime();
+ try (OutputStream ios = pfile.getOutputStream()) {
+ ios.write(testString.getBytes(StandardCharsets.UTF_8));
+ }
+ Long nextModTime = pfile.getModTime();
+ assertTrue(nextModTime > initialModTime);
+
// test commit creates properly
assertTrue("BlobStore key dir wasn't created", fs.exists(fullKeyDir));
pfile.commit();
diff --git a/storm-server/src/main/java/org/apache/storm/blobstore/LocalFsBlobStoreFile.java b/storm-server/src/main/java/org/apache/storm/blobstore/LocalFsBlobStoreFile.java
index c4f3164..2262e90 100644
--- a/storm-server/src/main/java/org/apache/storm/blobstore/LocalFsBlobStoreFile.java
+++ b/storm-server/src/main/java/org/apache/storm/blobstore/LocalFsBlobStoreFile.java
@@ -29,7 +29,6 @@ public class LocalFsBlobStoreFile extends BlobStoreFile {
private final boolean isTmp;
private final File path;
private final boolean mustBeNew;
- private Long modTime = null;
private SettableBlobMeta meta;
public LocalFsBlobStoreFile(File base, String name) {
@@ -75,10 +74,7 @@ public class LocalFsBlobStoreFile extends BlobStoreFile {
@Override
public long getModTime() throws IOException {
- if (modTime == null) {
- modTime = path.lastModified();
- }
- return modTime;
+ return path.lastModified();
}
@Override