From e2514590e4966f24c140a553575e92888b634199 Mon Sep 17 00:00:00 2001 From: Niv Greenstein <88280771+NivGreenstein@users.noreply.github.com> Date: Tue, 20 Jan 2026 15:44:15 +0200 Subject: [PATCH 01/10] feat: created partial-full schema for metatile-queue-populator --- .../full/v1.schema.json | 45 ++++ .../shared/v1.configs.json | 71 +++++++ .../shared/v1.schema.json | 198 ++++++++++++++++++ 3 files changed, 314 insertions(+) create mode 100644 schemas/vector/metatileQueuePopulator/full/v1.schema.json create mode 100644 schemas/vector/metatileQueuePopulator/shared/v1.configs.json create mode 100644 schemas/vector/metatileQueuePopulator/shared/v1.schema.json diff --git a/schemas/vector/metatileQueuePopulator/full/v1.schema.json b/schemas/vector/metatileQueuePopulator/full/v1.schema.json new file mode 100644 index 00000000..ab2a40f4 --- /dev/null +++ b/schemas/vector/metatileQueuePopulator/full/v1.schema.json @@ -0,0 +1,45 @@ +{ + "$id": "https://mapcolonies.com/vector/metatileQueuePopulator/full/v1", + "type": "object", + "title": "metatileQueuePopulatorFullV1", + "description": "Metatile Queue Populator's full schema", + "unevaluatedProperties": false, + "allOf": [ + { + "$ref": "https://mapcolonies.com/vector/metatileQueuePopulator/shared/v1" + }, + { + "type": "object", + "required": ["db"], + "properties": { + "db": { + "$ref": "https://mapcolonies.com/common/db/full/v2" + } + } + }, + { + "$ref": "#/definitions/appSchema" + } + ], + "definitions": { + "appSchema": { + "type": "object", + "required": ["app"], + "properties": { + "app": { + "description": "app configuration", + "type": "object", + "default": {}, + "properties": { + "projectName": { + "type": "string", + "description": "The name of the project", + "x-env-value": "APP_PROJECT_NAME" + } + }, + "required": ["projectName"] + } + } + } + } +} \ No newline at end of file diff --git a/schemas/vector/metatileQueuePopulator/shared/v1.configs.json b/schemas/vector/metatileQueuePopulator/shared/v1.configs.json new file mode 100644 index 00000000..4e19fcf1 --- /dev/null +++ b/schemas/vector/metatileQueuePopulator/shared/v1.configs.json @@ -0,0 +1,71 @@ +[ + { + "name": "vector-metatilequeuepopulator-shared", + "value": { + "telemetry": { + "shared": { + "serviceName": "metatileQueuePopulator" + }, + "tracing": { + "isEnabled": false + }, + "logger": { + "level": "info", + "prettyPrint": false + }, + "metrics": { + "enabled": true, + "buckets": [0.005, 0.01, 0.025, 0.05, 0.1, 0.25, 0.5, 1, 2.5, 5, 10, 15, 50, 250, 500] + } + }, + "openapiConfig": { + "filePath": "./openapi3.yaml", + "basePath": "/docs", + "rawPath": "/api", + "uiPath": "/api" + }, + "server": { + "port": 8080, + "request": { + "payload": { + "limit": "1mb" + } + }, + "response": { + "compression": { + "enabled": true, + "options": null + } + } + }, + "app": { + "consumeDelay": { + "enabled": true, + "delaySec": 60, + "tilesQueueSizeLimit": 400000 + }, + "enableRequestQueueHandling": true, + "force": { + "api": false, + "expiredTiles": false + }, + "metatileSize": 8, + "requestQueueCheckIntervalSec": 30, + "tilesBatchSize": 10000 + }, + "db": { + "$ref": { "configName": "db-connection", "version": "latest" }, + "ssl": { + "enabled": false + } + }, + "queue": { + "expireInSeconds": 600, + "retryBackoff": true, + "retryLimit": 3, + "retryDelaySeconds": 60, + "retentionHours": 87660 + } + } + } +] \ No newline at end of file diff --git a/schemas/vector/metatileQueuePopulator/shared/v1.schema.json b/schemas/vector/metatileQueuePopulator/shared/v1.schema.json new file mode 100644 index 00000000..4502a893 --- /dev/null +++ b/schemas/vector/metatileQueuePopulator/shared/v1.schema.json @@ -0,0 +1,198 @@ +{ + "$id": "https://mapcolonies.com/vector/metatileQueuePopulator/shared/v1", + "type": "object", + "title": "metatileQueuePopulatorSharedV1", + "description": "Metatile Queue Populator's shared schema", + "allOf": [ + { + "$ref": "https://mapcolonies.com/common/boilerplate/v2" + }, + { + "properties": { + "telemetry": { + "$ref": "#/definitions/metricsSchema" + } + } + }, + { + "type": "object", + "required": ["db"], + "properties": { + "db": { + "$ref": "https://mapcolonies.com/common/db/partial/v1" + } + } + }, + { + "$ref": "#/definitions/appSchema" + }, + { + "$ref": "#/definitions/queueSchema" + } + ], + "definitions": { + "appSchema": { + "type": "object", + "required": ["app"], + "properties": { + "app": { + "description": "app configuration", + "type": "object", + "properties": { + "enableRequestQueueHandling": { + "type": "boolean", + "description": "Flag to enable request queue handling", + "x-env-value": "APP_ENABLE_REQUEST_QUEUE_HANDLING", + "default": true + }, + "requestQueueCheckIntervalSec": { + "type": "integer", + "description": "Interval in seconds to check the request queue", + "x-env-value": "APP_REQUEST_QUEUE_CHECK_INTERVAL_SEC", + "default": 30 + }, + "tilesBatchSize": { + "type": "integer", + "description": "Size of the tiles batch", + "x-env-value": "APP_TILES_BATCH_SIZE", + "default": 10000 + }, + "metatileSize": { + "type": "integer", + "description": "Size of the metatile", + "x-env-value": "APP_METATILE_SIZE", + "default": 8 + }, + "consumeDelay": { + "type": "object", + "description": "Configuration for consume delay", + "properties": { + "enabled": { + "type": "boolean", + "description": "Flag to enable consume delay", + "x-env-value": "APP_CONSUME_DELAY_ENABLED", + "default": false + }, + "delaySec": { + "type": "integer", + "description": "number of seconds for consume delay", + "x-env-value": "APP_CONSUME_DELAY_SEC" + }, + "tilesQueueSizeLimit": { + "type": "number", + "description": "Limit of tiles queue size", + "x-env-value": "APP_CONSUME_DELAY_TILES_QUEUE_SIZE_LIMIT" + } + }, + "if": { + "properties": { + "enabled": { + "const": true + } + } + }, + "then": { + "required": ["delaySec", "tilesQueueSizeLimit"] + }, + "else": { + "properties": { + "enabled": { + "const": false + } + } + } + }, + "force": { + "type": "object", + "description": "Force configuration", + "properties": { + "api": { + "type": "boolean", + "description": "Flag to force API", + "x-env-value": "FORCE_API", + "default": false + }, + "expiredTiles": { + "type": "boolean", + "description": "Flag to force expired tiles", + "x-env-value": "FORCE_EXPIRED_TILES", + "default": false + } + } + } + }, + "required": ["enableRequestQueueHandling", "requestQueueCheckIntervalSec", "tilesBatchSize", "metatileSize", "consumeDelay", "force"] + } + } + }, + "queueSchema": { + "type": "object", + "required": ["queue"], + "properties": { + "queue": { + "description": "queue configuration", + "type": "object", + "default": {}, + "properties": { + "expireInSeconds": { + "type": "integer", + "description": "Time in seconds before the queue expires", + "x-env-value": "QUEUE_JOBS_EXPIRE_IN_SECONDS", + "default": 600 + }, + "retryBackoff": { + "type": "boolean", + "description": "Flag to enable retry backoff", + "x-env-value": "QUEUE_JOBS_RETRY_BACKOFF", + "default": true + }, + "retryLimit": { + "type": "integer", + "description": "Maximum number of retry attempts", + "x-env-value": "QUEUE_JOBS_RETRY_LIMIT", + "default": 3 + }, + "retryDelaySeconds": { + "type": "integer", + "description": "Delay in seconds between retry attempts", + "x-env-value": "QUEUE_JOBS_RETRY_DELAY_SECONDS", + "default": 60 + }, + "retentionHours": { + "type": "integer", + "description": "Time in hours to retain the queue", + "x-env-value": "QUEUE_JOBS_RETENTION_HOURS", + "default": 87660 + } + }, + "required": ["expireInSeconds", "retryBackoff", "retryLimit", "retryDelaySeconds", "retentionHours"] + } + } + }, + "metricsSchema": { + "type": "object", + "required": ["metrics"], + "properties": { + "metrics": { + "description": "metrics configuration", + "type": "object", + "default": {}, + "properties": { + "enabled": { + "type": "boolean", + "default": true + }, + "buckets": { + "type": "array", + "items": { + "type": "number" + }, + "default": [0.005, 0.01, 0.025, 0.05, 0.1, 0.25, 0.5, 1, 2.5, 5, 10, 15, 50, 250, 500] + } + }, + "required": ["enabled", "buckets"] + } + } + } + } +} \ No newline at end of file From 2bcae3344c50d4bc41fd12c7842964c947ac60b1 Mon Sep 17 00:00:00 2001 From: Niv Greenstein <88280771+NivGreenstein@users.noreply.github.com> Date: Tue, 20 Jan 2026 15:50:22 +0200 Subject: [PATCH 02/10] fix: added schemaId to config --- schemas/vector/metatileQueuePopulator/shared/v1.configs.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/schemas/vector/metatileQueuePopulator/shared/v1.configs.json b/schemas/vector/metatileQueuePopulator/shared/v1.configs.json index 4e19fcf1..fff15a33 100644 --- a/schemas/vector/metatileQueuePopulator/shared/v1.configs.json +++ b/schemas/vector/metatileQueuePopulator/shared/v1.configs.json @@ -54,7 +54,7 @@ "tilesBatchSize": 10000 }, "db": { - "$ref": { "configName": "db-connection", "version": "latest" }, + "$ref": { "configName": "db-connection", "version": "latest", "schemaId": "https://mapcolonies.com/common/db/partial/v1" }, "ssl": { "enabled": false } @@ -68,4 +68,4 @@ } } } -] \ No newline at end of file +] From 56689e1ba3bf2d75eed9f1827790ca8b040561fe Mon Sep 17 00:00:00 2001 From: Niv Greenstein <88280771+NivGreenstein@users.noreply.github.com> Date: Tue, 20 Jan 2026 15:50:30 +0200 Subject: [PATCH 03/10] fix: removed old schema --- .../metatileQueuePopulator/v1.schema.json | 208 ------------------ 1 file changed, 208 deletions(-) delete mode 100644 schemas/vector/metatileQueuePopulator/v1.schema.json diff --git a/schemas/vector/metatileQueuePopulator/v1.schema.json b/schemas/vector/metatileQueuePopulator/v1.schema.json deleted file mode 100644 index 1cec9e63..00000000 --- a/schemas/vector/metatileQueuePopulator/v1.schema.json +++ /dev/null @@ -1,208 +0,0 @@ -{ - "$id": "https://mapcolonies.com/vector/metatileQueuePopulator/v1", - "type": "object", - "title": "metatileQueuePopulatorV1", - "description": "Metatile Queue Populator's schema", - "allOf": [ - { - "$ref": "https://mapcolonies.com/common/boilerplate/v2" - }, - { - "properties": { - "telemetry": { - "$ref": "#/definitions/metricsSchema" - } - } - }, - { - "type": "object", - "required": ["db"], - "properties": { - "db": { - "$ref": "https://mapcolonies.com/common/db/full/v1" - } - } - }, - { - "$ref": "#/definitions/appSchema" - }, - { - "$ref": "#/definitions/queueSchema" - } - ], - "definitions": { - "appSchema": { - "type": "object", - "required": ["app"], - "properties": { - "app": { - "description": "app configuration", - "type": "object", - "default": {}, - "unevaluatedProperties": false, - "properties": { - "projectName": { - "type": "string", - "description": "The name of the project", - "x-env-value": "APP_PROJECT_NAME" - }, - "enableRequestQueueHandling": { - "type": "boolean", - "description": "Flag to enable request queue handling", - "x-env-value": "APP_ENABLE_REQUEST_QUEUE_HANDLING", - "default": true - }, - "requestQueueCheckIntervalSec": { - "type": "integer", - "description": "Interval in seconds to check the request queue", - "x-env-value": "APP_REQUEST_QUEUE_CHECK_INTERVAL_SEC", - "default": 30 - }, - "tilesBatchSize": { - "type": "integer", - "description": "Size of the tiles batch", - "x-env-value": "APP_TILES_BATCH_SIZE", - "default": 10000 - }, - "metatileSize": { - "type": "integer", - "description": "Size of the metatile", - "x-env-value": "APP_METATILE_SIZE", - "default": 8 - }, - "consumeDelay": { - "type": "object", - "description": "Configuration for consume delay", - "properties": { - "enabled": { - "type": "boolean", - "description": "Flag to enable consume delay", - "x-env-value": "APP_CONSUME_DELAY_ENABLED", - "default": false - }, - "delaySec": { - "type": "integer", - "description": "number of seconds for consume delay", - "x-env-value": "APP_CONSUME_DELAY_SEC" - }, - "tilesQueueSizeLimit": { - "type": "number", - "description": "Limit of tiles queue size", - "x-env-value": "APP_CONSUME_DELAY_TILES_QUEUE_SIZE_LIMIT" - } - }, - "if": { - "properties": { - "enabled": { - "const": true - } - } - }, - "then": { - "required": ["delaySec", "tilesQueueSizeLimit"] - } - }, - "force": { - "type": "object", - "description": "Force configuration", - "properties": { - "api": { - "type": "boolean", - "description": "Flag to force API", - "x-env-value": "FORCE_API", - "default": false - }, - "expiredTiles": { - "type": "boolean", - "description": "Flag to force expired tiles", - "x-env-value": "FORCE_EXPIRED_TILES", - "default": false - } - } - } - }, - "required": [ - "projectName", - "enableRequestQueueHandling", - "requestQueueCheckIntervalSec", - "tilesBatchSize", - "metatileSize", - "consumeDelay", - "force" - ] - } - } - }, - "queueSchema": { - "type": "object", - "required": ["queue"], - "properties": { - "queue": { - "description": "queue configuration", - "type": "object", - "default": {}, - "unevaluatedProperties": false, - "properties": { - "expireInSeconds": { - "type": "integer", - "description": "Time in seconds before the queue expires", - "x-env-value": "QUEUE_JOBS_EXPIRE_IN_SECONDS", - "default": 600 - }, - "retryBackoff": { - "type": "boolean", - "description": "Flag to enable retry backoff", - "x-env-value": "QUEUE_JOBS_RETRY_BACKOFF", - "default": true - }, - "retryLimit": { - "type": "integer", - "description": "Maximum number of retry attempts", - "x-env-value": "QUEUE_JOBS_RETRY_LIMIT", - "default": 3 - }, - "retryDelaySeconds": { - "type": "integer", - "description": "Delay in seconds between retry attempts", - "x-env-value": "QUEUE_JOBS_RETRY_DELAY_SECONDS", - "default": 60 - }, - "retentionHours": { - "type": "integer", - "description": "Time in hours to retain the queue", - "x-env-value": "QUEUE_JOBS_RETENTION_HOURS", - "default": 87660 - } - }, - "required": ["expireInSeconds", "retryBackoff", "retryLimit", "retryDelaySeconds", "retentionHours"] - } - } - }, - "metricsSchema": { - "type": "object", - "required": ["metrics"], - "properties": { - "metrics": { - "description": "metrics configuration", - "type": "object", - "default": {}, - "unevaluatedProperties": false, - "properties": { - "enabled": { - "type": "boolean", - "default": true - }, - "buckets": { - "type": "array", - "items": { - "type": "number" - }, - "default": [0.005, 0.01, 0.025, 0.05, 0.1, 0.25, 0.5, 1, 2.5, 5, 10, 15, 50, 250, 500] - } - }, - "required": ["enabled", "buckets"] - } - } - } - } -} From 43a3e7e169cf1fc3b5a7f7c0013f259eb0a09617 Mon Sep 17 00:00:00 2001 From: Niv Greenstein <88280771+NivGreenstein@users.noreply.github.com> Date: Mon, 26 Jan 2026 15:08:53 +0200 Subject: [PATCH 04/10] fix: renamed consumeDelay to consumeCondition --- .../metatileQueuePopulator/shared/v1.schema.json | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/schemas/vector/metatileQueuePopulator/shared/v1.schema.json b/schemas/vector/metatileQueuePopulator/shared/v1.schema.json index 4502a893..3ad0f211 100644 --- a/schemas/vector/metatileQueuePopulator/shared/v1.schema.json +++ b/schemas/vector/metatileQueuePopulator/shared/v1.schema.json @@ -63,25 +63,25 @@ "x-env-value": "APP_METATILE_SIZE", "default": 8 }, - "consumeDelay": { + "consumeCondition": { "type": "object", "description": "Configuration for consume delay", "properties": { "enabled": { "type": "boolean", "description": "Flag to enable consume delay", - "x-env-value": "APP_CONSUME_DELAY_ENABLED", + "x-env-value": "APP_CONSUME_CONDITION_ENABLED", "default": false }, "delaySec": { "type": "integer", "description": "number of seconds for consume delay", - "x-env-value": "APP_CONSUME_DELAY_SEC" + "x-env-value": "APP_CONSUME_CONDITION_SEC" }, "tilesQueueSizeLimit": { "type": "number", "description": "Limit of tiles queue size", - "x-env-value": "APP_CONSUME_DELAY_TILES_QUEUE_SIZE_LIMIT" + "x-env-value": "APP_CONSUME_CONDITION_TILES_QUEUE_SIZE_LIMIT" } }, "if": { @@ -95,6 +95,7 @@ "required": ["delaySec", "tilesQueueSizeLimit"] }, "else": { + "allOf": [{ "not": { "required": ["delaySec"] } }, { "not": { "required": ["tilesQueueSizeLimit"] } }], "properties": { "enabled": { "const": false @@ -195,4 +196,4 @@ } } } -} \ No newline at end of file +} From 164b0f78bf254698b6094ef80a2c103f2686fb43 Mon Sep 17 00:00:00 2001 From: Niv Greenstein <88280771+NivGreenstein@users.noreply.github.com> Date: Mon, 26 Jan 2026 15:12:34 +0200 Subject: [PATCH 05/10] fix: updated consumeDelay consumeCondition --- schemas/vector/metatileQueuePopulator/shared/v1.configs.json | 2 +- schemas/vector/metatileQueuePopulator/shared/v1.schema.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/schemas/vector/metatileQueuePopulator/shared/v1.configs.json b/schemas/vector/metatileQueuePopulator/shared/v1.configs.json index fff15a33..ecf0ad51 100644 --- a/schemas/vector/metatileQueuePopulator/shared/v1.configs.json +++ b/schemas/vector/metatileQueuePopulator/shared/v1.configs.json @@ -39,7 +39,7 @@ } }, "app": { - "consumeDelay": { + "consumeCondition": { "enabled": true, "delaySec": 60, "tilesQueueSizeLimit": 400000 diff --git a/schemas/vector/metatileQueuePopulator/shared/v1.schema.json b/schemas/vector/metatileQueuePopulator/shared/v1.schema.json index 3ad0f211..d611b0fb 100644 --- a/schemas/vector/metatileQueuePopulator/shared/v1.schema.json +++ b/schemas/vector/metatileQueuePopulator/shared/v1.schema.json @@ -122,7 +122,7 @@ } } }, - "required": ["enableRequestQueueHandling", "requestQueueCheckIntervalSec", "tilesBatchSize", "metatileSize", "consumeDelay", "force"] + "required": ["enableRequestQueueHandling", "requestQueueCheckIntervalSec", "tilesBatchSize", "metatileSize", "consumeCondition", "force"] } } }, From b38784532cddd6e16ecbde621a9360a5c7e714ab Mon Sep 17 00:00:00 2001 From: Niv Greenstein <88280771+NivGreenstein@users.noreply.github.com> Date: Mon, 26 Jan 2026 15:25:21 +0200 Subject: [PATCH 06/10] fix: rename delaySec conditionCheckIntervalSec --- .../vector/metatileQueuePopulator/shared/v1.configs.json | 2 +- .../vector/metatileQueuePopulator/shared/v1.schema.json | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/schemas/vector/metatileQueuePopulator/shared/v1.configs.json b/schemas/vector/metatileQueuePopulator/shared/v1.configs.json index ecf0ad51..31328057 100644 --- a/schemas/vector/metatileQueuePopulator/shared/v1.configs.json +++ b/schemas/vector/metatileQueuePopulator/shared/v1.configs.json @@ -41,7 +41,7 @@ "app": { "consumeCondition": { "enabled": true, - "delaySec": 60, + "conditionCheckIntervalSec": 60, "tilesQueueSizeLimit": 400000 }, "enableRequestQueueHandling": true, diff --git a/schemas/vector/metatileQueuePopulator/shared/v1.schema.json b/schemas/vector/metatileQueuePopulator/shared/v1.schema.json index d611b0fb..2c19d987 100644 --- a/schemas/vector/metatileQueuePopulator/shared/v1.schema.json +++ b/schemas/vector/metatileQueuePopulator/shared/v1.schema.json @@ -73,10 +73,10 @@ "x-env-value": "APP_CONSUME_CONDITION_ENABLED", "default": false }, - "delaySec": { + "conditionCheckIntervalSec": { "type": "integer", "description": "number of seconds for consume delay", - "x-env-value": "APP_CONSUME_CONDITION_SEC" + "x-env-value": "APP_CONSUME_CONDITION_CHECK_INTERVAL_SEC" }, "tilesQueueSizeLimit": { "type": "number", @@ -92,10 +92,10 @@ } }, "then": { - "required": ["delaySec", "tilesQueueSizeLimit"] + "required": ["conditionCheckIntervalSec", "tilesQueueSizeLimit"] }, "else": { - "allOf": [{ "not": { "required": ["delaySec"] } }, { "not": { "required": ["tilesQueueSizeLimit"] } }], + "allOf": [{ "not": { "required": ["conditionCheckIntervalSec"] } }, { "not": { "required": ["tilesQueueSizeLimit"] } }], "properties": { "enabled": { "const": false From d51c9ffef29e8aaad624547531af86af31937aa3 Mon Sep 17 00:00:00 2001 From: Niv Greenstein <88280771+NivGreenstein@users.noreply.github.com> Date: Mon, 2 Feb 2026 18:02:47 +0200 Subject: [PATCH 07/10] fix: added exclusiveMinimum 0 --- .../shared/v1.schema.json | 30 ++++++++++++------- 1 file changed, 20 insertions(+), 10 deletions(-) diff --git a/schemas/vector/metatileQueuePopulator/shared/v1.schema.json b/schemas/vector/metatileQueuePopulator/shared/v1.schema.json index 2c19d987..d82cd969 100644 --- a/schemas/vector/metatileQueuePopulator/shared/v1.schema.json +++ b/schemas/vector/metatileQueuePopulator/shared/v1.schema.json @@ -49,19 +49,22 @@ "type": "integer", "description": "Interval in seconds to check the request queue", "x-env-value": "APP_REQUEST_QUEUE_CHECK_INTERVAL_SEC", - "default": 30 + "default": 30, + "exclusiveMinimum": 0 }, "tilesBatchSize": { "type": "integer", "description": "Size of the tiles batch", "x-env-value": "APP_TILES_BATCH_SIZE", - "default": 10000 + "default": 10000, + "exclusiveMinimum": 0 }, "metatileSize": { "type": "integer", "description": "Size of the metatile", "x-env-value": "APP_METATILE_SIZE", - "default": 8 + "default": 8, + "exclusiveMinimum": 0 }, "consumeCondition": { "type": "object", @@ -76,12 +79,14 @@ "conditionCheckIntervalSec": { "type": "integer", "description": "number of seconds for consume delay", - "x-env-value": "APP_CONSUME_CONDITION_CHECK_INTERVAL_SEC" + "x-env-value": "APP_CONSUME_CONDITION_CHECK_INTERVAL_SEC", + "exclusiveMinimum": 0 }, "tilesQueueSizeLimit": { "type": "number", "description": "Limit of tiles queue size", - "x-env-value": "APP_CONSUME_CONDITION_TILES_QUEUE_SIZE_LIMIT" + "x-env-value": "APP_CONSUME_CONDITION_TILES_QUEUE_SIZE_LIMIT", + "exclusiveMinimum": 0 } }, "if": { @@ -139,31 +144,36 @@ "type": "integer", "description": "Time in seconds before the queue expires", "x-env-value": "QUEUE_JOBS_EXPIRE_IN_SECONDS", - "default": 600 + "default": 600, + "exclusiveMinimum": 0 }, "retryBackoff": { "type": "boolean", "description": "Flag to enable retry backoff", "x-env-value": "QUEUE_JOBS_RETRY_BACKOFF", - "default": true + "default": true, + "exclusiveMinimum": 0 }, "retryLimit": { "type": "integer", "description": "Maximum number of retry attempts", "x-env-value": "QUEUE_JOBS_RETRY_LIMIT", - "default": 3 + "default": 3, + "exclusiveMinimum": 0 }, "retryDelaySeconds": { "type": "integer", "description": "Delay in seconds between retry attempts", "x-env-value": "QUEUE_JOBS_RETRY_DELAY_SECONDS", - "default": 60 + "default": 60, + "exclusiveMinimum": 0 }, "retentionHours": { "type": "integer", "description": "Time in hours to retain the queue", "x-env-value": "QUEUE_JOBS_RETENTION_HOURS", - "default": 87660 + "default": 87660, + "exclusiveMinimum": 0 } }, "required": ["expireInSeconds", "retryBackoff", "retryLimit", "retryDelaySeconds", "retentionHours"] From eee0a1924688998fcef8b30620eb150739ffaf7a Mon Sep 17 00:00:00 2001 From: Niv Greenstein <88280771+NivGreenstein@users.noreply.github.com> Date: Mon, 2 Feb 2026 18:11:52 +0200 Subject: [PATCH 08/10] fix: changed type integer to number --- .../metatileQueuePopulator/shared/v1.schema.json | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/schemas/vector/metatileQueuePopulator/shared/v1.schema.json b/schemas/vector/metatileQueuePopulator/shared/v1.schema.json index d82cd969..70e27abd 100644 --- a/schemas/vector/metatileQueuePopulator/shared/v1.schema.json +++ b/schemas/vector/metatileQueuePopulator/shared/v1.schema.json @@ -46,21 +46,21 @@ "default": true }, "requestQueueCheckIntervalSec": { - "type": "integer", + "type": "number", "description": "Interval in seconds to check the request queue", "x-env-value": "APP_REQUEST_QUEUE_CHECK_INTERVAL_SEC", "default": 30, "exclusiveMinimum": 0 }, "tilesBatchSize": { - "type": "integer", + "type": "number", "description": "Size of the tiles batch", "x-env-value": "APP_TILES_BATCH_SIZE", "default": 10000, "exclusiveMinimum": 0 }, "metatileSize": { - "type": "integer", + "type": "number", "description": "Size of the metatile", "x-env-value": "APP_METATILE_SIZE", "default": 8, @@ -77,7 +77,7 @@ "default": false }, "conditionCheckIntervalSec": { - "type": "integer", + "type": "number", "description": "number of seconds for consume delay", "x-env-value": "APP_CONSUME_CONDITION_CHECK_INTERVAL_SEC", "exclusiveMinimum": 0 @@ -141,7 +141,7 @@ "default": {}, "properties": { "expireInSeconds": { - "type": "integer", + "type": "number", "description": "Time in seconds before the queue expires", "x-env-value": "QUEUE_JOBS_EXPIRE_IN_SECONDS", "default": 600, @@ -155,21 +155,21 @@ "exclusiveMinimum": 0 }, "retryLimit": { - "type": "integer", + "type": "number", "description": "Maximum number of retry attempts", "x-env-value": "QUEUE_JOBS_RETRY_LIMIT", "default": 3, "exclusiveMinimum": 0 }, "retryDelaySeconds": { - "type": "integer", + "type": "number", "description": "Delay in seconds between retry attempts", "x-env-value": "QUEUE_JOBS_RETRY_DELAY_SECONDS", "default": 60, "exclusiveMinimum": 0 }, "retentionHours": { - "type": "integer", + "type": "number", "description": "Time in hours to retain the queue", "x-env-value": "QUEUE_JOBS_RETENTION_HOURS", "default": 87660, From 3f7983e9a036a680d6a8f578c3cdd635c674567e Mon Sep 17 00:00:00 2001 From: Niv Greenstein <88280771+NivGreenstein@users.noreply.github.com> Date: Mon, 2 Feb 2026 18:26:04 +0200 Subject: [PATCH 09/10] fix: removed exclusiveMinimum from retryBackoff --- schemas/vector/metatileQueuePopulator/shared/v1.schema.json | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/schemas/vector/metatileQueuePopulator/shared/v1.schema.json b/schemas/vector/metatileQueuePopulator/shared/v1.schema.json index 70e27abd..6df48680 100644 --- a/schemas/vector/metatileQueuePopulator/shared/v1.schema.json +++ b/schemas/vector/metatileQueuePopulator/shared/v1.schema.json @@ -151,8 +151,7 @@ "type": "boolean", "description": "Flag to enable retry backoff", "x-env-value": "QUEUE_JOBS_RETRY_BACKOFF", - "default": true, - "exclusiveMinimum": 0 + "default": true }, "retryLimit": { "type": "number", From 7af5bdea632e887964f0dc7e59bf936734f1e546 Mon Sep 17 00:00:00 2001 From: ronenkapelian <72082238+ronenkapelian@users.noreply.github.com> Date: Tue, 3 Feb 2026 11:02:56 +0200 Subject: [PATCH 10/10] fix: Update schemas/vector/metatileQueuePopulator/full/v1.schema.json --- schemas/vector/metatileQueuePopulator/full/v1.schema.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/schemas/vector/metatileQueuePopulator/full/v1.schema.json b/schemas/vector/metatileQueuePopulator/full/v1.schema.json index ab2a40f4..f9466b99 100644 --- a/schemas/vector/metatileQueuePopulator/full/v1.schema.json +++ b/schemas/vector/metatileQueuePopulator/full/v1.schema.json @@ -42,4 +42,4 @@ } } } -} \ No newline at end of file +}