subquery/subql

Project upgrade service, rollback to same parent untilBlock is not handle properly

Closed this issue · 0 comments

Prerequisites

deployments in metadata is not update for same block height deployment.

Description

To reproduce this
1, Init, We have a deployment start from block 1. QmTkVzvGrkekLZZEmoTW6zZ6R4nYM8En5pYvMUk7HYEY4z
2, Fix1 at block 100, upgrade to deployment QmeYoz81dWgHL6mj5ctf2Udxvi9HwsF79XRj4RgiwxL5v6
3. Fix2, We figured previous upgrade is broken, we need to rollback to block 100 and fix this deployment, use QmXR7Z1o4goCHXdeCmo6Uk4a1tRnj3YPYAqhkcFr52eqod.

When create fix2, we got a problem here we can not point to block 100 again if we set parent reference to Fix1, because it will throw deployment at 100 is already exist.
And If we try to point Fix2 parent to Init version, then seem project is rollback to block 99 and continue indexing. However deployment in metadata is not updated to Fix2, it remain Fix1. And each time when restart, it will rollback to block 99 again.

Details

These details can help to reproduce the environment the issue is occurring

Local Environment: [You can get this information from executing subql version.]
Query Version: [What is the version of the query service?]
Indexer Version: [What is the version of the indexer service?]
Network Details:

  • [Network]
  • [Block height, a block height where the issue is happening]
  • [Dictionary endpoint, if used]

Steps to Reproduce

  1. [First Step]
  2. [Second Step]
  3. [and so on...]

Example project: [A link to a minimal example that can reproduce the issue]

Expected behavior: [What you expected to happen]

Actual behavior: [What actually happened]

Any other information

Is there any other information you would like to add?