fix: make vector ingestion canonical and atomic
This commit is contained in:
@@ -7799,3 +7799,5 @@ Live deployment correction:
|
||||
- The first Tower rollout exposed a deployment race: all-in-one startup and `live_migration_smoke.sh` both began `alembic upgrade head` after PostgreSQL became reachable.
|
||||
- Startup committed head `202607140001`; the concurrent smoke transaction rolled back on a duplicate first column. Database contents and the successful migration remained healthy.
|
||||
- Both Tower deploy entry points now wait for the `geointel` container healthcheck, which includes completed startup migrations and backend readiness, before launching the independent migration smoke.
|
||||
- The first Statbel upload exposed 3D sector coordinates (`Z=0`) against the canonical 2D PostGIS vector column. The source is valid; GeoIntel now preserves the original artifact, records the Z-feature count and explicitly drops Z only for the 2D query index.
|
||||
- Vector upload persistence is now atomic across Dataset, DatasetVersion and VectorFeature rows, with storage cleanup on rollback. This prevents the failed-indexing orphan state observed during the live import.
|
||||
|
||||
@@ -155,3 +155,8 @@ V1 dataset strategy is complete when:
|
||||
- Historical cartographic classes can change meaning between editions. Source
|
||||
classes and processing notes remain provenance, and object changes require
|
||||
explicit stable source identity.
|
||||
- Canonical `vector_features.geometry` is 2D EPSG:4326. Valid source Z values
|
||||
are removed only from the query index, while the original upload remains
|
||||
unchanged and `z_dimension_feature_count` records that normalization.
|
||||
- Dataset, version and vector-feature rows are committed atomically. Failed
|
||||
geometry indexing rolls back all rows and removes the newly stored upload.
|
||||
|
||||
Reference in New Issue
Block a user