-
Notifications
You must be signed in to change notification settings - Fork 135
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conform grafting auto-resolve feature to latest main
#805
Conversation
main
main
main
7f17f7d
to
a6ce65c
Compare
868589a
to
31d9213
Compare
31d9213
to
3e8c30b
Compare
bd5ba1d
to
bee85c9
Compare
bee85c9
to
f685641
Compare
This is an update on the current status of this PR, which is still a work in progress. This branch derives from #481, and the very first set of commits had the purpose of bringing it back to the latest Changes so farThe main changes are the introduction of two new modules in
The latter exposes a That's for the public items of this PR. Internally, the
All of this is used by the public UsageThis PR only replaced the call to It seems like the use of Current Status and Observations
The current design might contain flaws because the target (grafted) subgraph reentries the reconciliation loop after having its graft bases resolved. Also, all graft bases reenter the reconciliation loop, as new (temporary) indexing rules are created for them during Besides that, I found a bug in which the program tried to deploy a grafted subgraph (still unsure if it was the target or one of its bases) while its base was still syncing behind its expected block height. The strategy so far has been inspecting logs segmented by each reconciliation loop as to observe changes on the selected subgraph deployment sets. My last effort was focused on upgrading our logs for the Problems with the current Indexing Rules designWe need a value for the temporary indexing rule's Ideally, we would use the same protocol network as the target subgraph, but that information is erased in the previous steps of the reconciliation loop. Possible fixes are:
Alternative DesignsThis might not be the best design to solve this problem. The reconciliation loop holds no state in the application memory, and all data is collected fresh at every iteration. This turned out to be a problem, as the target (grafted) subgraph deployment indexing rule stays active until all the graft base resolution and the same is true for all graft bases except for the root. Ideally, the Agent could use a high-level component that would be aware of grafted subgraph deployment requests and state-fully orchestrate the deployment of the subgraph lineage without resorting to the indexing rules system. |
This migration works, but a bigger effort to adapt the whole system to this new concept is still required.
We may revive this later, but ideally this will be solved in graph-node. |
No description provided.