RussellSpitzer commented on a change in pull request #2380:
URL: https://github.com/apache/iceberg/pull/2380#discussion_r603234562



##########
File path: 
spark3/src/main/java/org/apache/iceberg/actions/Spark3SnapshotAction.java
##########
@@ -135,10 +140,23 @@ protected TableCatalog checkSourceCatalog(CatalogPlugin 
catalog) {
 
   @Override
   public SnapshotAction withLocation(String location) {
-    Preconditions.checkArgument(!sourceTableLocation().equals(location),
+    String qualifiedLocation = makeQualifiedLocation(location);
+    
Preconditions.checkArgument(!sourceTableLocation().equals(qualifiedLocation),
         "Cannot create snapshot where destination location is the same as the 
source location." +
             " This would cause a mixing of original table created and snapshot 
created files.");
     this.destTableLocation = location;
     return this;
   }
+
+  private String makeQualifiedLocation(String location) {
+    try {
+      Path path = new Path(location);
+      Configuration conf = spark().sessionState().newHadoopConf();
+      FileSystem fs = FileSystem.get(path.toUri(), conf);
+      return CatalogUtils.URIToString(fs.makeQualified(path).toUri());
+    } catch (IOException ioe) {
+      LOG.error("Failed to initialize hadoop filesystem.", ioe);
+      return location;

Review comment:
       We should probably just fail, after all if the location string cannot be 
resolved isn't it going to fail anyway?
   
   This makes me think we should be attempting to make a qualified path before 
comparing locations, so we can fail with cannot resolve uri before we have a 
chance to compare.




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
[email protected]



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to