t8y2/dbx · error

execute Hive initFile statement: %w

Error message

execute Hive initFile statement: %w

What it means

This error wraps a failure to execute one of the SQL statements from the configured initFile during connection setup. openConnection runs every init statement through executeHiveStatement after the initial connect+ping; if any statement fails, connection establishment aborts with this wrapped error, stopping at the first failing statement.

Source

Thrown at agents/drivers/hive-go/main.go:372

	}
	server.database = database
	server.connection = connection
	return nil
}

func (server *server) connectionOpenTimeout() time.Duration {
	timeout := server.config.ConnectTimeout
	if strings.EqualFold(server.config.Auth, "BROWSER") && strings.TrimSpace(server.config.BrowserToken) == "" {
		timeout += server.config.BrowserResponseTimeout
	}
	return timeout
}

func runHiveInitStatements(ctx context.Context, connection *sql.Conn, statements []string, fetchSize int) error {
	for _, statement := range statements {
		rows, _, hasResultSet, err := executeHiveStatement(ctx, connection, statement, fetchSize)
		if err != nil {
			return fmt.Errorf("execute Hive initFile statement: %w", err)
		}
		if !hasResultSet {
			continue
		}
		for rows.Next() {
		}
		if rowsErr := rows.Err(); rowsErr != nil {
			_ = rows.Close()
			return fmt.Errorf("read Hive initFile statement result: %w", rowsErr)
		}
		if closeErr := rows.Close(); closeErr != nil {
			return fmt.Errorf("close Hive initFile statement result: %w", closeErr)
		}
	}
	return nil
}

func (server *server) dispatch(method string, params map[string]json.RawMessage) (any, bool, error) {

View on GitHub (pinned to c0390bff16)

Solutions

  1. Read the wrapped cause after 'execute Hive initFile statement:' for the exact server error and statement order
  2. Fix or remove the failing statement in the initFile configuration
  3. Test initFile statements manually in beeline with the same user before configuring them
  4. Ensure the connection user has permissions for every statement in the initFile

Example fix

// before: initFile with unsupported statement
SET autocommit=false;
USE analytics;
// after: Hive-compatible initFile
USE analytics;
Defensive patterns

Strategy: validation

Validate before calling

for _, stmt := range initStatements {
    if _, _, _, err := executeHiveStatement(ctx, conn, stmt, fetchSize); err != nil {
        return fmt.Errorf("initFile statement %q failed: %w", stmt, err)
    }
}

Try / catch

if err := openConnection(); err != nil {
    if strings.Contains(err.Error(), "execute Hive initFile statement:") {
        log.Printf("initFile problem: %v", errors.Unwrap(err))
    }
}

Prevention

When it happens

Trigger: Any initFile statement that HiveServer2 rejects: syntax error, permission denial, referencing a non-existent database/table/function, a USE to a missing database, or a statement timing out during openConnection's context.

Common situations: initFile copied from another engine (e.g. Postgres SET options unsupported in Hive); USE database that doesn't exist for this user; ADD JAR paths not present on the server; per-user permissions on init statements.

Related errors


AI-assisted analysis of t8y2/dbx@c0390bff16 (2026-09-05). Data as JSON: /api/errors/94882ba01354aac0. Report an issue: GitHub.