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



##########
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:
       If failed, back to `location`. Any suggestions?




-- 
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