You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@impala.apache.org by jo...@apache.org on 2021/07/07 18:30:51 UTC
[impala] 01/04: IMPALA-10768: Deflake CatalogHmsFileMetadataTest
This is an automated email from the ASF dual-hosted git repository.
joemcdonnell pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/impala.git
commit 97bfd2f65408a45b0eb1cabe544e82ee14fcde1a
Author: Vihang Karajgaonkar <vi...@apache.org>
AuthorDate: Thu Jun 24 14:57:30 2021 -0700
IMPALA-10768: Deflake CatalogHmsFileMetadataTest
This test fails intermittently with an error which seems
to suggest that 2 lists which are being compared are in
different order. This patch sorts the two lists of
filedescriptors to make the comparision more deterministic.
Testing:
Ran the test locally a few times.
Change-Id: Ic0909f2364b4bc19d2a8786d2b99c9289e13b4ee
Reviewed-on: http://gerrit.cloudera.org:8080/17634
Reviewed-by: Impala Public Jenkins <im...@cloudera.com>
Tested-by: Impala Public Jenkins <im...@cloudera.com>
---
.../catalog/metastore/CatalogHmsFileMetadataTest.java | 15 +++++++++------
1 file changed, 9 insertions(+), 6 deletions(-)
diff --git a/fe/src/test/java/org/apache/impala/catalog/metastore/CatalogHmsFileMetadataTest.java b/fe/src/test/java/org/apache/impala/catalog/metastore/CatalogHmsFileMetadataTest.java
index 158b359..a4c3882 100644
--- a/fe/src/test/java/org/apache/impala/catalog/metastore/CatalogHmsFileMetadataTest.java
+++ b/fe/src/test/java/org/apache/impala/catalog/metastore/CatalogHmsFileMetadataTest.java
@@ -23,11 +23,9 @@ import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertTrue;
import com.google.common.collect.Iterables;
-import java.io.IOException;
-import java.net.Inet4Address;
-import java.net.ServerSocket;
import java.util.ArrayList;
import java.util.Arrays;
+import java.util.Comparator;
import java.util.List;
import java.util.Map;
import org.apache.hadoop.conf.Configuration;
@@ -131,9 +129,14 @@ public class CatalogHmsFileMetadataTest {
public static void assertFdsAreSame(List<FileDescriptor> fdsFromCatalog,
List<FileDescriptor> fdsFromHMS) {
assertEquals(fdsFromCatalog.size(), fdsFromHMS.size());
- for (int i=0; i<fdsFromCatalog.size(); i++) {
- FileDescriptor fdFromCatalog = fdsFromCatalog.get(i);
- FileDescriptor fdFromHMS = fdsFromHMS.get(i);
+ List<FileDescriptor> fds1 = new ArrayList<>(fdsFromCatalog);
+ List<FileDescriptor> fds2 = new ArrayList<>(fdsFromHMS);
+ // we sort the two list in case they are same but in different order
+ fds1.sort(Comparator.comparing(FileDescriptor::getRelativePath));
+ fds2.sort(Comparator.comparing(FileDescriptor::getRelativePath));
+ for (int i=0; i<fds1.size(); i++) {
+ FileDescriptor fdFromCatalog = fds1.get(i);
+ FileDescriptor fdFromHMS = fds2.get(i);
assertEquals(fdFromCatalog.getRelativePath(), fdFromHMS.getRelativePath());
assertEquals(fdFromCatalog.getFileCompression(), fdFromHMS.getFileCompression());
assertEquals(fdFromCatalog.getFileLength(), fdFromHMS.getFileLength());