prestodb/presto · error · PrestoException

GENERIC_INTERNAL_ERROR

GENERIC_INTERNAL_ERROR

Error message

cannot create caching file system

What it means

getConfiguration's CachingJobConf factory wraps exceptions from building the caching FileSystem for a given URI (unsupported filesystem, cache factory failure); any failure creating the caching FS wrapper is reported with this message.

Source

Thrown at presto-hive/src/main/java/com/facebook/presto/hive/cache/HiveCachingHdfsConfiguration.java:83

        @SuppressWarnings("resource")
        Configuration config = new CachingJobConf((factoryConfig, factoryUri) -> {
            try {
                Configuration currentConfig = defaultConfig;
                if (uri.compareTo(factoryUri) != 0) {
                    currentConfig = hiveHdfsConfiguration.getConfiguration(context, factoryUri);
                }
                FileSystem fileSystem = (new Path(factoryUri)).getFileSystem(currentConfig);
                checkState(fileSystem instanceof ExtendedFileSystem);
                return cacheFactory.createCachingFileSystem(
                        factoryConfig,
                        factoryUri,
                        (ExtendedFileSystem) fileSystem,
                        cacheManager,
                        context.getSession().map(HiveSessionProperties::isCacheEnabled).orElse(cacheConfig.isCachingEnabled()),
                        cacheConfig);
            }
            catch (IOException e) {
                throw new PrestoException(GENERIC_INTERNAL_ERROR, "cannot create caching file system", e);
            }
        }, defaultConfig);
        return config;
    }

    public static class CachingJobConf
            extends WrapperJobConf
            implements FileSystemFactory
    {
        private final BiFunction<Configuration, URI, FileSystem> factory;

        public CachingJobConf(BiFunction<Configuration, URI, FileSystem> factory, Configuration config)
        {
            super(config);
            this.factory = requireNonNull(factory, "factory is null");
        }

        @Override

View on GitHub (pinned to 55bb57d202)

Solutions

  1. Check cache factory configuration and cache type settings
  2. Verify the underlying filesystem for the URI is reachable
  3. Inspect the nested exception cause
Defensive patterns

Strategy: try-catch

When it happens

Trigger: Thrown at presto-hive/src/main/java/com/facebook/presto/hive/cache/HiveCachingHdfsConfiguration.java:83 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of prestodb/presto@55bb57d202 (2026-09-04). Data as JSON: /api/errors/b0c0353059cc855b. Report an issue: GitHub.