-
Notifications
You must be signed in to change notification settings - Fork 2.1k
Description
Tendermint version (use tendermint version or git rev-parse --verify HEAD if installed from source):
v0.34.21
ABCI app (name for built-in, URL for self-written if it's publicly available):
Environment:
- OS (e.g. from /etc/os-release):
- Install tools:
- Others:
What happened:
We noticed that sometimes hermes gets multiple blocks from block_search for a query that should have returned a single block. The exact query was:
"send_packet.packet_sequence='890' AND
send_packet.packet_src_channel='channel-2' AND
send_packet.packet_src_port='provider' AND
send_packet.packet_dst_channel='channel-0' AND
send_packet.packet_dst_port='consumer'"
The block_search was returning two blocks, one had something like:
"end_block_events": [
{
"type": "send_packet",
"attributes": [
...
b'packet_sequence' b'890'
b'packet_src_port' b'provider'
b'packet_src_channel' b'channel-0'
b'packet_dst_port' b'consumer'
b'packet_dst_channel' b'channel-0'
...
]
},
{ =
"type": "send_packet",
"attributes": [
...
b'packet_sequence' b'884'
b'packet_src_port' b'provider'
b'packet_src_channel' b'channel-2'
b'packet_dst_port' b'consumer'
b'packet_dst_channel' b'channel-0'
...
]
}
]
(full IBC events from end_block_events are here)
This result seems to be wrong as the attributes span multiple send_packet types.
What you expected to happen:
If iiuc the block should be returned only if the attributes of an entry of the given type in the event list match the query. If my understanding is wrong please let me know. Also if the query can be formatted differently so we get the expected results.
Have you tried the latest version: yes
How to reproduce it (as minimally and precisely as possible):
I added a simple test in state/indexer/block/kv/kv_test.go
Metadata
Metadata
Assignees
Labels
Type
Projects
Status