You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@kafka.apache.org by gu...@apache.org on 2020/03/18 03:15:24 UTC
[kafka] branch 2.5 updated: HOTFIX: StateDirectoryTest should use
Set instead of List (#8305)
This is an automated email from the ASF dual-hosted git repository.
guozhang pushed a commit to branch 2.5
in repository https://gitbox.apache.org/repos/asf/kafka.git
The following commit(s) were added to refs/heads/2.5 by this push:
new 89a5355 HOTFIX: StateDirectoryTest should use Set instead of List (#8305)
89a5355 is described below
commit 89a53557790971299fb22bbb985334fde5204664
Author: Boyang Chen <bo...@confluent.io>
AuthorDate: Mon Mar 16 21:37:46 2020 -0700
HOTFIX: StateDirectoryTest should use Set instead of List (#8305)
Reviewers: Matthias J. Sax <ma...@confluent.io>, Guozhang Wang <gu...@confluent.io>
---
.../processor/internals/StateDirectoryTest.java | 54 ++++++++++++++--------
1 file changed, 34 insertions(+), 20 deletions(-)
diff --git a/streams/src/test/java/org/apache/kafka/streams/processor/internals/StateDirectoryTest.java b/streams/src/test/java/org/apache/kafka/streams/processor/internals/StateDirectoryTest.java
index bfcaa44..34a4076 100644
--- a/streams/src/test/java/org/apache/kafka/streams/processor/internals/StateDirectoryTest.java
+++ b/streams/src/test/java/org/apache/kafka/streams/processor/internals/StateDirectoryTest.java
@@ -33,13 +33,15 @@ import java.nio.channels.OverlappingFileLockException;
import java.nio.file.StandardOpenOption;
import java.util.Arrays;
import java.util.Collections;
-import java.util.List;
import java.util.Objects;
import java.util.Properties;
+import java.util.Set;
import java.util.concurrent.CountDownLatch;
import java.util.concurrent.TimeUnit;
import java.util.concurrent.atomic.AtomicReference;
+import java.util.stream.Collectors;
+import static org.apache.kafka.common.utils.Utils.mkSet;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertNull;
@@ -214,23 +216,28 @@ public class StateDirectoryTest {
directory.lock(task0);
directory.lock(task1);
- List<File> files = Arrays.asList(Objects.requireNonNull(directory.listAllTaskDirectories()));
- assertEquals(3, files.size());
+ final File dir0 = new File(appDir, task0.toString());
+ final File dir1 = new File(appDir, task1.toString());
+ final File dir2 = new File(appDir, task2.toString());
+ Set<File> files = Arrays.stream(
+ Objects.requireNonNull(directory.listAllTaskDirectories())).collect(Collectors.toSet());
+ assertEquals(mkSet(dir0, dir1, dir2), files);
- files = Arrays.asList(Objects.requireNonNull(directory.listNonEmptyTaskDirectories()));
- assertEquals(3, files.size());
+ files = Arrays.stream(
+ Objects.requireNonNull(directory.listNonEmptyTaskDirectories())).collect(Collectors.toSet());
+ assertEquals(mkSet(dir0, dir1, dir2), files);
time.sleep(5000);
directory.cleanRemovedTasks(0);
- files = Arrays.asList(Objects.requireNonNull(directory.listAllTaskDirectories()));
- assertEquals(3, files.size());
+ files = Arrays.stream(
+ Objects.requireNonNull(directory.listAllTaskDirectories())).collect(Collectors.toSet());
+ assertEquals(mkSet(dir0, dir1, dir2), files);
- files = Arrays.asList(Objects.requireNonNull(directory.listNonEmptyTaskDirectories()));
- assertEquals(2, files.size());
- assertTrue(files.contains(new File(appDir, task0.toString())));
- assertTrue(files.contains(new File(appDir, task1.toString())));
+ files = Arrays.stream(
+ Objects.requireNonNull(directory.listNonEmptyTaskDirectories())).collect(Collectors.toSet());
+ assertEquals(mkSet(dir0, dir1), files);
} finally {
directory.unlock(task0);
directory.unlock(task1);
@@ -271,13 +278,17 @@ public class StateDirectoryTest {
final File storeDir = new File(taskDir1, "store");
assertTrue(storeDir.mkdir());
- assertEquals(Arrays.asList(taskDir1, taskDir2), Arrays.asList(directory.listAllTaskDirectories()));
- assertEquals(Collections.singletonList(taskDir1), Arrays.asList(directory.listNonEmptyTaskDirectories()));
+ assertEquals(mkSet(taskDir1, taskDir2), Arrays.stream(
+ directory.listAllTaskDirectories()).collect(Collectors.toSet()));
+ assertEquals(mkSet(taskDir1), Arrays.stream(
+ directory.listNonEmptyTaskDirectories()).collect(Collectors.toSet()));
directory.cleanRemovedTasks(0L);
- assertEquals(Arrays.asList(taskDir1, taskDir2), Arrays.asList(directory.listAllTaskDirectories()));
- assertEquals(Collections.emptyList(), Arrays.asList(directory.listNonEmptyTaskDirectories()));
+ assertEquals(mkSet(taskDir1, taskDir2), Arrays.stream(
+ directory.listAllTaskDirectories()).collect(Collectors.toSet()));
+ assertEquals(Collections.emptySet(), Arrays.stream(
+ directory.listNonEmptyTaskDirectories()).collect(Collectors.toSet()));
}
@Test
@@ -382,16 +393,19 @@ public class StateDirectoryTest {
@Test
public void shouldCleanupAllTaskDirectoriesIncludingGlobalOne() {
- directory.directoryForTask(new TaskId(1, 0));
+ final TaskId id = new TaskId(1, 0);
+ directory.directoryForTask(id);
directory.globalStateDir();
- List<File> files = Arrays.asList(Objects.requireNonNull(appDir.listFiles()));
- assertEquals(2, files.size());
+ final File dir0 = new File(appDir, id.toString());
+ final File globalDir = new File(appDir, "global");
+ assertEquals(mkSet(dir0, globalDir), Arrays.stream(
+ Objects.requireNonNull(appDir.listFiles())).collect(Collectors.toSet()));
directory.clean();
- files = Arrays.asList(Objects.requireNonNull(appDir.listFiles()));
- assertEquals(0, files.size());
+ assertEquals(Collections.emptySet(), Arrays.stream(
+ Objects.requireNonNull(appDir.listFiles())).collect(Collectors.toSet()));
}
@Test