pingcap / pingcap/tidb

1105 (HY000): cannot set read timestamp to a future time

Open
#45,955 2 comments 0 reactions 0 assignees View on GitHub
severity/moderate sig/transaction type/bug
Dominant language
Go
Stars
40.5k
Forks
6.2k
PR merge metrics
PR metrics pending

Description

## Bug Report

Please answer these questions before submitting your issue. Thanks!

### 1. Minimal reproduce step (Required)

I'm running `v7.1.1` on K8s using the provided operator.

I configure read replicas like this to enable local reads:

```
mysql \
--host basic-tidb.tidb-cluster.svc.cluster.local \
--port 4000 \
--user root \
--password= \
--execute "set global tidb_replica_read = 'closest-replicas';"
```

I execute select statements which end with the following string to enable stale reads:

```
AS OF TIMESTAMP TIDB_BOUNDED_STALENESS(NOW() - INTERVAL 60 SECOND, NOW())
```

### 3. What did you see instead (Required)

My reads sometimes fail with the error `1105 (HY000): cannot set read timestamp to a future time`.
Also, this typically happens on just one of my three physical nodes - perhaps that node has a clock skew issue which is surfacing this bug.

Note, this only started to happen when I upgraded to `v7.1.1` from `v6.5.2`.
I don't believe my code changed in any important way in the interim.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.