t8y2/dbx · error

IoTDB SHOW VERSION returned no rows

Error message

IoTDB SHOW VERSION returned no rows

What it means

validateConnection runs 'SHOW VERSION' expecting at least one row as proof the session is live. An empty result means the query succeeded structurally but the server returned no data, so the connection cannot be validated.

Source

Thrown at agents/drivers/iotdb/query.go:39

	columnTypes []string
	prefetched  []any
	remaining   int
}

type queryPageRead struct {
	state     *querySession
	rows      [][]any
	hasMore   bool
	truncated bool
}

func (s *server) validateConnection() error {
	values, err := s.queryValues("SHOW VERSION", "", 1, 0)
	if err != nil {
		return err
	}
	if len(values.Rows) == 0 {
		return errors.New("IoTDB SHOW VERSION returned no rows")
	}
	return nil
}

func (s *server) executeQuery(options queryOptions) (queryResult, error) {
	started := time.Now()
	sql := trimStatementSQL(options.SQL)
	if sql == "" {
		return queryResult{}, errors.New("sql is required")
	}
	if !isQueryStatement(sql) {
		if err := s.executeNonQuery(sql, effectiveDatabase(options), options.TimeoutSecs); err != nil {
			return queryResult{}, err
		}
		return queryResult{
			Columns:         []string{},
			ColumnTypes:     []string{},
			Rows:            [][]any{},

View on GitHub (pinned to c0390bff16)

Solutions

  1. Run 'SHOW VERSION' in the IoTDB CLI to confirm the server returns a version row.
  2. Reconnect/reopen the session (drop and re-establish) to clear any stale session state.
  3. Check server and driver version compatibility; upgrade the driver or server so SHOW VERSION semantics match.
Defensive patterns

Strategy: retry

Try / catch

err := s.validateConnection()
if err != nil {
	if strings.Contains(err.Error(), "SHOW VERSION returned no rows") {
		// reconnect once, then retry validation
		if rerr := s.reconnect(); rerr == nil {
			err = s.validateConnection()
		}
	}
	if err != nil { return err }
}

Prevention

When it happens

Trigger: Calling validateConnection against a server whose SHOW VERSION returns zero rows (unexpected server build/protocol behavior), or a session in a state where queries complete but return empty sets.

Common situations: Connecting to an incompatible IoTDB server version; a proxy/gateway swallowing the result rows; validating immediately after a server restart with a stale session.

Related errors


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