graphprotocol / graphprotocol/graph-node

[Bug] graphman fails to copy a SG in failed state

Open
#5,269 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

area/graphman bug ops Stale
Dominant language
Rust
Stars
3.2k
Forks
1.1k
Avg merge
4d 1h
Merged PRs (30d)
1

Description

Bug report

When I try to copy a SG which is in failed state in the original shard I get this error

graphman copy create Qmck8CbUSdxStMDT4VzHUXdJyGjbSYcJ3bv9EroxjXbYso shard_l index_node_near_0
Defaulted container "graph-node" out of: graph-node, sysctl (init)
Error: store error: can not copy deployment Qmck8CbUSdxStMDT4VzHUXdJyGjbSYcJ3bv9EroxjXbYso[687669] because it has failed
command terminated with exit code 1

After this If I try to perform a graphman info I get this error which prevents me to use it further with the Hash

graphman info -s Qmck8CbUSdxStMDT4VzHUXdJyGjbSYcJ3bv9EroxjXbYso
Defaulted container "graph-node" out of: graph-node, sysctl (init)
thread 'main' panicked at node/src/manager/display.rs:17:13:
there are 14 headers but the row has 8 entries: ["apolopayapp/mainnet", "current", "Qmck8CbUSdxStMDT4VzHUXdJyGjbSYcJ3bv9EroxjXbYso", "sgd696771", "shard_l", "false", "near-mainnet", "---"]
stack backtrace:
   0: rust_begin_unwind
   1: core::panicking::panic_fmt
   2: graph_node::manager::display::List::append
   3: graph_node::manager::commands::info::run
   4: graphman::main::{{closure}}
   5: graphman::main
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.
command terminated with exit code 101

But I see it created the copy in the new shard

Defaulted container "graph-node" out of: graph-node, sysctl (init)
name      | apolopayapp/mainnet
status    | current
id        | Qmck8CbUSdxStMDT4VzHUXdJyGjbSYcJ3bv9EroxjXbYso
namespace | sgd696771
shard     | shard_l
active    | false
chain     | near-mainnet
node_id   | ---
----------+-------------------------------------------------------------------
name      | iochando/apolopaytesting
status    | pending
id        | Qmck8CbUSdxStMDT4VzHUXdJyGjbSYcJ3bv9EroxjXbYso
namespace | sgd696771
shard     | shard_l
active    | false
chain     | near-mainnet
node_id   | ---

It shouldn't allow to copy it throwing a warning and do not create the copy in failed state in the new shard. This new failed copy eventually get removed but until then I can't use the graphman accordingly

Relevant log output

No response

IPFS hash

Qmck8CbUSdxStMDT4VzHUXdJyGjbSYcJ3bv9EroxjXbYso

Subgraph name or link to explorer

No response

Some information to help us out
  • Tick this box if this bug is caused by a regression found in the latest release.
  • Tick this box if this bug is specific to the hosted service.
  • I have searched the issue tracker to make sure this issue is not a duplicate.
OS information

macOS

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Reproduce the failed-state flow with graphman copy create, then inspect the graphman copy and info paths, especially node/src/manager/display.rs and List::append. Verify that copying a failed deployment is rejected without creating a failed copy, and that graphman info no longer panics when displaying the affected deployment.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
cli
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
38/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.