apache/hadoop · error · IOException

Failed to store token in SQL secret manager

Error message

Failed to store token in SQL secret manager

What it means

Error "Failed to store token in SQL secret manager" thrown in apache/hadoop.

Source

Thrown at hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/security/token/delegation/SQLDelegationTokenSecretManager.java:122

  /**
   * Persists a TokenIdentifier and its corresponding TokenInformation into
   * the SQL database. The TokenIdentifier is expected to be unique and any
   * duplicate token attempts will result in an IOException.
   * @param ident TokenIdentifier to persist.
   * @param tokenInfo DelegationTokenInformation associated with the TokenIdentifier.
   */
  @Override
  protected void storeToken(TokenIdent ident,
      DelegationTokenInformation tokenInfo) throws IOException {
    try (ByteArrayOutputStream bos = new ByteArrayOutputStream();
        DataOutputStream dos = new DataOutputStream(bos)) {
      tokenInfo.write(dos);
      // Add token to SQL database
      insertToken(ident.getSequenceNumber(), ident.getBytes(), bos.toByteArray());
      // Add token to local cache
      super.storeToken(ident, tokenInfo);
    } catch (SQLException e) {
      throw new IOException("Failed to store token in SQL secret manager", e);
    }
  }

  /**
   * Updates the TokenInformation of an existing TokenIdentifier in
   * the SQL database.
   * @param ident Existing TokenIdentifier in the SQL database.
   * @param tokenInfo Updated DelegationTokenInformation associated with the TokenIdentifier.
   */
  @Override
  protected void updateToken(TokenIdent ident,
      DelegationTokenInformation tokenInfo) throws IOException {
    try (ByteArrayOutputStream bos = new ByteArrayOutputStream()) {
      try (DataOutputStream dos = new DataOutputStream(bos)) {
        tokenInfo.write(dos);
        // Update token in SQL database
        updateToken(ident.getSequenceNumber(), ident.getBytes(), bos.toByteArray());
        // Update token in local cache

View on GitHub (pinned to 2add963021)

Solutions

  1. Check the JDBC connection to the SQL token store: verify the connection URL, credentials, driver on the classpath, and that the token table exists. Inspect the chained SQLException for the underlying cause.

When it happens

Trigger: Thrown at hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/security/token/delegation/SQLDelegationTokenSecretManager.java:122 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of apache/hadoop@2add963021 (2026-08-22). Data as JSON: /api/errors/b5550f3a1dde9c82. Report an issue: GitHub.