feat: tiles deletion creation (MAPCO-5735)#95
Open
razbroc wants to merge 16 commits into
Open
Conversation
…gurations Co-authored-by: Copilot <copilot@github.com>
Co-authored-by: Copilot <copilot@github.com>
…ion in task building Co-authored-by: Copilot <copilot@github.com>
…e for downloading reports Co-authored-by: Copilot <copilot@github.com>
… refactor related interfaces and task parameters Co-authored-by: Copilot <copilot@github.com>
…efining deletion task creation Co-authored-by: Copilot <copilot@github.com>
Co-authored-by: Copilot <copilot@github.com>
Co-authored-by: Copilot <copilot@github.com>
…and deletion task manager Co-authored-by: Copilot <copilot@github.com>
…URL handling - Removed S3Service dependency from TileDeletionTaskManager and updated report handling to use a URL instead of a path. - Modified readConflictFeatures function to download ZIP reports from a URL and extract shapefiles. - Enhanced logging messages for clarity in TileMergeTaskManager. - Cleaned up FSService constructor and type annotations for better readability. Co-authored-by: Copilot <copilot@github.com>
…les-deletion-skeleton
CL-SHLOMIKONCHA
requested changes
May 11, 2026
| TELEMETRY_METRICS_BUCKETS: {{ $metrics.buckets | toJson | quote }} | ||
| {{ end }} | ||
| {{- if eq (upper $storage.gpkgProvider) "S3" }} | ||
| {{- if (eq (upper $storage.gpkgProvider) "S3") }} |
| type: "" | ||
| finalize: | ||
| type: "" | ||
| merge: |
Contributor
There was a problem hiding this comment.
please add "tilesDeletion" task types values
| } as const; | ||
| /* eslint-enable @typescript-eslint/naming-convention */ | ||
|
|
||
| export type StorageProvider = (typeof StorageProvider)[keyof typeof StorageProvider]; |
Contributor
There was a problem hiding this comment.
export type StorageProvider = Omit<typeof SourceType, 'GPKG'>
|
|
||
| public async getIntersection(polygonPartsEntityName: string, payload: IntersectionFeatureCollection): Promise<IntersectedFeatureCollection> { | ||
| try { | ||
| this.logger.info({ msg: 'getIntersection', polygonPartsEntityName }); |
Contributor
There was a problem hiding this comment.
please change to debug log level and print the union geometry (fc)
| const { polygonPartsEntityName } = this.validateAndGenerateLayerNameFormats(job); | ||
| const layerRelativePath = taskBuildParams.taskMetadata.layerRelativePath; | ||
|
|
||
| const deletionTasks = this.tileDeletionTaskManager.buildTasks( |
Contributor
There was a problem hiding this comment.
for the buildTasks - define a dedicated type like we did on merge task type and reuse it
| const span = createChildSpan(`${TileDeletionTaskManager.name}.createTasksForPart.zoom.${zoom}`, parentSpan); | ||
|
|
||
| try { | ||
| const part = turfFeature(geometry); |
| const fileStream = createReadStream(filePath); | ||
|
|
||
| fileStream.on('data', (data) => { | ||
| fileStream.on('data', (data: string | Uint8Array<ArrayBuffer>) => { |
| "@map-colonies/mc-priority-queue": "^9.1.0", | ||
| "@map-colonies/mc-utils": "^5.1.0", | ||
| "@map-colonies/raster-shared": "^7.10.2", | ||
| "@map-colonies/raster-shared": "^8.1.0-alpha.3", |
Contributor
There was a problem hiding this comment.
should be replaced by the alpha version whenever realeased
Contributor
There was a problem hiding this comment.
check if needed - if not remove
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Related issues: #MAPCO-5735
This pull request introduces several enhancements and refactors to support a new report storage provider, improve S3 integration, and add new ingestion task types. The most significant changes include configuration and infrastructure updates for report storage, the addition of a new tile deletion ingestion task, and improvements to error handling and external service integration.
Storage Provider and S3 Integration:
reportStorageProvideroption in configuration files (config/default.json,config/custom-environment-variables.json) and Helm charts (helm/templates/configmap.yaml,helm/values.yaml) to allow the selection of storage backends for reports, similar to existing GPKG and tile storage providers. [1] [2] [3] [4]StorageProvidertype insrc/common/constants.tsto use values from@map-colonies/raster-shared, ensuring consistency across the codebase. [1] [2] [3]Ingestion Task Enhancements:
tilesDeletioningestion task type, including configuration options (type,tileBatchSize,taskBatchSize) and corresponding TypeScript interfaces. [1] [2] [3]TileDeletionTaskManager, ensuring deletion tasks are processed before merge tasks. [1] [2] [3]Dependency and Infrastructure Updates:
@map-colonies/raster-sharedpackage to version8.1.0-alpha.3, enabling new features and types.unziputility to the Docker image to support expanded data handling requirements.Error Handling and External Service Integration:
IntersectionErrorclass for improved error reporting when handling intersection operations with the polygon parts manager.PolygonPartsMangerClientto support intersection requests, including error handling and logging for intersection failures. [1] [2]