{"record":{"id":"b6096a47a9e2a7be","repo":"apache/seatunnel","slug":"connection-failed","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/sink/AzureQueueStorageSender.java","lineNumber":42,"sourceCode":"\nimport com.azure.storage.queue.QueueAsyncClient;\n\nimport java.util.concurrent.CompletableFuture;\n\nclass AzureQueueStorageSender implements AzureQueueSender {\n\n    private final QueueAsyncClient queueClient;\n\n    private AzureQueueStorageSender(QueueAsyncClient queueClient) {\n        this.queueClient = queueClient;\n    }\n\n    static AzureQueueSender create(AzureQueueSinkConfig config) {\n        try {\n            return new AzureQueueStorageSender(\n                    AzureQueueClientFactory.builder(config).buildAsyncClient());\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 CompletableFuture<Void> send(String message) {\n        return queueClient.sendMessage(message).then().toFuture();\n    }\n\n    @Override\n    public void close() {\n        // QueueAsyncClient has no close contract; its Reactor resources are process-wide.\n    }\n}\n","sourceCodeStart":24,"sourceCodeEnd":60,"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/sink/AzureQueueStorageSender.java#L24-L60","documentation":"AzureQueueStorageSender.create() wraps any exception from building the Azure Queue Storage async client in an AzureQueueConnectorException with code CONNECTION_FAILED, including the queue name as context. This means client construction (auth, endpoint parsing, connection) failed before any message could be sent.","triggerScenarios":"AzureQueueClientFactory.builder(config).buildAsyncClient() throws — invalid connection string/account name/key, malformed endpoint, DNS/network failure reaching the storage account, or missing queue permissions.","commonSituations":"Wrong storage account name or key in config, typo in connection string, storage account deleted/renamed, firewall/VNet blocking access, or no network egress from the cluster.","solutions":["Verify connection string / account name / account key or endpoint in the sink config","Test connectivity to the storage account (nslookup/curl the account URL) from the job host","Confirm the queue exists and credentials have send permissions","Check that the exception cause (attached as `e`) for the underlying SDK error"],"exampleFix":"// before\nurl = \"https://mystorageaccount.queue.core.windows.net\"\n// after (verify account name matches the endpoint)\nurl = \"https://correctaccount.queue.core.windows.net\"","handlingStrategy":"try-catch","validationCode":"// Pre-check reachability\nnew URL(\"https://<account>.queue.core.windows.net\").openConnection().connect();","typeGuard":null,"tryCatchPattern":"try {\n    sender = AzureQueueStorageSender.create(config);\n} catch (AzureQueueConnectorException e) {\n    if (e.getErrorCode() == AzureQueueConnectorErrorCode.CONNECTION_FAILED) {\n        LOG.error(\"Azure queue client init failed for queue {}\", config.getQueueName(), e.getCause());\n    }\n    throw e;\n}","preventionTips":["Validate connection strings/account keys before deploying","Test storage endpoint reachability from worker nodes","Keep credentials in sync after key rotation","Grant least-privilege queue permissions"],"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"}