Repository navigation
Description
Overview
This issue documents the execution plan for completing IISA v1 and related improvements. The remaining work is organized into 5 sequential waves, with each wave building on the previous.
Wave Structure
Wave 1: IISA HTTP Hardening (7 issues)
Establish production-ready HTTP communication before deployment.
- feat(iisa): Add timeout and retry logic to HTTP client #507
- feat(iisa): Define error handling and resilience policy #514
- feat(config): Expand IISA configuration options #519
- test(iisa): Add comprehensive HTTP client tests #509
- security: Review and harden IISA HTTP communication #517
- feat(observability): Add logging, metrics, and tracing for IISA HTTP client #518
- docs: Update documentation for containerized IISA architecture #508
| Issue | Title | Priority |
|---|---|---|
| #507 | Add timeout and retry logic to HTTP client | high |
| #514 | Define error handling and resilience policy | medium |
| #519 | Expand IISA configuration options | medium |
| #509 | Add comprehensive HTTP client tests | medium |
| #517 | Security review and harden IISA HTTP | feature |
| #518 | Add logging, metrics, and tracing | feature |
| #508 | Update documentation | polish |
Rationale: The HTTP client is the critical integration point. Timeout/retry (#507) and error handling (#514) are foundational. Security (#517) and observability (#518) follow. Configuration (#519) exposes these settings. Tests (#509) validate the implementation. Documentation (#508) captures the final state.
Wave 2: Deployment & Release (2 issues)
Ship the hardened IISA to production.
- release: Plan and execute IISA containerization release #516
- infra: Add Kubernetes deployment configuration for dipper and IISA #515
| Issue | Title | Priority |
|---|---|---|
| #516 | Plan and execute containerization release | high |
| #515 | Add Kubernetes deployment configuration | feature |
Note: These issues are tracked here for coordination, but the implementation work happens in
edgeandnode/subgraph-dips-indexer-selection. See also subgraph-dips-indexer-selection#1 for related production hardening tasks in that repo.
Rationale: With the HTTP client hardened and tested, the system is ready for deployment. K8s config (#515) enables deployment, and the release (#516) coordinates the rollout.
Wave 3: Agreement Lifecycle (2 issues)
Improve reliability and performance of agreement management.
- perf: Add database-side aggregation for pending agreements query #526
- Add periodic reassignment loop for active indexing requests #524
| Issue | Title | Priority |
|---|---|---|
| #526 | Database-side aggregation optimization | medium |
| #524 | Add periodic reassignment loop | v1 |
Rationale: Post-deployment improvements. The reassignment loop (#524) handles indexer failures gracefully. DB aggregation (#526) optimizes the batch query introduced in PR #522.
Wave 4: Scalability Validation (1 issue)
Validate the system under production-like load.
| Issue | Title | Priority |
|---|---|---|
| #520 | Validate HTTP payload at 25K subgraphs / 100 indexers | investigate |
Rationale: With the system deployed and stable, validate that it handles the expected scale. This informs any further optimization needs.
Wave 5: Future Work (1 issue)
Deferred improvements for v2.
| Issue | Title | Priority |
|---|---|---|
| #525 | Stale Created agreements timeout | v2 |
Rationale: This is a v2 feature that addresses edge cases in agreement lifecycle. Lower priority than core v1 functionality.
Completed
- Optimize CI pipeline performance #523 CI pipeline optimization (PR perf(ci): parallelize clippy and adopt cargo-nextest #527)
- feat(iisa): add load balancing context with batch query optimization #522 Extend CandidateSelection trait for load balancing context
Dependencies
Wave 1 ──► Wave 2 ──► Wave 3 ──► Wave 4 ──► Wave 5
│
└── Work in subgraph-dips-indexer-selection repo
Activity
MoonBoi9001 commentedon Jan 28, 2026
Marked as finished following latest development efforts and this PR graphprotocol/subgraph-dips-indexer-selection#51