Publish experimental Maven path indexes during version finalization - #498
Conversation
|
Suggested review approach (AI-generated guide; human review pending): Start with the incremental diff above #497 and the rollout guide. The PR's default Files changed view includes the still-unmerged engine work from #497. Then review the four commits in order:
Before enabling serving in hosted staging, the most useful deployment checks are the current guard/middleware contract, the existing 1.7 GB S3 redirect policy, cold-cache fallback load, and representative large-repository version creation with a burst of 200 API uploads. This draft keeps hosted auth unchanged, uses a process-local serving-descriptor TTL, and leaves remote/journal collection and cache-aware readiness for follow-up work. Local validation on the assembled branch: 205 tests and 4 subtests passed, including the S3 wire tests; Ruff, migration consistency, public imports, and Maven OpenAPI validation passed. |
|
The earlier review instructions are superseded. #497 is merged, and HTML generation has moved to independent #500. Review 2a7df17 (implementation), 4106eab (tests), and 9041306 (documentation), followed by 810312e (shared inline HTML response) and 3e0d24b (configuration simplification). The branch is rebased onto main at e5c6d9f. Use Files changed for the final combined diff. For the latest commit, start with path_index/config.py and settings.py: the repository label is the sole switch, S3 comes from domain.get_storage(), and view loading is fixed at two threads. Then check s3.py for domain encryption/object options with engine-owned checksums and conditional writes. Finally read test_path_index_config.py and the three domain-backed service cases in test_path_index_s3_service.py. The full suite passed 222 tests and 4 subtests, including six real S3 service tests. For the HTML follow-up, check inline headers, redirect suppression, shared validators/HEAD handling, and removal of the HTML cache setting and disk reservation. Suggested order:
The implementation does not optimize the immediate maven_deploy deadline or change hosted guards. Large-repository throughput, cold-pod admission and hosted middleware remain deployment validation work. Human review of this AI-generated code is pending. |
2aabb29 to
af09b70
Compare
Publish immutable S3 deltas and manifests before repository version completion. Store small committed descriptors, prepare exact views through shared pod caches, and preserve existing guard and fallback behavior. Generated-by: Codex
Cover repository modify with 200 orphan uploads, retention, S3 and DB failure ordering, descriptor refresh, compaction, multiple content workers and HTTP behavior. Generated-by: Codex
Describe synchronous publication, completed-version descriptors, disk budgets, maintenance and the independent HTML optimization. Generated-by: Codex
Reuse IndexedArtifactResponse with HTML headers and redirects disabled. Retain validators, HEAD and range handling, remove the HTML cache and its disk reservation, and cover directory aliases and explicit index pages. Generated-by: Codex
Remove global index modes and S3 overrides, reuse the domain client and object options, and fix background loading at two threads. Derive immutable namespaces from storage identity and cover tenant/default domain S3 requests, label removal, and storage options. Generated-by: Codex
c064f77 to
3e0d24b
Compare
Change the effective S3 storage location instead of the ignored default-domain storage_settings field. Assert that the profile changes before testing the rebuild. Verified all 27 affected lifecycle/configuration tests with both S3 and filesystem defaults. Generated-by: Codex
Observe ArtifactResponse file closure while the aiohttp test server is still running. A received response body is not a completion barrier for executor cleanup. Verified all 15 HTTP tests across 20 consecutive runs. Generated-by: Codex
Users upload Maven content as orphans and add it through repository modify. This integration publishes its binary index to S3 during finalization, before core completes the version or runs retention. If publication fails, modify fails and the previous completed version remains served.
The binary engine in #497 is merged. HTML generation optimization is now separate in #500. This draft preserves the existing HTML generator and removes the journal tables, asynchronous publisher, reconciliation schedule and reader overlays.
Behavior
See the rollout and failure guide, including the reset procedure for test deployments of earlier drafts.
Validation
Review and remaining deployment work
Review the foundation commits in order: 2a7df17 (implementation), 4106eab (tests), and 9041306 (documentation), followed by 810312e (shared inline HTML response) and 3e0d24b (repository-only opt-in, domain S3 configuration, and fixed loader concurrency). The branch is rebased onto main at e5c6d9f. The review-order comment below follows this sequence.
Earlier experimental deployments must rebuild their indexes in the domain namespace before resuming modify tasks; readers use DB fallback during the rebuild.
S3 is a write dependency. Bootstrap and occasional full compaction hold the repository reservation. Build scratch needs disk beyond the cache allowance; automatic index-object collection remains unimplemented. Cold pods can increase fallback DB load. Production-size modify throughput, queue latency, readiness and the actual hosted middleware still need deployment validation.
AI disclosure: implementation, tests, documentation and this description were generated with Codex. Commits include Generated-by: Codex; human review is pending.