{"record":{"id":"cd5f4c389e31a0b6","repo":"apache/seatunnel","slug":"option-visibility-timeout-seconds-must-be-betwee","errorCode":null,"errorMessage":"Option 'visibility_timeout_seconds' must be between 1 and 604800","messagePattern":"Option 'visibility_timeout_seconds' must be between 1 and 604800","errorType":"validation","errorClass":"IllegalArgumentException","httpStatus":null,"severity":"error","filePath":"seatunnel-connectors-v2/connector-azure-queue-storage/src/main/java/org/apache/seatunnel/connectors/seatunnel/azure/queue/config/AzureQueueSourceConfig.java","lineNumber":92,"sourceCode":"                                config.get(AzureQueueStorageSourceOptions.MAX_IN_FLIGHT_MESSAGES))\n                        .operationTimeoutMillis(\n                                config.get(AzureQueueStorageSourceOptions.OPERATION_TIMEOUT_MS))\n                        .build();\n        sourceConfig.validate();\n        return sourceConfig;\n    }\n\n    private void validate() {\n        AzureQueueConfigValidator.validateClient(this);\n        if (format == MessageFormat.TEXT && fieldDelimiter.isEmpty()) {\n            throw new IllegalArgumentException(\"Option 'field_delimiter' cannot be empty\");\n        }\n        if (batchSize < 1 || batchSize > MAX_BATCH_SIZE) {\n            throw new IllegalArgumentException(\"Option 'batch_size' must be between 1 and 32\");\n        }\n        if (visibilityTimeoutSeconds < 1\n                || visibilityTimeoutSeconds > MAX_VISIBILITY_TIMEOUT_SECONDS) {\n            throw new IllegalArgumentException(\n                    \"Option 'visibility_timeout_seconds' must be between 1 and 604800\");\n        }\n        if (pollIntervalMillis <= 0) {\n            throw new IllegalArgumentException(\n                    \"Option 'poll_interval_ms' must be greater than zero\");\n        }\n        if (maxInFlightMessages < batchSize) {\n            throw new IllegalArgumentException(\n                    \"Option 'max_in_flight_messages' must be greater than or equal to batch_size\");\n        }\n        if (operationTimeoutMillis <= 0) {\n            throw new IllegalArgumentException(\n                    \"Option 'operation_timeout_ms' must be greater than zero\");\n        }\n        long visibilityTimeoutMillis = visibilityTimeoutSeconds * 1_000L;\n        if (operationTimeoutMillis >= visibilityTimeoutMillis / 2) {\n            throw new IllegalArgumentException(\n                    \"Option 'operation_timeout_ms' must be less than half of visibility_timeout_seconds\");","sourceCodeStart":74,"sourceCodeEnd":110,"githubUrl":"https://github.com/apache/seatunnel/blob/cf67b549a7a6c35fa0beb12d83c62892427ea919/seatunnel-connectors-v2/connector-azure-queue-storage/src/main/java/org/apache/seatunnel/connectors/seatunnel/azure/queue/config/AzureQueueSourceConfig.java#L74-L110","documentation":"AzureQueueSourceConfig.validate throws this when visibility_timeout_seconds is outside the 1..604800 range. 604800s (7 days) is the Azure Storage Queue service maximum; anything below 1s makes messages immediately re-visible.","triggerScenarios":"Building AzureQueueSourceConfig via from() with visibility_timeout_seconds < 1 or > 604800, e.g. visibility_timeout_seconds = 0 or 1000000.","commonSituations":"User wanted 'no visibility timeout' and set 0; confusion between seconds and milliseconds; exceeding the 7-day Azure service cap when trying to hold messages long-term.","solutions":["Set visibility_timeout_seconds between 1 and 604800 (7 days)","Remove the option to use the plugin default","If messages must stay hidden longer than 7 days, redesign processing cadence rather than raising the value"],"exampleFix":"// before\nvisibility_timeout_seconds = 1000000\n// after\nvisibility_timeout_seconds = 3600","handlingStrategy":"validation","validationCode":"java\nif (visibilityTimeoutSeconds < 1 || visibilityTimeoutSeconds > 604800) {\n    throw new IllegalArgumentException(\"visibility_timeout_seconds must be 1..604800\");\n}","typeGuard":null,"tryCatchPattern":"java\ntry {\n    AzureQueueSourceConfig.from(config);\n} catch (IllegalArgumentException e) {\n    if (e.getMessage().contains(\"visibility_timeout_seconds\")) {\n        log.error(\"Set visibility_timeout_seconds within 1s..7d\");\n    } else { throw e; }\n}","preventionTips":["Use seconds, not milliseconds, for this option","Never set 0 for 'always visible'; use 1 minimum","Keep the Azure 7-day service maximum in mind"],"tags":["config","validation","azure","source","timeout"],"backgroundTag":"value-out-of-range","analyzedSha":"cf67b549a7a6c35fa0beb12d83c62892427ea919","analyzedAt":"2026-09-10T21:44:55.265Z","contentChangedAt":"2026-09-10T21:44:55.265Z","schemaVersion":2},"datasetVersion":"2026-09-14T05:17:10.506Z"}