{"record":{"id":"02b7d97fdc26fd97","repo":"apache/seatunnel","slug":"connection-failed-02b7d9","errorCode":"CONNECTION_FAILED","errorMessage":"Failed to create Azure Queue Storage client for queue ${config.getQueueName()}","messagePattern":"Failed to create Azure Queue Storage client for queue (.+?)","errorType":"error_code","errorClass":"AzureQueueConnectorException","httpStatus":null,"severity":"critical","filePath":"seatunnel-connectors-v2/connector-azure-queue-storage/src/main/java/org/apache/seatunnel/connectors/seatunnel/azure/queue/source/AzureQueueStorageReceiver.java","lineNumber":54,"sourceCode":"    private final QueueClient queueClient;\n    private final Duration visibilityTimeout;\n    private final Duration operationTimeout;\n\n    private AzureQueueStorageReceiver(\n            QueueClient queueClient, Duration visibilityTimeout, Duration operationTimeout) {\n        this.queueClient = queueClient;\n        this.visibilityTimeout = visibilityTimeout;\n        this.operationTimeout = operationTimeout;\n    }\n\n    static AzureQueueReceiver create(AzureQueueSourceConfig config) {\n        try {\n            return new AzureQueueStorageReceiver(\n                    AzureQueueClientFactory.builder(config).buildClient(),\n                    Duration.ofSeconds(config.getVisibilityTimeoutSeconds()),\n                    Duration.ofMillis(config.getOperationTimeoutMillis()));\n        } catch (Exception e) {\n            throw new AzureQueueConnectorException(\n                    AzureQueueConnectorErrorCode.CONNECTION_FAILED,\n                    \"Failed to create Azure Queue Storage client for queue \"\n                            + config.getQueueName(),\n                    e);\n        }\n    }\n\n    @Override\n    public List<AzureQueueMessage> receive(int maxMessages) {\n        List<AzureQueueMessage> messages = new ArrayList<>(maxMessages);\n        for (QueueMessageItem message :\n                queueClient.receiveMessages(\n                        maxMessages, visibilityTimeout, operationTimeout, Context.NONE)) {\n            messages.add(\n                    new AzureQueueMessage(\n                            message.getMessageId(),\n                            message.getPopReceipt(),\n                            message.getBody().toString(),","sourceCodeStart":36,"sourceCodeEnd":72,"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/source/AzureQueueStorageReceiver.java#L36-L72","documentation":"AzureQueueStorageReceiver.create() wraps any failure building the synchronous Azure Queue client in AzureQueueConnectorException(CONNECTION_FAILED), with the queue name in the message. The source cannot receive messages because client construction (auth/endpoint/network) failed.","triggerScenarios":"AzureQueueClientFactory.builder(config).buildClient() throws during source reader initialization — bad credentials, malformed endpoint, or unreachable storage account.","commonSituations":"Misconfigured account name/key, storage account in another cloud (gov/China) with wrong endpoint suffix, DNS or firewall blocking the cluster, expired storage keys after rotation.","solutions":["Verify the connection string or account name/key in the source config","Check network reachability to the queue endpoint from the worker nodes","If keys were rotated, update the config with the new key and restart","Inspect the wrapped cause exception for the specific SDK error"],"exampleFix":"// before (rotated key)\naccount_key = \"old-key==\"\n// after\naccount_key = \"new-key==\"","handlingStrategy":"try-catch","validationCode":"// Verify endpoint reachability before submitting\nInetAddress.getByName(\"<account>.queue.core.windows.net\");","typeGuard":null,"tryCatchPattern":"try {\n    receiver = AzureQueueStorageReceiver.create(config);\n} catch (AzureQueueConnectorException e) {\n    if (e.getErrorCode() == AzureQueueConnectorErrorCode.CONNECTION_FAILED) {\n        LOG.error(\"Azure queue source client init failed for queue {}\", config.getQueueName(), e.getCause());\n    }\n    throw e;\n}","preventionTips":["Validate credentials and endpoint (correct cloud suffix) in CI","Check firewall/VNet rules allow worker node egress","Re-test configs after key rotation","Include cause-exception inspection in runbooks"],"tags":["azure","network","client-init","connection"],"backgroundTag":"connection-refused","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"}