Github user paul-rogers commented on a diff in the pull request:

    https://github.com/apache/drill/pull/984#discussion_r145506779
  
    --- Diff: 
exec/java-exec/src/test/java/org/apache/drill/exec/physical/impl/writer/TestCorruptParquetDateCorrection.java
 ---
    @@ -377,21 +386,21 @@ public void 
testReadOldMetadataCacheFileOverrideCorrection() throws Exception {
     
       @Test
       public void testReadNewMetadataCacheFileOverOldAndNewFiles() throws 
Exception {
    -    String table = format("dfs.`%s`", new 
Path(getDfsTestTmpSchemaLocation(), 
MIXED_CORRUPTED_AND_CORRECT_PARTITIONED_FOLDER));
    -    copyMetaDataCacheToTempReplacingInternalPaths(
    +    File meta = dirTestWatcher.copyResourceToRoot(
             
"parquet/4203_corrupt_dates/mixed_version_partitioned_metadata.requires_replace.txt",
    -        MIXED_CORRUPTED_AND_CORRECT_PARTITIONED_FOLDER, 
Metadata.METADATA_FILENAME);
    +        Paths.get(MIXED_CORRUPTED_AND_CORRECT_PARTITIONED_FOLDER, 
Metadata.METADATA_FILENAME).toString());
    --- End diff --
    
    Seems awkward. We use a path to concatenate strings, then convert back to a 
string, then to a file. Further, for some crazy reason, Hadoop also has a 
`Path` class that many tests reference.
    
    Can we instead do:
    
    `File meta = ...toRoot(new File(new 
File(MIXED_CORRUPTED_AND_CORRECT_PARTITIONED_FOLDER), 
Metadata.METADATA_FILENAME));
    ```
    
    Or, better, since seem to use this pattern over and over:
    
    ```
    File meta = ...toRoot(MIXED_CORRUPTED_AND_CORRECT_PARTITIONED_FOLDER, 
Metadata.METADATA_FILENAME);
    ```
    
    That is, the `copyResourceToRoot` has a form that takes a variable number 
of arguments to build up the target path. Each should be assumed to be relative 
"a/b", "c", "d.csv", say.


---

Reply via email to