String getPathForAuth(String locationProperty, String defaultTableLocation) {
    boolean maskDefaultLocation = conf.getBoolean(ConfVars.HIVE_ICEBERG_MASK_DEFAULT_LOCATION.varname,
        ConfVars.HIVE_ICEBERG_MASK_DEFAULT_LOCATION.defaultBoolVal);
    String location = URI.create(locationProperty).getPath();
    if (!maskDefaultLocation || defaultTableLocation == null ||
        !arePathsInSameFs(locationProperty, defaultTableLocation)) {
      return encodeString(location);
    }
    try {
      Path locationPath = new Path(location);
      Path defaultLocationPath = locationPath.toUri().getScheme() != null ?
          FileUtils.makeQualified(new Path(defaultTableLocation), conf) :
          Path.getPathWithoutSchemeAndAuthority(new Path(defaultTableLocation));
      return encodeString(location.replaceFirst(defaultLocationPath.toString(), TABLE_DEFAULT_LOCATION));
    } catch (IOException e) {
      throw new RuntimeException(e);
    }
  }
Iceberg's optimistic concurrency control fails to provide means for IOW and Insert operations isolation.
Use `hive.txn.ext.locking.enabled` config to create Hive locks in order to guarantee data consistency.
iceberg/iceberg-handler/src/main/java/org/apache/iceberg/mr/hive/HiveIcebergStorageHandler.java