prestodb/presto · error · FileNotFoundException

File does not exist

Error message

File  does not exist

What it means

Startup validation in the FileAuthenticator constructor: the configured password file (password.file / password-authenticator-file) does not exist on disk, so the file-based authenticator cannot be initialized and a FileNotFoundException is thrown at plugin setup time.

Source

Thrown at presto-password-authenticators/src/main/java/com/facebook/presto/password/file/FileAuthenticator.java:42

import java.security.Principal;
import java.util.function.Supplier;

import static com.google.common.base.Suppliers.memoizeWithExpiration;
import static java.util.concurrent.TimeUnit.MILLISECONDS;

public class FileAuthenticator
        implements PasswordAuthenticator
{
    private static final Logger log = Logger.get(FileAuthenticator.class);
    private final Supplier<PasswordStore> passwordStoreSupplier;

    @Inject
    public FileAuthenticator(FileConfig config) throws FileNotFoundException
    {
        File file = config.getPasswordFile();
        if (!file.exists()) {
            log.error("File %s does not exist", file.getAbsolutePath());
            throw new FileNotFoundException("File " + file.getAbsolutePath() + " does not exist");
        }
        int cacheMaxSize = config.getAuthTokenCacheMaxSize();

        passwordStoreSupplier = memoizeWithExpiration(
                () -> new PasswordStore(file, cacheMaxSize),
                config.getRefreshPeriod().toMillis(),
                MILLISECONDS);
    }

    @Override
    public Principal createAuthenticatedPrincipal(String user, String password)
    {
        if (!passwordStoreSupplier.get().authenticate(user, password)) {
            throw new AccessDeniedException("Invalid credentials");
        }

        return new BasicPrincipal(user);
    }

View on GitHub (pinned to 55bb57d202)

Solutions

  1. Create the password file at the configured path or fix the path in the configuration
  2. Ensure the coordinator process has read permission on the file
  3. Verify the config property points to the correct absolute path
Defensive patterns

Strategy: validation

When it happens

Trigger: Thrown at presto-password-authenticators/src/main/java/com/facebook/presto/password/file/FileAuthenticator.java:42 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/de4c1e31f8063331. Report an issue: GitHub.