Skip to content

Commit 7887e02

Browse files
authored
Merge pull request #195438 from ssabat/master
Added DevOps limit 20mb TSG
2 parents 95cedb4 + 7fc3b25 commit 7887e02

File tree

1 file changed

+28
-14
lines changed

1 file changed

+28
-14
lines changed

articles/data-factory/ci-cd-github-troubleshoot-guide.md

Lines changed: 28 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ ms.service: data-factory
99
ms.subservice: ci-cd
1010
ms.custom: synapse
1111
ms.topic: troubleshooting
12-
ms.date: 11/09/2021
12+
ms.date: 04/18/2022
1313
---
1414

1515
# Troubleshoot CI-CD, Azure DevOps, and GitHub issues in Azure Data Factory and Synapse Analytics
@@ -33,7 +33,7 @@ Sometimes you encounter Authentication issues like HTTP status 401. Especially w
3333

3434
#### Cause
3535

36-
What we have observed is that the token was obtained from the original tenant, but the service is in guest tenant and trying to use the token to visit DevOps in guest tenant. This is not the expected behavior.
36+
The token was obtained from the original tenant, but the service is in guest tenant trying to use the token to visit DevOps in guest tenant. This type of token access isn't the expected behavior.
3737

3838
#### Recommendation
3939

@@ -101,7 +101,7 @@ When trying to publish changes, you get following error message:
101101
`
102102
### Cause
103103

104-
You have detached the Git configuration and set it up again with the "Import resources" flag selected, which sets the service as "in sync". This means no change during publication..
104+
You have detached the Git configuration and set it up again with the "Import resources" flag selected, which sets the service as "in sync". This means no change during publication.
105105

106106
#### Resolution
107107

@@ -128,7 +128,7 @@ You are unable to move a data factory from one Resource Group to another, failin
128128

129129
#### Resolution
130130

131-
You can delete the SSIS-IR and Shared IRs to allow the move operation. If you do not want to delete the integration runtimes, then the best way is to follow the copy and clone document to do the copy and after it's done, delete the old data factory.
131+
You can delete the SSIS-IR and Shared IRs to allow the move operation. If you don't want to delete the integration runtimes, then the best way is to follow the copy and clone document to do the copy and after it's done, delete the old data factory.
132132

133133
### Unable to export and import ARM template
134134

@@ -156,29 +156,43 @@ Until recently, the it was only possible to publish a pipeline for deployments b
156156

157157
CI/CD process has been enhanced. The **Automated** publish feature takes, validates, and exports all ARM template features from the UI. It makes the logic consumable via a publicly available npm package [@microsoft/azure-data-factory-utilities](https://www.npmjs.com/package/@microsoft/azure-data-factory-utilities). This method allows you to programmatically trigger these actions instead of having to go to the UI and click a button. This method gives your CI/CD pipelines a **true** continuous integration experience. Follow [CI/CD Publishing Improvements](./continuous-integration-delivery-improvements.md) for details.
158158

159-
### Cannot publish because of 4 MB ARM template limit
159+
### Cannot publish because of 4-MB ARM template limit
160160

161161
#### Issue
162162

163-
You cannot deploy because you hit Azure Resource Manager limit of 4 MB total template size. You need a solution to deploy after crossing the limit.
163+
You can't deploy because you hit Azure Resource Manager limit of 4-MB total template size. You need a solution to deploy after crossing the limit.
164164

165165
#### Cause
166166

167-
Azure Resource Manager restricts template size to be 4-MB. Limit the size of your template to 4-MB, and each parameter file to 64 KB. The 4 MB limit applies to the final state of the template after it has been expanded with iterative resource definitions, and values for variables and parameters. But, you have crossed the limit.
167+
Azure Resource Manager restricts template size to be 4-MB. Limit the size of your template to 4-MB, and each parameter file to 64 KB. The 4-MB limit applies to the final state of the template after it has been expanded with iterative resource definitions, and values for variables and parameters. But, you have crossed the limit.
168168

169169
#### Resolution
170170

171171
For small to medium solutions, a single template is easier to understand and maintain. You can see all the resources and values in a single file. For advanced scenarios, linked templates enable you to break down the solution into targeted components. Follow best practice at [Using Linked and Nested Templates](../azure-resource-manager/templates/linked-templates.md?tabs=azure-powershell).
172172

173+
### DevOps API limit of 20 MB causes ADF trigger twice instead of once
174+
175+
#### Issue
176+
177+
While publishing ADF resources, the azure pipeline triggers twice instead of once.
178+
179+
#### Cause
180+
181+
DevOps has limitation of 20-MB REST api load for arm templates, linked template and global parameters. Large ADF resources are reorganized to get around GitHub API rate limits. That may rarely cause ADF DevOps APIs hit 20-MB limit.
182+
183+
#### Resolution
184+
185+
Use ADF **Automated publish** (preferred) or **manual trigger** method to trigger once instead of twice.
186+
173187
### Cannot connect to GIT Enterprise
174188

175189
##### Issue
176190

177-
You cannot connect to GIT Enterprise because of permission issues. You can see error like **422 - Unprocessable Entity.**
191+
You can't connect to GIT Enterprise because of permission issues. You can see error like **422 - Unprocessable Entity.**
178192

179193
#### Cause
180194

181-
* You have not configured Oauth for the service.
195+
* You haven't configured Oauth for the service.
182196
* Your URL is misconfigured. The repoConfiguration should be of type [FactoryGitHubConfiguration](/dotnet/api/microsoft.azure.management.datafactory.models.factorygithubconfiguration?view=azure-dotnet&preserve-view=true)
183197

184198
#### Resolution
@@ -192,7 +206,7 @@ An instance of the service, or the resource group containing it, was deleted and
192206

193207
#### Cause
194208

195-
It is possible to recover the instance only if source control was configured for it with DevOps or Git. This action will bring all the latest published resources, but **will not** restore any unpublished pipelines, datasets, or linked services. If there is no Source control, recovering a deleted instance from the Azure backend is not possible because once the service receives the delete command, the instance is permanently deleted without any backup.
209+
It is possible to recover the instance only if source control was configured for it with DevOps or Git. This action will bring all the latest published resources, but **will not** restore any unpublished pipelines, datasets, or linked services. If there is no Source control, recovering a deleted instance from the Azure backend isn't possible because once the service receives the delete command, the instance is permanently deleted without any backup.
196210

197211
#### Resolution
198212

@@ -206,7 +220,7 @@ To recover a deleted service instance that has source control configured, refer
206220

207221
* If there was a Self-hosted Integration Runtime in a deleted data factory or Synapse workspace, a new instance of the IR must be created in a new factory or workspace. The on-premises or virtual machine IR instance must be uninstalled and reinstalled, and a new key obtained. After setup of the new IR is completed, the Linked Service must be updated to point to new IR and the connected tested again, or it will fail with error **invalid reference.**
208222

209-
### Cannot deploy to different stage using automatic publish method
223+
### Can't deploy to different stage using automatic publish method
210224

211225
#### Issue
212226
Customer followed all necessary steps like installing NPM package and setting up a higher stage using Azure DevOps, but deployment still fails.
@@ -269,7 +283,7 @@ You can monitor the pipeline using **SDK**, **Azure Monitor** or [Monitor](./mon
269283
You want to perform unit testing during development and deployment of your pipelines.
270284

271285
#### Cause
272-
During development and deployment cycles, you may want to unit test your pipeline before you manually or automatically publish your pipeline. Test automation allows you to run more tests, in less time, with guaranteed repeatability. Automatically re-testing all your pipelines before deployment gives you some protection against regression faults. Automated testing is a key component of CI/CD software development approaches: inclusion of automated tests in CI/CD deployment pipelines can significantly improve quality. In long run, tested pipeline artifacts are reused saving you cost and time.
286+
During development and deployment cycles, you may want to unit test your pipeline before you manually or automatically publish your pipeline. Test automation allows you to run more tests, in less time, with guaranteed repeatability. Automatically retesting all your pipelines before deployment gives you some protection against regression faults. Automated testing is a key component of CI/CD software development approaches: inclusion of automated tests in CI/CD deployment pipelines can significantly improve quality. In long run, tested pipeline artifacts are reused saving you cost and time.
273287

274288
#### Resolution
275289
Because customers may have different unit testing requirements with different skillsets, usual practice is to follow following steps:
@@ -331,7 +345,7 @@ If you want to share integration runtimes across all stages, consider using a te
331345
### GIT publish may fail because of PartialTempTemplates files
332346

333347
#### Issue
334-
When you have 1000s of old temporary ARM json files in PartialTemplates folder, publish may fail.
348+
When you have 1000 s of old temporary ARM json files in PartialTemplates folder, publish may fail.
335349

336350
#### Cause
337351
On publish, ADF fetches every file inside each folder in the collaboration branch. In the past, publishing generated two folders in the publish branch: PartialArmTemplates and LinkedTemplates. PartialArmTemplates files are no longer generated. However, because there can be many old files (thousands) in the PartialArmTemplates folder, this may result in many requests being made to GitHub on publish and the rate limit being hit.
@@ -347,4 +361,4 @@ For more help with troubleshooting, try the following resources:
347361
* [Data Factory feature requests](/answers/topics/azure-data-factory.html)
348362
* [Azure videos](https://azure.microsoft.com/resources/videos/index/?sort=newest&services=data-factory)
349363
* [Stack overflow forum for Data Factory](https://stackoverflow.com/questions/tagged/azure-data-factory)
350-
* [Twitter information about Data Factory](https://twitter.com/hashtag/DataFactory)
364+
* [Twitter information about Data Factory](https://twitter.com/hashtag/DataFactory)

0 commit comments

Comments
 (0)