lukso-network / lukso-orchestrator

Orchestrating the dance of vanguard and pandora.
Apache License 2.0
6 stars 7 forks source link

Vanguard gets skipped status from orchestrator #41

Open atif-konasl opened 3 years ago

atif-konasl commented 3 years ago

Expected behaviour

Vanguard should get proper(verified, pending, invalid) confirmation status from orchestrator.

Actual behaviour

Orchestrator sends skipped status to vanguard client when vanguard requests for confirmation status for certain block. Vanguard already has a block for certain slot but orchestrator sends skipped status for that block which is really wired. Vanguard does not expect any skipped status from orchestrator because it does not send any request for skipped slot. Any slot can be skipped when vanguard does not produce any block for that slot.

Steps to reproduce the behaviour

./beacon-chain \
  --accept-terms-of-use \
  --chain-id=4004181 \
  --network-id=4004181 \
  --interop-genesis-state ./genesis.ssz \
  --interop-eth1data-votes \
  --force-clear-db \
  --datadir ./chaindata \
  --chain-config-file=./chain-config.yaml \
  --bootstrap-node="enr:-Ku4QEdqngAz3Jcopd9_0rEQuGS5fvNWn9Vv99cmvFHOKD15ZIU3vT20hesTMD2_GGYTkN8BTQHOMCME9Fac7RHocLABh2F0dG5ldHOIAAAAAAAAAACEZXRoMpD1pf1CAAAAAP__________gmlkgnY0gmlwhAoAACOJc2VjcDI1NmsxoQKWfbT1atCho149MGMvpgBWUymiOv9QyXYhgYEBZvPBW4N1ZHCCD6A" \
  --http-web3provider=http://34.90.129.243:8545 \
  --deposit-contract=0x000000000000000000000000000000000000cafe \
  --contract-deployment-block=0 \
  --rpc-host="0.0.0.0" \
  --monitoring-host="0.0.0.0" \
  --verbosity=debug \
  --min-sync-peers=0 \
  --p2p-max-peers=10 \
  --p2p-host-ip=103.60.172.10 \
  --p2p-tcp-port=13000 \
  --lukso-network \
  --orc-http-provider=http://34.90.129.243:7877 \
  --peer=/ip4/34.90.129.243/tcp/13000/p2p/16Uiu2HAm3MP6JdDV4RbJHPXBCHM9xRQNbfvkn1mZKMd4hjRZY7Wn \
  --no-discovery \
  --disable-discv5;

Backtrace

[2021-06-22 14:20:31] DEBUG blockchain: Unconfirmed block batch sends for publishing slot=1
[2021-06-22 14:20:31] DEBUG blockchain: Unconfirmed block batch sends for publishing slot=2
[2021-06-22 14:20:31] DEBUG blockchain: Unconfirmed block batch sends for publishing slot=9
[2021-06-22 14:20:31] DEBUG blockchain: Unconfirmed block batch sends for publishing slot=16
[2021-06-22 14:20:31] DEBUG blockchain: Unconfirmed block batch sends for publishing slot=27
[2021-06-22 14:20:31] DEBUG blockchain: Unconfirmed block batch sends for publishing slot=35
[2021-06-22 14:20:31] DEBUG blockchain: Unconfirmed block batch sends for publishing slot=47
[2021-06-22 14:20:31] DEBUG blockchain: Unconfirmed block batch sends for publishing slot=60
[2021-06-22 14:20:32] DEBUG initial-sync: Highest expected slot reached slot=32
[2021-06-22 14:20:32] DEBUG initial-sync: Context closed, exiting goroutine (blocks queue)
[2021-06-22 14:20:32] DEBUG initial-sync: Context closed, exiting goroutine (blocks fetcher)
[2021-06-22 14:20:32] DEBUG blockchain: got confirmation status from orchestrator slot=1 status=Verified
[2021-06-22 14:20:32] DEBUG blockchain: got confirmation status from orchestrator slot=2 status=Skipped
[2021-06-22 14:20:32] DEBUG blockchain: got confirmation status from orchestrator slot=9 status=Verified
[2021-06-22 14:20:32] DEBUG blockchain: verified by orchestrator blockHash=[58 188 64 108 103 121 97 191 138 206 189 57 38 88 64 175 53 127 235 185 224 67 175 179 182 107 62 167 176 30 71 94] slot=1
[2021-06-22 14:20:32] ERROR blockchain: got unknown status from orchestrator, exiting goroutine error=invalid status from orchestrator
github.com/prysmaticlabs/prysm/beacon-chain/blockchain.init
        beacon-chain/blockchain/van_process_pending_blocks.go:26
runtime.doInit
        GOROOT/src/runtime/proc.go:6265
runtime.doInit
        GOROOT/src/runtime/proc.go:6242
runtime.doInit
        GOROOT/src/runtime/proc.go:6242
runtime.main
        GOROOT/src/runtime/proc.go:208
runtime.goexit
        GOROOT/src/runtime/asm_amd64.s:1371
[2021-06-22 14:20:32]  WARN initial-sync: Batch is not processed error=invalid status from orchestrator
github.com/prysmaticlabs/prysm/beacon-chain/blockchain.init
        beacon-chain/blockchain/van_process_pending_blocks.go:26
runtime.doInit... (26 KB left)
blazejkrzak commented 3 years ago
[2021-06-22 14:20:32] ERROR blockchain: got unknown status from orchestrator, exiting goroutine error=invalid status from orchestrator
github.com/prysmaticlabs/prysm/beacon-chain/blockchain.init
beacon-chain/blockchain/van_process_pending_blocks.go:26

There is no uknown status in implementation. Maybe you get an error?

atif-konasl commented 3 years ago

@blazejkrzak vanguard expects verified, pending, invalid these 3 status from orchestrator. Unknown meaning these 3 status not coming to vanguard. I have describe the situation in issue.

blazejkrzak commented 3 years ago

Give me a sec

blazejkrzak commented 3 years ago

Which branch?

mxmar commented 3 years ago

@atif-konasl Which branch of the orchestrator and vanguard is it?

blazejkrzak commented 3 years ago
# Vanguard (beacon-chain and validator)
VANGUARD_GH_TAG: v0.0.13-alpha
# Pandora
PANDORA_GH_TAG: p-v0.0.12-tesla
# Orchestrator
ORCHESTRATOR_GH_TAG: v0.0.23-beta
blazejkrzak commented 3 years ago

Is it still a thing?