Skip to content

Commit d3d1634

Browse files
Merge pull request #174248 from jonburchel/2021-10-01-breaks-up-long-connector-troubleshooting-article
Initial commit just to test TOC behavior before full commit
2 parents 74850c6 + e1dd111 commit d3d1634

20 files changed

+1708
-1160
lines changed

articles/data-factory/TOC.yml

Lines changed: 38 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -941,8 +941,44 @@ items:
941941
href: data-factory-troubleshoot-guide.md
942942
displayName: timeout
943943
- name: Connectors
944-
href: connector-troubleshoot-guide.md
945-
displayName: polybase, timeout
944+
items:
945+
- name: Overview and general copy activity errors
946+
href: connector-troubleshoot-guide.md
947+
displayName: polybase, timeout
948+
- name: Azure Blob Storage
949+
href: connector-troubleshoot-azure-blob-storage.md
950+
- name: Azure Cosmos DB (including SQL API)
951+
href: connector-troubleshoot-azure-cosmos-db.md
952+
- name: Azure Data Lake (Gen1 and Gen2)
953+
href: connector-troubleshoot-azure-data-lake.md
954+
- name: Azure database for PostgreSQL
955+
href: connector-troubleshoot-postgresql.md
956+
- name: Azure files
957+
href: connector-troubleshoot-azure-files.md
958+
- name: Azure Synapse Analytics, Azure SQL Database, and SQL Server
959+
href: connector-troubleshoot-synapse-sql.md
960+
- name: Azure Table Storage
961+
href: connector-troubleshoot-azure-table-storage.md
962+
- name: DB2
963+
href: connector-troubleshoot-db2.md
964+
- name: Delimited text format
965+
href: connector-troubleshoot-delimited-text.md
966+
- name: Dynamics 365, Dataverse (Common Data Service), and Dynamics CRM
967+
href: connector-troubleshoot-dynamics-dataverse.md
968+
- name: FTP, SFTP and HTTP
969+
href: connector-troubleshoot-ftp-sftp-http.md
970+
- name: Oracle
971+
href: connector-troubleshoot-oracle.md
972+
- name: ORC format
973+
href: connector-troubleshoot-orc.md
974+
- name: Parquet format
975+
href: connector-troubleshoot-parquet.md
976+
- name: REST
977+
href: connector-troubleshoot-rest.md
978+
- name: SharePoint Online list
979+
href: connector-troubleshoot-sharepoint-online-list.md
980+
- name: XML format
981+
href: connector-troubleshoot-xml.md
946982
- name: Pipeline Triggers
947983
href: pipeline-trigger-troubleshoot-guide.md
948984
- name: Data Flows
Lines changed: 73 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,73 @@
1+
---
2+
title: Troubleshoot the Azure Blob Storage connector
3+
titleSuffix: Azure Data Factory & Azure Synapse
4+
description: Learn how to troubleshoot issues with the Azure Blob Storage connector in Azure Data Factory and Azure Synapse Analytics.
5+
author: jianleishen
6+
ms.service: data-factory
7+
ms.subservice: data-movement
8+
ms.topic: troubleshooting
9+
ms.date: 10/01/2021
10+
ms.author: jianleishen
11+
ms.custom: has-adal-ref, synapse
12+
---
13+
14+
# Troubleshoot the Azure Blob Storage connector in Azure Data Factory and Azure Synapse
15+
16+
[!INCLUDE[appliesto-adf-asa-md](includes/appliesto-adf-asa-md.md)]
17+
18+
This article provides suggestions to troubleshoot common problems with the Azure Blob Storage connector in Azure Data Factory and Azure Synapse.
19+
20+
## Error code: AzureBlobOperationFailed
21+
22+
- **Message**: "Blob operation Failed. ContainerName: %containerName;, path: %path;."
23+
24+
- **Cause**: A problem with the Blob Storage operation.
25+
26+
- **Recommendation**: To check the error details, see [Blob Storage error codes](/rest/api/storageservices/blob-service-error-codes). For further help, contact the Blob Storage team.
27+
28+
29+
## Invalid property during copy activity
30+
31+
- **Message**: `Copy activity \<Activity Name> has an invalid "source" property. The source type is not compatible with the dataset \<Dataset Name> and its linked service \<Linked Service Name>. Please verify your input against.`
32+
33+
- **Cause**: The type defined in the dataset is inconsistent with the source or sink type that's defined in the copy activity.
34+
35+
- **Resolution**: Edit the dataset or pipeline JSON definition to make the types consistent, and then rerun the deployment.
36+
37+
## Error code: FIPSModeIsNotSupport
38+
39+
- **Message**: `Fail to read data form Azure Blob Storage for Azure Blob connector needs MD5 algorithm which can't co-work with FIPS mode. Please change diawp.exe.config in self-hosted integration runtime install directory to disable FIPS policy following https://docs.microsoft.com/en-us/dotnet/framework/configure-apps/file-schema/runtime/enforcefipspolicy-element.`
40+
41+
- **Cause**: Then FIPS policy is enabled on the VM where the self-hosted integration runtime was installed.
42+
43+
- **Recommendation**: Disable the FIPS mode on the VM where the self-hosted integration runtime was installed. Windows doesn't recommend the FIPS mode.
44+
45+
## Error code: AzureBlobInvalidBlockSize
46+
47+
- **Message**: `Block size should between %minSize; MB and 100 MB.`
48+
49+
- **Cause**: The block size is over the blob limitation.
50+
51+
## Error code: AzureStorageOperationFailedConcurrentWrite
52+
53+
- **Message**: `Error occurred when trying to upload a file. It's possible because you have multiple concurrent copy activities runs writing to the same file '%name;'. Check your ADF configuration.`
54+
55+
- **Cause**: You have multiple concurrent copy activity runs or applications writing to the same file.
56+
57+
## Error code: AzureAppendBlobConcurrentWriteConflict
58+
59+
- **Message**: `Detected concurrent write to the same append blob file, it's possible because you have multiple concurrent copy activities runs or applications writing to the same file '%name;'. Please check your ADF configuration and retry.`
60+
61+
- **Cause**: Multiple concurrent writing requests occur, which causes conflicts on file content.
62+
63+
## Next steps
64+
65+
For more troubleshooting help, try these resources:
66+
67+
- [Connector troubleshooting guide](connector-troubleshoot-guide.md)
68+
- [Data Factory blog](https://azure.microsoft.com/blog/tag/azure-data-factory/)
69+
- [Data Factory feature requests](/answers/topics/azure-data-factory.html)
70+
- [Azure videos](https://azure.microsoft.com/resources/videos/index/?sort=newest&services=data-factory)
71+
- [Microsoft Q&A page](/answers/topics/azure-data-factory.html)
72+
- [Stack Overflow forum for Data Factory](https://stackoverflow.com/questions/tagged/azure-data-factory)
73+
- [Twitter information about Data Factory](https://twitter.com/hashtag/DataFactory)
Lines changed: 102 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,102 @@
1+
---
2+
title: Troubleshoot the Azure Cosmos DB connector
3+
titleSuffix: Azure Data Factory & Azure Synapse
4+
description: Learn how to troubleshoot issues with the Azure Cosmos DB and Azure Cosmos DB (SQL API) connectors in Azure Data Factory and Azure Synapse Analytics.
5+
author: jianleishen
6+
ms.service: data-factory
7+
ms.subservice: data-movement
8+
ms.topic: troubleshooting
9+
ms.date: 10/01/2021
10+
ms.author: jianleishen
11+
ms.custom: has-adal-ref, synapse
12+
---
13+
14+
# Troubleshoot the Azure Cosmos DB connector in Azure Data Factory and Azure Synapse
15+
16+
[!INCLUDE[appliesto-adf-asa-md](includes/appliesto-adf-asa-md.md)]
17+
18+
This article provides suggestions to troubleshoot common problems with the Azure Cosmos DB and Azure Cosmos DB (SQL API) connectors in Azure Data Factory and Azure Synapse.
19+
20+
## Error message: Request size is too large
21+
22+
- **Symptoms**: When you copy data into Azure Cosmos DB with a default write batch size, you receive the following error: `Request size is too large.`
23+
24+
- **Cause**: Azure Cosmos DB limits the size of a single request to 2 MB. The formula is *request size = single document size \* write batch size*. If your document size is large, the default behavior will result in a request size that's too large. You can tune the write batch size.
25+
26+
- **Resolution**: In the copy activity sink, reduce the *write batch size* value (the default value is 10000).
27+
28+
## Error message: Unique index constraint violation
29+
30+
- **Symptoms**: When you copy data into Azure Cosmos DB, you receive the following error:
31+
32+
`Message=Partition range id 0 | Failed to import mini-batch.
33+
Exception was Message: {"Errors":["Encountered exception while executing function. Exception = Error: {\"Errors\":[\"Unique index constraint violation.\"]}...`
34+
35+
- **Cause**: There are two possible causes:
36+
37+
- Cause 1: If you use **Insert** as the write behavior, this error means that your source data has rows or objects with same ID.
38+
- Cause 2: If you use **Upsert** as the write behavior and you set another unique key to the container, this error means that your source data has rows or objects with different IDs but the same value for the defined unique key.
39+
40+
- **Resolution**:
41+
42+
- For cause 1, set **Upsert** as the write behavior.
43+
- For cause 2, make sure that each document has a different value for the defined unique key.
44+
45+
## Error message: Request rate is large
46+
47+
- **Symptoms**: When you copy data into Azure Cosmos DB, you receive the following error:
48+
49+
`Type=Microsoft.Azure.Documents.DocumentClientException,
50+
Message=Message: {"Errors":["Request rate is large"]}`
51+
52+
- **Cause**: The number of used request units (RUs) is greater than the available RUs configured in Azure Cosmos DB. To learn how
53+
Azure Cosmos DB calculates RUs, see [Request units in Azure Cosmos DB](../cosmos-db/request-units.md#request-unit-considerations).
54+
55+
- **Resolution**: Try either of the following two solutions:
56+
57+
- Increase the *container RUs* number to a greater value in Azure Cosmos DB. This solution will improve the copy activity performance, but it will incur more cost in Azure Cosmos DB.
58+
- Decrease *writeBatchSize* to a lesser value, such as 1000, and decrease *parallelCopies* to a lesser value, such as 1. This solution will reduce copy run performance, but it won't incur more cost in Azure Cosmos DB.
59+
60+
## Columns missing in column mapping
61+
62+
- **Symptoms**: When you import a schema for Azure Cosmos DB for column mapping, some columns are missing.
63+
64+
- **Cause**: Azure Data Factory and Synapse pipelines infer the schema from the first 10 Azure Cosmos DB documents. If some document columns or properties don't contain values, the schema isn't detected and consequently isn't displayed.
65+
66+
- **Resolution**: You can tune the query as shown in the following code to force the column values to be displayed in the result set with empty values. Assume that the *impossible* column is missing in the first 10 documents). Alternatively, you can manually add the column for mapping.
67+
68+
```sql
69+
select c.company, c.category, c.comments, (c.impossible??'') as impossible from c
70+
```
71+
72+
## Error message: The GuidRepresentation for the reader is CSharpLegacy
73+
74+
- **Symptoms**: When you copy data from Azure Cosmos DB MongoAPI or MongoDB with the universally unique identifier (UUID) field, you receive the following error:
75+
76+
`Failed to read data via MongoDB client.,
77+
Source=Microsoft.DataTransfer.Runtime.MongoDbV2Connector,Type=System.FormatException,
78+
Message=The GuidRepresentation for the reader is CSharpLegacy which requires the binary sub type to be UuidLegacy not UuidStandard.,Source=MongoDB.Bson,’“,`
79+
80+
- **Cause**: There are two ways to represent the UUID in Binary JSON (BSON): UuidStardard and UuidLegacy. By default, UuidLegacy is used to read data. You will receive an error if your UUID data in MongoDB is UuidStandard.
81+
82+
- **Resolution**: In the MongoDB connection string, add the *uuidRepresentation=standard* option. For more information, see [MongoDB connection string](connector-mongodb.md#linked-service-properties).
83+
84+
## Error code: CosmosDbSqlApiOperationFailed
85+
86+
- **Message**: `CosmosDbSqlApi operation Failed. ErrorMessage: %msg;.`
87+
88+
- **Cause**: A problem with the CosmosDbSqlApi operation. This applies to the Cosmos DB (SQL API) connector specifically.
89+
90+
- **Recommendation**: To check the error details, see [Azure Cosmos DB help document](../cosmos-db/troubleshoot-dot-net-sdk.md). For further help, contact the Azure Cosmos DB team.
91+
92+
## Next steps
93+
94+
For more troubleshooting help, try these resources:
95+
96+
- [Connector troubleshooting guide](connector-troubleshoot-guide.md)
97+
- [Data Factory blog](https://azure.microsoft.com/blog/tag/azure-data-factory/)
98+
- [Data Factory feature requests](/answers/topics/azure-data-factory.html)
99+
- [Azure videos](https://azure.microsoft.com/resources/videos/index/?sort=newest&services=data-factory)
100+
- [Microsoft Q&A page](/answers/topics/azure-data-factory.html)
101+
- [Stack Overflow forum for Data Factory](https://stackoverflow.com/questions/tagged/azure-data-factory)
102+
- [Twitter information about Data Factory](https://twitter.com/hashtag/DataFactory)
Lines changed: 109 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,109 @@
1+
---
2+
title: Troubleshoot the Azure Data Lake Storage connectors
3+
titleSuffix: Azure Data Factory & Azure Synapse
4+
description: Learn how to troubleshoot issues with the Azure Data Lake Storage Gen1 and Gen2 connectors in Azure Data Factory and Azure Synapse Analytics.
5+
author: jianleishen
6+
ms.service: data-factory
7+
ms.subservice: data-movement
8+
ms.topic: troubleshooting
9+
ms.date: 10/01/2021
10+
ms.author: jianleishen
11+
ms.custom: has-adal-ref, synapse
12+
---
13+
14+
# Troubleshoot the Azure Data Lake Storage connectors in Azure Data Factory and Azure Synapse
15+
16+
[!INCLUDE[appliesto-adf-asa-md](includes/appliesto-adf-asa-md.md)]
17+
18+
This article provides suggestions to troubleshoot common problems with the Azure Data Lake Storage Gen1 and Gen2 connectors in Azure Data Factory and Azure Synapse.
19+
20+
## Azure Data Lake Storage Gen1
21+
22+
### Error message: The underlying connection was closed: Could not establish trust relationship for the SSL/TLS secure channel.
23+
24+
- **Symptoms**: Copy activity fails with the following error:
25+
26+
`Message: ErrorCode = UserErrorFailedFileOperation, Error Message = The underlying connection was closed: Could not establish trust relationship for the SSL/TLS secure channel.`
27+
28+
- **Cause**: The certificate validation failed during the TLS handshake.
29+
30+
- **Resolution**: As a workaround, use the staged copy to skip the Transport Layer Security (TLS) validation for Azure Data Lake Storage Gen1. You need to reproduce this issue and gather the network monitor (netmon) trace, and then engage your network team to check the local network configuration.
31+
32+
:::image type="content" source="./media/connector-troubleshoot-guide/adls-troubleshoot.png" alt-text="Diagram of Azure Data Lake Storage Gen1 connections for troubleshooting issues.":::
33+
34+
35+
### Error message: The remote server returned an error: (403) Forbidden
36+
37+
- **Symptoms**: Copy activity fail with the following error:
38+
39+
`Message: The remote server returned an error: (403) Forbidden.
40+
Response details: {"RemoteException":{"exception":"AccessControlException""message":"CREATE failed with error 0x83090aa2 (Forbidden. ACL verification failed. Either the resource does not exist or the user is not authorized to perform the requested operation.)....`
41+
42+
- **Cause**: One possible cause is that the service principal or managed identity you use doesn't have permission to access certain folders or files.
43+
44+
- **Resolution**: Grant appropriate permissions to all the folders and subfolders you need to copy. For more information, see [Copy data to or from Azure Data Lake Storage Gen1](connector-azure-data-lake-store.md#linked-service-properties).
45+
46+
### Error message: Failed to get access token by using service principal. ADAL Error: service_unavailable
47+
48+
- **Symptoms**: Copy activity fails with the following error:
49+
50+
`Failed to get access token by using service principal.
51+
ADAL Error: service_unavailable, The remote server returned an error: (503) Server Unavailable.`
52+
53+
- **Cause**: When the Service Token Server (STS) that's owned by Azure Active Directory is not available, that means it's too busy to handle requests, and it returns HTTP error 503.
54+
55+
- **Resolution**: Rerun the copy activity after several minutes.
56+
57+
## Azure Data Lake Storage Gen2
58+
59+
### Error code: ADLSGen2OperationFailed
60+
61+
- **Message**: `ADLS Gen2 operation failed for: %adlsGen2Message;.%exceptionData;.`
62+
63+
- **Causes and recommendations**: Different causes may lead to this error. Check below list for possible cause analysis and related recommendation.
64+
65+
| Cause analysis | Recommendation |
66+
| :----------------------------------------------------------- | :----------------------------------------------------------- |
67+
| If Azure Data Lake Storage Gen2 throws error indicating some operation failed.| Check the detailed error message thrown by Azure Data Lake Storage Gen2. If the error is a transient failure, retry the operation. For further help, contact Azure Storage support, and provide the request ID in error message. |
68+
| If the error message contains the string "Forbidden", the service principal or managed identity you use might not have sufficient permission to access Azure Data Lake Storage Gen2. | To troubleshoot this error, see [Copy and transform data in Azure Data Lake Storage Gen2](./connector-azure-data-lake-storage.md#service-principal-authentication). |
69+
| If the error message contains the string "InternalServerError", the error is returned by Azure Data Lake Storage Gen2. | The error might be caused by a transient failure. If so, retry the operation. If the issue persists, contact Azure Storage support and provide the request ID from the error message. |
70+
71+
### Request to Azure Data Lake Storage Gen2 account caused a timeout error
72+
73+
- **Message**:
74+
* Error Code = `UserErrorFailedBlobFSOperation`
75+
* Error Message = `BlobFS operation failed for: A task was canceled.`
76+
77+
- **Cause**: The issue is caused by the Azure Data Lake Storage Gen2 sink timeout error, which usually occurs on the Self-hosted Integration Runtime (IR) machine.
78+
79+
- **Recommendation**:
80+
81+
- Place your Self-hosted IR machine and target Azure Data Lake Storage Gen2 account in the same region, if possible. This can help avoid a random timeout error and produce better performance.
82+
83+
- Check whether there's a special network setting, such as ExpressRoute, and ensure that the network has enough bandwidth. We suggest that you lower the Self-hosted IR concurrent jobs setting when the overall bandwidth is low. Doing so can help avoid network resource competition across multiple concurrent jobs.
84+
85+
- If the file size is moderate or small, use a smaller block size for nonbinary copy to mitigate such a timeout error. For more information, see [Blob Storage Put Block](/rest/api/storageservices/put-block).
86+
87+
To specify the custom block size, edit the property in your JSON file editor as shown here:
88+
89+
```
90+
"sink": {
91+
"type": "DelimitedTextSink",
92+
"storeSettings": {
93+
"type": "AzureBlobFSWriteSettings",
94+
"blockSizeInMB": 8
95+
}
96+
}
97+
```
98+
99+
## Next steps
100+
101+
For more troubleshooting help, try these resources:
102+
103+
- [Connector troubleshooting guide](connector-troubleshoot-guide.md)
104+
- [Data Factory blog](https://azure.microsoft.com/blog/tag/azure-data-factory/)
105+
- [Data Factory feature requests](/answers/topics/azure-data-factory.html)
106+
- [Azure videos](https://azure.microsoft.com/resources/videos/index/?sort=newest&services=data-factory)
107+
- [Microsoft Q&A page](/answers/topics/azure-data-factory.html)
108+
- [Stack Overflow forum for Data Factory](https://stackoverflow.com/questions/tagged/azure-data-factory)
109+
- [Twitter information about Data Factory](https://twitter.com/hashtag/DataFactory)

0 commit comments

Comments
 (0)