Open danielelisi opened 3 years ago
When a node is bootstrapping, the /chains/main/mempool/monitor_operations
RPC is unavailable. That RPC will 404 until the node has synced fully.
@danielelisi Can you check if these error occur on nodes that are bootstrapping only, or also on fully synced nodes?
@danielelisi Can you check if these error occur on nodes that are bootstrapping only, or also on fully synced nodes?
These logs are present on fully bootstrapped node as well. I tried to correlate them to node unsync events but there is no correlation.
For example these logs are taken from a Tezos node fully synched with mainnet. The node last unsync event was at around 00:30AM UTC. The logs below show the mempool operation
error being logged almost every hour. log timestamps are in UTC time
time="2021-08-04T11:16:18Z" level=error msg="error monitoring mempool operations" error="json: cannot unmarshal array into Go struct field Operation.contents of type map[string]interface {}" pool=applied
time="2021-08-04T11:16:18Z" level=error msg="error monitoring mempool operations" error="json: cannot unmarshal array into Go struct field Operation.contents of type map[string]interface {}" pool=branch_delayed
time="2021-08-04T11:16:18Z" level=error msg="error monitoring mempool operations" error="json: cannot unmarshal array into Go struct field Operation.contents of type map[string]interface {}" pool=branch_refused
time="2021-08-04T11:16:48Z" level=error msg="error monitoring mempool operations" error="json: cannot unmarshal array into Go struct field Operation.contents of type map[string]interface {}" pool=refused
time="2021-08-04T14:56:06Z" level=error msg="error monitoring mempool operations" error="json: cannot unmarshal array into Go struct field Operation.contents of type map[string]interface {}" pool=branch_refused
time="2021-08-04T14:56:36Z" level=error msg="error monitoring mempool operations" error="json: cannot unmarshal array into Go struct field Operation.contents of type map[string]interface {}" pool=branch_delayed
time="2021-08-04T14:56:36Z" level=error msg="error monitoring mempool operations" error="json: cannot unmarshal array into Go struct field Operation.contents of type map[string]interface {}" pool=branch_refused
time="2021-08-04T15:14:44Z" level=error msg="error monitoring mempool operations" error="json: cannot unmarshal array into Go struct field Operation.contents of type map[string]interface {}" pool=refused
time="2021-08-04T15:14:44Z" level=error msg="error monitoring mempool operations" error="json: cannot unmarshal array into Go struct field Operation.contents of type map[string]interface {}" pool=applied
time="2021-08-04T15:39:21Z" level=error msg="error monitoring mempool operations" error="json: cannot unmarshal array into Go struct field Operation.contents of type map[string]interface {}" pool=applied
time="2021-08-04T16:57:20Z" level=error msg="error monitoring mempool operations" error="json: cannot unmarshal array into Go struct field Operation.contents of type map[string]interface {}" pool=refused
time="2021-08-04T16:57:58Z" level=error msg="error monitoring mempool operations" error="json: cannot unmarshal array into Go struct field Operation.contents of type map[string]interface {}" pool=applied
time="2021-08-04T16:57:58Z" level=error msg="error monitoring mempool operations" error="json: cannot unmarshal array into Go struct field Operation.contents of type map[string]interface {}" pool=branch_delayed
time="2021-08-04T16:57:58Z" level=error msg="error monitoring mempool operations" error="json: cannot unmarshal array into Go struct field Operation.contents of type map[string]interface {}" pool=refused
time="2021-08-04T17:18:29Z" level=error msg="error monitoring mempool operations" error="json: cannot unmarshal array into Go struct field Operation.contents of type map[string]interface {}" pool=applied
time="2021-08-04T17:18:29Z" level=error msg="error monitoring mempool operations" error="json: cannot unmarshal array into Go struct field Operation.contents of type map[string]interface {}" pool=branch_refused
time="2021-08-04T17:18:29Z" level=error msg="error monitoring mempool operations" error="json: cannot unmarshal array into Go struct field Operation.contents of type map[string]interface {}" pool=branch_delayed
time="2021-08-04T17:18:29Z" level=error msg="error monitoring mempool operations" error="json: cannot unmarshal array into Go struct field Operation.contents of type map[string]interface {}" pool=refused
Could this be somewhat related to #23 ?
That issue also reports parsing errors on mempool
endpoints which aligns with the docker error logs. AFAIK json: cannot unmarshal
is a Go parsing error
Hello,
I just witnessed exactly the same logs after upgrading my mainnet and granadanet octez tezos nodes (docker images) from tezos/tezos:v9.7
to tezos/tezos:v10.0
.
$ sudo docker-compose logs --tail=50 -tf tezos-node-exporter
Attaching to mainnet_tezos-node-exporter_1
tezos-node-exporter_1 | 2021-08-20T18:44:34.989839875Z time="2021-08-20T18:44:34Z" level=info msg="starting mempool monitor" pool=branch_delayed
tezos-node-exporter_1 | 2021-08-20T18:44:34.989842582Z time="2021-08-20T18:44:34Z" level=info msg="tezos_exporter starting..." address=":9489"
tezos-node-exporter_1 | 2021-08-20T18:53:02.216883370Z time="2021-08-20T18:53:02Z" level=error msg="error monitoring mempool operations" error="json: cannot unmarshal array into Go struct field Operation.contents of type map[string]interface {}" pool=branch_refused
tezos-node-exporter_1 | 2021-08-20T18:53:02.216924004Z time="2021-08-20T18:53:02Z" level=error msg="error monitoring mempool operations" error="json: cannot unmarshal array into Go struct field Operation.contents of type map[string]interface {}" pool=branch_delayed
tezos-node-exporter_1 | 2021-08-20T18:53:02.216989824Z time="2021-08-20T18:53:02Z" level=error msg="error monitoring mempool operations" error="json: cannot unmarshal array into Go struct field Operation.contents of type map[string]interface {}" pool=applied
tezos-node-exporter_1 | 2021-08-20T18:53:02.217361052Z time="2021-08-20T18:53:02Z" level=error msg="error monitoring mempool operations" error="json: cannot unmarshal array into Go struct field Operation.contents of type map[string]interface {}" pool=refused
tezos-node-exporter_1 | 2021-08-20T19:07:03.525559151Z time="2021-08-20T19:07:03Z" level=error msg="error monitoring mempool operations" error="json: cannot unmarshal array into Go struct field Operation.contents of type map[string]interface {}" pool=branch_refused
I had the same with those 2 versions (tried upgrading to the latest one I found a ref for on github)
For info, this is my docker-compose.yml extract for the tezos-exporter
tezos-node-exporter:
#image: ecadlabs/tezos_exporter
image: ecadlabs/tezos_exporter:v0.0.1-beta.14
command: --tezos-node-url http://node:${node_port_rpc}
ports:
- ${prom_tezos_exporter}:9489
networks:
- node
restart: always
(with variables node_port_rpc
and prom_tezos_exporter
defined in the local .env
I just tried the suggestion from error #23 and the RPC mentionned there is answering correctly in my case (my node's RPC is on 8733)
$ curl -s -D - http://localhost:8733/chains/main/mempool/monitor_operations?applied
HTTP/1.1 200 OK
content-type: application/json
transfer-encoding: chunked
[...]
We're running the
tezos_exporter
with the following parametersI noticed that the Docker logs are filled up with the following
error monitoring mempool operations
errors