code: private void checkUri(AlluxioURI uri) {
      Preconditions.checkNotNull(uri, "uri");
      if (uri.hasScheme()) {
        String warnMsg = "The URI scheme \"{}\" is ignored and not required in URIs passed to"
            + " the Alluxio Filesystem client.";
        switch (uri.getScheme()) {
          case Constants.SCHEME:
            LOG.warn(warnMsg, Constants.SCHEME);
            break;
          case Constants.SCHEME_FT:
            LOG.warn(warnMsg, Constants.SCHEME_FT);
            break;
          default:
            throw new IllegalArgumentException(
                String.format("Scheme %s:// in AlluxioURI is invalid. Schemes in filesystem"
                    + " operations are ignored. \"alluxio://\" or no scheme at all is valid.",
                    uri.getScheme()));
        }
      }
  
      if (uri.hasAuthority()) {
        LOG.warn("The URI authority (hostname and port) is ignored and not required in URIs passed "
            + "to the Alluxio Filesystem client.");
        /* Even if we choose to log the warning, check if the Configuration host matches what the
         * user passes. If not, throw an exception letting the user know they don't match.
         */
        Authority configured =
            MasterInquireClient.Factory.create(mFsContext.getClusterConf())
                .getConnectDetails().toAuthority();
        if (!configured.equals(uri.getAuthority())) {
          throw new IllegalArgumentException(
              String.format("The URI authority %s does not match the configured " + "value of %s.",
                  uri.getAuthority(), configured));
        }
      }
      return;
    }
docs: Checks an {@link AlluxioURI} for scheme and authority information. Warn the user and throw an
  exception if necessary.