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());