algorand / algorand/go-algorand

GET /v2/transactions/pending returns empty array after a catchup

Đang mở
#3,743 0 bình luận 0 reaction 0 người được giao Xem trên GitHub
bug Team Carbon-11 Team Lamprey
Ngôn ngữ chính
Go
Star
1.4k
Fork
537
Merge trung bình
1 ngày 6 giờ
Pull request đã merge (30 ngày)
17

Mô tả

### Subject of the issue

When a node is brought up for the first time or after a period of being down and a catchup is performed, it doesn't appear to return the pending transactions after it's finished syncing. It can easily be resolved by bringing the node down and up again, but I imagine there's something preventing it from working straight away. This has been experienced in both sandbox and a local node.

### Your environment

All versions I've used over the months. Currently:

3.4.2.dev [rel/stable] (commit #54c3c397)
go-algorand is licensed with AGPLv3.0
source code available at https://github.com/algorand/go-algorand

macOS Monterey 12.2.1

### Steps to reproduce

1. `./sandbox clean`
2. `./sandbox up mainnet -v`
\*wait for catchup to complete\*
3. Check sync status `./sandbox goal node status -w 100`
\*wait until synced\*
4. `curl localhost:4001/v2/transactions/pending -H "X-Algo-API-Token: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"`
```
{
"top-transactions": [],
"total-transactions": 0
}
```
5. `./sandbox down`
6. `./sandbox up`
7. `curl localhost:4001/v2/transactions/pending -H "X-Algo-API-Token: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"`
```
{
"top-transactions": [
...txns now being returned...
],
"total-transactions": 72
}
```

### Expected behaviour

I'd expect pending transactions to be available once the node has caught up without restarting it.

### Actual behaviour

Restarting the node is required for the pending transactions to be returned.

Hướng dẫn đóng góp

Mở hướng dẫn đóng góp

Đánh giá

Issue này chưa được đánh giá.

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.