Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Get latest main #24859

Merged
merged 375 commits into from
Jun 15, 2022
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
375 commits
Select commit Hold shift + click to select a range
d989621
[HDInsight] Use value from fake credential store in tests (#24274)
mccoyp May 3, 2022
6f53b9c
[textanalytics] fix for 429 (#24279)
kristapratico May 3, 2022
ad4cc76
[SchemaRegistry] docs/mypy updates (#24283)
swathipil May 3, 2022
7b2d19c
Update `azure-template` to reflect py27 only updates (#24285)
scbedd May 3, 2022
9259314
[textanalytics] decorator to validate multiapi (#24281)
kristapratico May 4, 2022
1818ade
Visibility Timeout Doc Correction (#21463)
tasherif-msft May 4, 2022
b8bcbd5
Remove Storage code owners (#24286)
jalauzon-msft May 4, 2022
9c28b76
[KeyVault] Keyvault Keys to Test Proxy (#24165)
kashifkhan May 4, 2022
ff3c02a
update changelog (#24292)
xiangyan99 May 4, 2022
1a952a6
Update the version tool to the latest (#24288)
azure-sdk May 4, 2022
c59eb64
[textanalytics] regen on 2022-04-01-preview + rerecord (#24280)
kristapratico May 4, 2022
6a83ffa
[Storage] Add progress callback to `download_blob` methods (#24276)
jalauzon-msft May 4, 2022
cb41ede
[formrecognizer] Fix documentation (#24269)
catalinaperalta May 4, 2022
756a893
[textanalytics] support for healthcare action + FHIR (#24298)
kristapratico May 5, 2022
1446fbf
[AutoRelease] t2-resource-2022-04-28-85137(Do not merge) (#24220)
azclibot May 5, 2022
d4d93d7
[AutoRelease] t2-msi-2022-04-29-61348(Do not merge) (#24250)
azclibot May 5, 2022
daa7573
optimize change_log (#24252)
Wzb123456789 May 5, 2022
de91b99
[Key Vault] Correctly skip unconfigured tests (#24301)
mccoyp May 5, 2022
e2d2006
[KeyVault] KV Certificates to test proxy (#24256)
kashifkhan May 5, 2022
4a52c8b
Disable Azure Artifact Docker Warnings (#24300)
scbedd May 5, 2022
c233f74
Update pipeline-generator version (#24313)
azure-sdk May 5, 2022
461591a
[core] move SerializationError and DeserializationError to exceptions…
iscai-msft May 5, 2022
0110841
batch dropping 2.7 (#24295)
xiangyan99 May 5, 2022
6b2a761
[Storage] Prepare for STG82 GA release (#24316)
jalauzon-msft May 5, 2022
3e79882
[Tables] Add multitenant challenge auth policy support (#24278)
mccoyp May 6, 2022
79c58f7
Update change_log.py (#24322)
BigCat20196 May 6, 2022
7ff526a
Increment version for core releases (#24331)
azure-sdk May 6, 2022
e45977a
Prepare monitor for release (#24332)
rakshith91 May 6, 2022
c52277a
[Tables] Fix odata serialization (#24290)
annatisch May 6, 2022
fcf4afb
Adjusted testcase (#24335)
vincenttran-msft May 6, 2022
99fa1c9
[AutoRelease] t2-recoveryservicesbackup-2022-04-29-79596 (#24243)
azclibot May 7, 2022
052437e
code and test (#24319)
azclibot May 7, 2022
f05e732
[AutoRelease] t2-chaos-2022-04-28-73429 (#24219)
azclibot May 7, 2022
58dc1a5
[RecoverServices] Temporarily delete invalid links (#24340)
BigCat20196 May 7, 2022
d87aa71
update (#24341)
msyyc May 7, 2022
d9b91d4
update template (#24343)
msyyc May 7, 2022
5ebba6e
[DPG][pipeline] integration to swagger pipeline (#24355)
msyyc May 9, 2022
bc9bb07
Create communication samples (#24268)
lzchen May 9, 2022
41bd866
[SchemaRegistry] avro update docstring (#24364)
swathipil May 9, 2022
353743e
[AutoRelease] t2-redhatopenshift-2022-05-05-85576(Do not merge) (#24302)
azclibot May 10, 2022
091ed45
[ACR] Pull/push support for OCI manifest and blob (#24004)
May 10, 2022
4bf7e7e
[AutoRelease] t2-network-2022-04-28-56088(Do not merge) (#24228)
azclibot May 10, 2022
d5e45f0
Increment package version after release of azure-identity (#24371)
azure-sdk May 10, 2022
4a7eeb5
[KeyVault] Administration Test to Test Proxy (#24334)
kashifkhan May 10, 2022
3bc5ce6
Increment version for eventhub releases (#24376)
azure-sdk May 10, 2022
5497978
Package py.typed file (#24361)
lmazuel May 10, 2022
3b11ae1
[textanalytics] update documentation (#24318)
kristapratico May 11, 2022
604e78a
[Docs] update guidance for test (#23955)
BigCat20196 May 11, 2022
8808128
regen on official swagger / remove local swagger (#24382)
kristapratico May 11, 2022
3299dc7
Increment package version after release of azure-containerregistry (#…
azure-sdk May 11, 2022
6038f4e
Increment package version after release of azure-data-tables (#24389)
azure-sdk May 11, 2022
0d56155
[App] deprecate app package (#24393)
BigCat20196 May 11, 2022
f653416
add test (#24394)
Wzb123456789 May 11, 2022
45b43f1
[change_log] write a script for change_log (#23952)
kazrael2119 May 11, 2022
a80bbdd
Increment version for schemaregistry releases (#24375)
azure-sdk May 11, 2022
7b20eb6
[Cosmos] post-archboard fixes (#24358)
simorenoh May 11, 2022
343c219
[translation] doc fixes (#24381)
kristapratico May 11, 2022
e558aea
Increment version for storage releases (#24377)
azure-sdk May 11, 2022
348b56f
Update tox.ini (#24401)
tjprescott May 11, 2022
0d0ce45
add CertificateCredential sample (#24400)
xiangyan99 May 11, 2022
eae4f8b
Update readme for -pre and -post TestResource scripts (#24405)
azure-sdk May 11, 2022
86be3ae
[AutoRelease] t2-datafactory-2022-05-05-52029(Do not merge) (#24304)
azclibot May 12, 2022
319d7d6
create doc (#24419)
BigCat20196 May 12, 2022
db028c0
Update Azure monitor OpenTelemetry exporter example (#24422)
jenshnielsen May 12, 2022
5699616
String parsing improvements to service directory resource names (#24398)
azure-sdk May 12, 2022
54ef18d
Update semantic convention mappings (#24366)
lzchen May 12, 2022
ec1b7e4
[Cosmos] use python3 typehints and move options to kwargs on async cl…
simorenoh May 12, 2022
35e10b4
Update Azure Account ext. workaround guidance (#24429)
scottaddie May 12, 2022
c01e178
fix typing (#24424)
xiangyan99 May 12, 2022
b124280
code (#24253)
msyyc May 13, 2022
d698c15
code and test (#24432)
azclibot May 13, 2022
31cd127
[VideoAnalyzer] deprecate package (#24434)
BigCat20196 May 13, 2022
d7b01d7
[VideoAnalyzer] deprecate videoanalyzer (#24436)
BigCat20196 May 13, 2022
a6057b3
add option for key credential (#24437)
msyyc May 13, 2022
8c4b715
add option for key credential (#24437)
msyyc May 13, 2022
acd6945
[Cosmos] mark populate_query_metrics flag to be deleted when used and…
simorenoh May 13, 2022
1bd414e
[Cosmos] Fix failing unit tests (#24287)
simorenoh May 13, 2022
f938bb1
[Cosmos] deprecate offer naming in methods - merge available (#24428)
simorenoh May 13, 2022
ad5da24
add type hints to overload impl (#24406)
kristapratico May 13, 2022
a91ffc9
Create test_crud_async.py (#24166)
JericHunter May 13, 2022
8c7d2c8
[textanalytics] unskip tests and rerecord now that kebab-case bug is …
kristapratico May 13, 2022
2d50ef2
Add skip variable for remove test resources to support debugging (#24…
azure-sdk May 13, 2022
dbc4c07
fix test (#24445)
msyyc May 16, 2022
3ee35ea
code and test (#24457)
azclibot May 16, 2022
18cef1e
code and test (#24459)
azclibot May 16, 2022
56f24f4
Update tox.ini (#24425)
tjprescott May 16, 2022
9d33381
Add other azure samples (#24360)
lzchen May 16, 2022
29b8aa6
azure-monitor-opentelemetry-exporter update readme (#24461)
jenshnielsen May 16, 2022
c29c3a1
add py.typed files to any packages missing them. update MANIFEST.in t…
scbedd May 13, 2022
46b446c
Enforce proper usage of `py.typed` file (#24409)
scbedd May 16, 2022
3837bb8
[Doc] Find SDK by Azure-cli command (#24123)
BigCat20196 May 17, 2022
40aac81
rename tests (#24478)
BigCat20196 May 17, 2022
94e61db
[AutoRelease] t2-appcontainers-2022-05-12-62222(Do not merge) (#24407)
azclibot May 17, 2022
fcf9cbe
Fix CI under `sdk/compute` (#24481)
msyyc May 17, 2022
9a4f583
code and test (#24479)
azclibot May 17, 2022
f222839
code and test (#24456)
azclibot May 17, 2022
5ffb488
Remove locale from links (#24490)
mccoyp May 17, 2022
79ffc05
update release date and fix some docstrings (#24473)
kristapratico May 17, 2022
33efbeb
Share APIView Pins of pylint-guidelines-checker (#24258)
scbedd May 17, 2022
2853983
[Storage] Update Storage mgmt MANIFESTs to include py.typed (#24506)
jalauzon-msft May 18, 2022
a7eedb5
Increment version for textanalytics release (#24512)
scbedd May 18, 2022
0db0c16
Temporarily disable `mgmt` enforcement of `py.typed` (#24513)
scbedd May 19, 2022
34716ac
[AutoRelease] t2-dynatrace-2022-05-10-18455(Do not merge) (#24368)
azclibot May 19, 2022
dfa109c
Update README.md (#24528)
kristapratico May 20, 2022
c154c84
[Bot Rules] Restore missing rules (#24545)
jsquire May 20, 2022
5fb0e6f
Describe named parameter issue and fix (#24549)
mccoyp May 20, 2022
3da260a
azure-core: ignore Connection header in tests (#24450)
K900 May 20, 2022
8d8c171
[tools] update comparison strategy for changelog (#24348)
msyyc May 23, 2022
c76e5f0
code and test (#24558)
azclibot May 23, 2022
eca061c
[auto_release] remove surplus code (#24349)
msyyc May 23, 2022
a1afd9d
add missing type hints for ItemPaged (#24548)
kristapratico May 23, 2022
942f767
Prevent error updating pip (#24554)
mikeharder May 23, 2022
bb26f8e
Remove locale from link (#24562)
mccoyp May 23, 2022
b0e4795
Add Language product slug (#24564)
azure-sdk May 23, 2022
6c30f75
Allow Skipping of Analyze Deps via Variable (#24526)
scbedd May 23, 2022
770adc1
Sync eng/common directory with azure-sdk-tools for PR 3342 (#24563)
azure-sdk May 23, 2022
0f72ec0
CLU build sdk (#24116)
mshaban-msft May 23, 2022
9c7becd
[Cosmos] add post_trigger_include to async read_item method and docs …
simorenoh May 23, 2022
f8d8757
[AutoRelease] t2-keyvault-2022-05-19-66553(Do not merge) (#24520)
azclibot May 24, 2022
098c6bc
[Cosmos] Update version for release (#24569)
simorenoh May 24, 2022
67d46b9
ML placeholder (#24571)
annatisch May 24, 2022
00d5b8a
Increment package version after release of azure-cosmos (#24575)
azure-sdk May 24, 2022
1ed38ae
[Tables] Add tests for exception reaction improvements (#24524)
May 24, 2022
5ffa5d4
Update test_env.py (#24580)
simorenoh May 24, 2022
9e241db
Delete yaml recordings (#24508)
mccoyp May 24, 2022
1820235
[KV] Troubleshooting for multitenant auth failure (#24500)
mccoyp May 24, 2022
7624a67
[Storage] Triaging Skipped Storage Tests (33/54) (#24550)
vincenttran-msft May 24, 2022
b6a33ec
[Cosmos] Remove PREVIEW title from Async IO README (#24584)
simorenoh May 24, 2022
4a1760f
fix types/docs (#24568)
kristapratico May 24, 2022
ef2609e
[Storage] Update DataLake docstrings for create_directory and delete_…
vincenttran-msft May 25, 2022
f361a7d
Update test_env.py (#24596)
simorenoh May 25, 2022
8db4dbd
Adding CODEOWNERS Communication NetworkTraversal (#24598)
ajpeacock0 May 25, 2022
78e796e
Sync eng/common directory with azure-sdk-tools for PR 3362 (#24599)
azure-sdk May 25, 2022
57045ec
Span decorator to pass INTERNAL by default (#24492)
lmazuel May 25, 2022
d33cc76
[AutoRelease] t2-deviceupdate-2022-05-18-58571(Do not merge) (#24501)
azclibot May 26, 2022
ec6e706
[AutoRelease] t2-containerregistry-2022-05-18-89335(Do not merge) (#2…
azclibot May 26, 2022
c6dbff7
[AutoRelease] t2-azurestackhci-2022-05-17-96575(Do not merge) (#24474)
azclibot May 26, 2022
2bdea0f
Sync eng/common directory with azure-sdk-tools for PR 3378 (#24602)
azure-sdk May 26, 2022
3968531
[ML] Release code snapshot (#24577)
annatisch May 26, 2022
b253e19
Disable Verify Dependencies Step for azure-ml (in code) (#24620)
scbedd May 26, 2022
0665bf5
hide decorator.spankind (#24612)
xiangyan99 May 26, 2022
cecc311
[Key Vault] Keep port number in parsed resource IDs (#24466)
mccoyp May 26, 2022
0317ebf
update changelog (#24611)
xiangyan99 May 26, 2022
35d0cce
pre-release patches (#24594)
mshaban-msft May 26, 2022
ad64f60
remove uneeded import (#24624)
kristapratico May 26, 2022
3ece1b1
[Doc] create doc (#24578)
BigCat20196 May 27, 2022
1036925
[Cosmos] evaluation mistake in backwards compatibility (#24633)
simorenoh May 27, 2022
5844490
[AutoRelease] t2-confidentialledger-2022-05-20-79275(Do not merge) (#…
azclibot May 30, 2022
97dc28a
code and test (#24631)
azclibot May 30, 2022
db3f8a9
[AutoRelease] t2-eventgrid-2022-05-12-42707(Do not merge) (#24408)
azclibot May 30, 2022
a22fdb6
Update test_backwards_compatibility.py (#24651)
simorenoh May 31, 2022
f356b54
[Fabric Bot] Update ML Contacts (#24632)
jsquire May 31, 2022
1709ec7
Adding a missing await in _async_register_rp (#24370)
hrichardlee Jun 1, 2022
d49d812
[ML] Add in rest of unit tests (#24622)
needuv Jun 1, 2022
5a17340
abstract (#24664)
lzchen Jun 1, 2022
36c0186
Increment version for core releases (#24667)
azure-sdk Jun 1, 2022
fc4c5bc
[metrics advisor] dpg with customizations (#24586)
iscai-msft Jun 1, 2022
3d13c0c
pass in value by param name instead of in headers (#24668)
iscai-msft Jun 1, 2022
23d05b3
[AutoRelease] t2-servicefabricmanagedclusters-2022-05-20-02722(Do not…
azclibot Jun 2, 2022
62ffa83
[AutoRelease] t2-applicationinsights-2022-05-30-17423(Do not merge) (…
azclibot Jun 2, 2022
169e608
[servicebus] uamqp custom endpoint support (#24582)
l0lawrence Jun 2, 2022
9a34e81
[EventHubs] merge Buffered Producer into main (#24653)
swathipil Jun 2, 2022
a49d05e
updating version (#24679)
l0lawrence Jun 2, 2022
4018d80
Disable detached head warnings on sparse checkout to commit (#24617)
azure-sdk Jun 2, 2022
d81488d
omit azureml from regression checks (#24681)
scbedd Jun 2, 2022
c39bf4a
Fix issue where matrix replace was not using imported display names (…
azure-sdk Jun 2, 2022
8e4b880
Revert "Update network loss schema" (#24654)
ckairen Jun 2, 2022
60cfde5
Remove eng/common checking in ml ci pipeline paths (#24686)
benbp Jun 2, 2022
89996a7
[translation] arch feedback (#24669)
kristapratico Jun 2, 2022
915275c
Suppress supply chain warnings. (#24682)
sima-zhu Jun 2, 2022
dbc0702
Conda release 2022 06 01 (#24635)
xiangyan99 Jun 2, 2022
8be1483
update code owners (#24688)
xiangyan99 Jun 2, 2022
efb3367
Parameterize Dockerfiles (#24637)
scbedd Jun 2, 2022
393d86c
[KV] Log error when HSM security domain download fails (#24687)
mccoyp Jun 3, 2022
9d16240
[servicebus] missing docstring async ce (#24698)
l0lawrence Jun 3, 2022
3597bb2
[dpg] add send request doc (#24700)
iscai-msft Jun 3, 2022
8b18061
[Identity] Update Service Fabric manual testing instructions (#21370)
mccoyp Jun 3, 2022
8396401
Implement token autorefresh (#21834)
petrsvihlik Jun 3, 2022
99765ea
Comment out assert for now, requires further investigation (#24691)
vincenttran-msft Jun 3, 2022
bf083e5
[formrecognizer] Adding 2022-06-30-preview work (#24701)
catalinaperalta Jun 3, 2022
ccf42ea
temporarily skip aad tests (#24708)
catalinaperalta Jun 3, 2022
e84b0f5
[Doc] update doc for resolve_issues_effectively (#24642)
BigCat20196 Jun 6, 2022
ca9b086
[AutoRelease] t2-batch-2022-06-01-88601(Do not merge) (#24659)
azclibot Jun 6, 2022
bca71e5
[AutoRelease] t2-sqlvirtualmachine-2022-06-02-79158(Do not merge) (#2…
azclibot Jun 6, 2022
5e70b85
Update readme.python.md (#24710)
msyyc Jun 6, 2022
2c4fb48
remove global config for multiapi (#24542)
msyyc Jun 6, 2022
838fcbd
Auto release debug (#24713)
BigCat20196 Jun 6, 2022
328a6f1
update tests (#24716)
BigCat20196 Jun 6, 2022
e233dc5
update changelog for release (#24709)
catalinaperalta Jun 6, 2022
fa98f04
Add Build Definition For `Azure-CLI` tests (#24705)
scbedd Jun 6, 2022
f09a9bf
[translation] updates for release (#24720)
kristapratico Jun 6, 2022
6281656
updating readme for ce (#24728)
l0lawrence Jun 6, 2022
fc5450e
[EventHubs&ServiceBus] fix tests/samples/cspell (#24719)
swathipil Jun 7, 2022
b0890cb
[AutoRelease] t2-imagebuilder-2022-05-26-64518(Do not merge) (#24601)
azclibot Jun 7, 2022
4ee7ea4
Update sdk_packaging.toml (#24741)
BigCat20196 Jun 7, 2022
36f509a
[AutoRelease] t2-communication-2022-06-07-16458(Do not merge) (#24742)
azure-sdk Jun 7, 2022
0becab1
[storagesync] update toml (#24743)
BigCat20196 Jun 7, 2022
0461ff0
[KV] Update metadata for release (#24731)
mccoyp Jun 7, 2022
b966bcb
Increment version for translation releases (#24747)
azure-sdk Jun 7, 2022
1923def
[formrecognizer] README and release updates (#24726)
catalinaperalta Jun 7, 2022
c0ea484
[formrecognizer] Unskip tests (#24733)
catalinaperalta Jun 7, 2022
f229664
[formrecognizer] Add paragraphs to prebuilt read samples (#24746)
catalinaperalta Jun 7, 2022
1d5096e
[Storage] STG 83 (#24551)
vincenttran-msft Jun 7, 2022
ea6200c
[EventHubs] update buffered producer docstring (#24729)
swathipil Jun 7, 2022
0e8392a
fix Sphinx Tox Environment Re-Usability (#24748)
scbedd Jun 7, 2022
194f078
Increment version for keyvault releases (#24750)
azure-sdk Jun 7, 2022
e781d1f
[Storage] Improve exception raised when uploading 'dict' Blob (#24730)
vincenttran-msft Jun 7, 2022
a7c549d
[formrecognizer] Remove document captions and footnotes (#24749)
catalinaperalta Jun 7, 2022
6a02bc9
[Storage] Fix page blob tier on `upload_blob` (#24755)
jalauzon-msft Jun 7, 2022
01280b1
Increment version for formrecognizer releases (#24759)
azure-sdk Jun 8, 2022
0af8dea
[AutoRelease] t2-appconfiguration-2022-06-02-69007(Do not merge) (#24…
azclibot Jun 8, 2022
d9e209c
Remove "feature/*" from formrecognizer CI triggers (#24758)
mikeharder Jun 8, 2022
cfea582
EventHub Troubleshooting Guide (#24697)
kashifkhan Jun 8, 2022
c79bb8a
Update to OpenTelemetry api/sdk 1.12.0rc1 (#24619)
lzchen Jun 8, 2022
a63d486
Add missing credential types to Azure Identity README (#24771)
scottaddie Jun 8, 2022
e69d2eb
[EventHub] update get_buffered_event_count docstring (#24756)
swathipil Jun 8, 2022
986d087
[AutoRelease] t2-compute-2022-06-06-50198(Do not merge) (#24717)
azure-sdk Jun 9, 2022
4138caa
[AutoRelease] t2-cognitiveservices-2022-06-08-73722(Do not merge) (#2…
azure-sdk Jun 9, 2022
8ace9c9
[AutoRelease] t2-containerservice-2022-06-06-20142(Do not merge) (#24…
azure-sdk Jun 9, 2022
469c3b1
[textanalytics] regenerate and record on 2022-05-01 (#24768)
kristapratico Jun 9, 2022
e86b4fa
[Test Proxy] Update positional parameter guidance (#24790)
mccoyp Jun 9, 2022
6d22152
code and test (#24712)
azure-sdk Jun 10, 2022
bd2a8eb
[Python] Custom Teams Endpoint (CTE) GA (#22987)
AikoBB Jun 10, 2022
3ee4298
Update CHANGELOG to prepare for 1.0.0b6 release (#24792)
lzchen Jun 10, 2022
82193ba
[Storage] Remove batch delete_files() (#24770)
vincenttran-msft Jun 10, 2022
1437455
[Tool] update codegen (#24808)
BigCat20196 Jun 13, 2022
1abf14b
[Pepeline] SDK Auto release (#24803)
BigCat20196 Jun 13, 2022
e77dd74
[Script] Auto release debug (#24821)
BigCat20196 Jun 13, 2022
4b8a195
update autorest version and template for pytyped (#24823)
msyyc Jun 13, 2022
4c189a1
[EventHubs] update checkpointstoreblob README title (#24825)
swathipil Jun 13, 2022
55811b7
Increment package version after release of azure-monitor-opentelemetr…
azure-sdk Jun 13, 2022
8b0c4b9
Sync eng/common directory with azure-sdk-tools for PR 3433 (#24828)
azure-sdk Jun 13, 2022
8484226
Override live test location default to westus (#24684)
benbp Jun 13, 2022
c31b20e
[textanalytics] remove extractive text summarization (#24793)
kristapratico Jun 13, 2022
42e9b8a
[Storage] STG83 Changelogs (#24829)
vincenttran-msft Jun 13, 2022
4a94195
[mgmt][core] upgrade min dependency for `azure-core` (#24245)
msyyc Jun 14, 2022
dcf2803
code and test (#24819)
azure-sdk Jun 14, 2022
2f6b3d2
[Datalake] Fix connection string parsing (#24779)
annatisch Jun 14, 2022
c8a0268
Identity environmnet credential cert password (#24826)
xiangyan99 Jun 14, 2022
d3e15c6
Sync eng/common directory with azure-sdk-tools for PR 3267 (#24514)
azure-sdk Jun 14, 2022
15967f5
Sync eng/common directory with azure-sdk-tools for PR 3386 (#24837)
azure-sdk Jun 14, 2022
42aa551
ensure conditions all work properly in the case of a previous error (…
azure-sdk Jun 14, 2022
a43bdd0
remove sleep time between tests (#24813)
catalinaperalta Jun 14, 2022
6688b47
[formrecognizer] Unskip AAD tests (#24795)
catalinaperalta Jun 14, 2022
62afa5e
[textanalytics] merge single/multi category result (#24797)
kristapratico Jun 15, 2022
ff4449d
Update python SDK for Purview Catalog (#24674)
yifan-zhou922 Jun 15, 2022
e3248de
Update setup.py (#24832)
BigCat20196 Jun 15, 2022
1568648
upgrade autorest.python version (#24247)
msyyc Jun 15, 2022
d7d3220
[Script] Auto release debug (#24833)
BigCat20196 Jun 15, 2022
4674d97
[ServiceBus] Sample async await (#24858)
l0lawrence Jun 15, 2022
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
EventHub Troubleshooting Guide (#24697)
* changes for eh troubleshooting guide

* trouble shooting guide for python

* review comments

* more fixes

* changes for error handling etc

* update for retry policy

* migration guide changes
  • Loading branch information
kashifkhan authored Jun 8, 2022
commit cfea5827dfbc524415eaf90a3714ed998e9c4f54
30 changes: 1 addition & 29 deletions sdk/eventhub/azure-eventhub/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -395,35 +395,7 @@ Refer to [IoT Hub Connection String Sample](https://github.com/Azure/azure-sdk-f

## Troubleshooting

### General

The Event Hubs APIs generate the following exceptions in azure.eventhub.exceptions

- **AuthenticationError:** Failed to authenticate because of wrong address, SAS policy/key pair, SAS token or azure identity.
- **ConnectError:** Failed to connect to the EventHubs. The AuthenticationError is a type of ConnectError.
- **ConnectionLostError:** Lose connection after a connection has been built.
- **EventDataError:** The EventData to be sent fails data validation. For instance, this error is raised if you try to send an EventData that is already sent.
- **EventDataSendError:** The Eventhubs service responds with an error when an EventData is sent.
- **OperationTimeoutError:** EventHubConsumer.send() times out.
- **EventHubError:** All other Eventhubs related errors. It is also the root error class of all the errors described above.

### Logging

- Enable `azure.eventhub` logger to collect traces from the library.
- Enable `uamqp` logger to collect traces from the underlying uAMQP library.
- Enable AMQP frame level trace by setting `logging_enable=True` when creating the client.
- There may be cases where you consider the `uamqp` logging to be too verbose. To suppress unnecessary logging, add the following snippet to the top of your code:
```python
import logging

# The logging levels below may need to be adjusted based on the logging that you want to suppress.
uamqp_logger = logging.getLogger('uamqp')
uamqp_logger.setLevel(logging.ERROR)

# or even further fine-grained control, suppressing the warnings in uamqp.connection module
uamqp_connection_logger = logging.getLogger('uamqp.connection')
uamqp_connection_logger.setLevel(logging.ERROR)
```
See the `azure-eventhubs` [troubleshooting guide](https://github.com/Azure/azure-sdk-for-python/tree/main/sdk/keyvault/TROUBLESHOOTING.md) for details on how to diagnose various failure scenarios.

## Next steps

Expand Down
227 changes: 227 additions & 0 deletions sdk/eventhub/azure-eventhub/TROUBLESHOOTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,227 @@
# Troubleshoot Event Hubs issues

This troubleshooting guide covers failure investigation techniques, common errors for the credential types in the Azure Event Hubs Python client library, and mitigation steps to resolve these errors.

- [Handle Event Hubs exceptions](#handle-event-hubs-exceptions)
- [Find relevant information in exception messages](#find-relevant-information-in-exception-messages)
- [Commonly encountered exceptions](#commonly-encountered-exceptions)
- [Permission issues](#permission-issues)
- [Connectivity issues](#connectivity-issues)
- [Timeout when connecting to service](#timeout-when-connecting-to-service)
- [SSL handshake failures](#ssl-handshake-failures)
- [Socket exhaustion errors](#socket-exhaustion-errors)
- [Connect using an IoT connection string](#connect-using-an-iot-connection-string)
- [Cannot add components to the connection string](#cannot-add-components-to-the-connection-string)
- [Enable and configure logging](#enable-and-configure-logging)
- [Configuring Log4J 2](#configuring-log4j-2)
- [Configuring logback](#configuring-logback)
- [Enable AMQP transport logging](#enable-amqp-transport-logging)
- [Reduce logging](#reduce-logging)
- [Troubleshoot EventProducerAsyncClient/EventProducerClient issues](#troubleshoot-eventproducerasyncclienteventproducerclient-issues)
- [Cannot set multiple partition keys for events in EventDataBatch](#cannot-set-multiple-partition-keys-for-events-in-eventdatabatch)
- [Setting partition key on EventData is not set in Kafka consumer](#setting-partition-key-on-eventdata-is-not-set-in-kafka-consumer)
- [Troubleshoot EventHubConsumerClient issues](#troubleshoot-eventprocessorclient-issues)
- [412 precondition failures when using an event processor](#412-precondition-failures-when-using-an-event-processor)
- [Partition ownership changes frequently](#partition-ownership-changes-frequently)
- ["...current receiver '<RECEIVER_NAME>' with epoch '0' is getting disconnected"](#current-receiver-receiver_name-with-epoch-0-is-getting-disconnected)
- [High CPU usage](#high-cpu-usage)
- [Processor client stops receiving](#processor-client-stops-receiving)
- [Migrate from legacy to new client library](#migrate-from-legacy-to-new-client-library)
- [Get additional help](#get-additional-help)
- [Filing GitHub issues](#filing-github-issues)

## Handle Event Hubs exceptions

All Event Hubs exceptions are wrapped in an [EventHubError][EventHubError]. They often have an underlying AMQP error code which specifies whether an error should be retried. For retryable errors (ie. `amqp:connection:forced` or `amqp:link:detach-forced`), the client libraries will attempt to recover from these errors based on the [retry options][AmqpRetryOptions] specified when instantiating the client. To configure retry options, follow the sample [Client Creation][ClientCreation]. If the error is non-retryable, there is some configuration issue that needs to be resolved.

The recommended way to solve the specific exception the AMQP exception represents is to follow the
[Event Hubs Messaging Exceptions][EventHubsMessagingExceptions] guidance.

### Find relevant information in exception messages

An [EventHubError][EventHubError] contains three fields which describe the error:

* **message**: The underlying AMQP error message. A description of the errors can be found in the [Exceptions module][ExceptionModule] or the [OASIS AMQP 1.0 spec][AmqpSpec].
* **error**: The error condition if available.
* **details**: The error details, if included in the service response.

By default the producer and consumer clients will retry for error conditions. We recommend that users of the clients use the following keyword arguments during creation of the client to change the retry behavior rather than retrying on their own:
* **retry_total**: The total number of attempts to redo a failed operation when an error occurs. Default
value is 3
* **retry_backoff_factor**: A backoff factor to apply between attempts after the second try
* **retry_backoff_max**: The maximum back off time. Default value is 120 seconds
* **retry_mode: The delay behavior between retry attempts. Supported values are 'fixed' or 'exponential', where default is 'exponential'

### Commonly encountered exceptions

#### ConnectionLostError Exception

When the connection to Event Hubs is idle, the service will disconnect the client after some time and raise a `ConnectionLostError` exception. The underlying issues that cause this are `amqp:connection:forced` and `amqp:link:detach-forced`. This is not a problem as the clients will re-establish a connection when a service operation is requested. More information can be found in the [AMQP troubleshooting documentation][AmqpTroubleshooting].

## Permission issues

An `AuthenticationError` means that the provided credentials do not allow for them to perform the action (receiving or sending) with Event Hubs.

* [Double check you have the correct connection string][GetConnectionString]
* [Ensure your SAS token is generated correctly][AuthorizeSAS]
* [Verify the correct RBAC roles were granted][RBACRoles]

[Troubleshoot authentication and authorization issues with Event Hubs][TroubleshootAuthenticationAuthorization] lists other possible solutions.

## Connectivity issues

### Timeout when connecting to service

* Verify that the connection string or fully qualified domain name specified when creating the client is correct. [Get an Event Hubs connection string][GetConnectionString] demonstrates how to acquire a connection string.
* Check the firewall and port permissions in your hosting environment and that the AMQP ports 5671 and 5762 are open.
* Make sure that the endpoint is allowed through the firewall.
* Try using WebSockets, which connects on port 443. See [configure web sockets][PublishEventsWithWebSocketsAndProxy] sample.
* See if your network is blocking specific IP addresses.
* [What IP addresses do I need to allow?][EventHubsIPAddresses]
* If applicable, check the proxy configuration. See [configure proxy][PublishEventsWithWebSocketsAndProxy] sample.
* For more information about troubleshooting network connectivity, refer to [Event Hubs troubleshooting][EventHubsTroubleshooting]

### SSL handshake failures

This error can occur when an intercepting proxy is used. We recommend testing in your hosting environment with the proxy disabled to verify.

### Socket exhaustion errors

Applications should prefer treating the Event Hubs clients as a singleton, creating and using a single instance through the lifetime of their application. This is important as each client type manages its connection; creating a new Event Hub client results in a new AMQP connection, which uses a socket. Additionally, it is essential to be aware that your client is responsible for calling `close()` when it is finished using a client or to use the `with statement` for clients so that they are automatically closed after the flow execution leaves that block.

### Connect using an IoT connection string

Because translating a connection string requires querying the IoT Hub service, the Event Hubs client library cannot use it directly. The [IoT Hub Connection String Sample][IoTConnectionString] sample describes how to query IoT Hub to translate an IoT connection string into one that can be used with Event Hubs.

Further reading:
* [Control access to IoT Hub using Shared Access Signatures][IoTHubSAS]
* [Read device-to-cloud messages from the built-in endpoint][IoTEventHubEndpoint]

#### Adding "TransportType=AmqpWebSockets"

To use web sockets, pass in a kwarg `transport_type = TransportType.AmqpOverWebsocket` during client creation.

#### Adding "Authentication=Managed Identity"

To authenticate with Managed Identity, see the sample [client_identity_authentication.py][PublishEventsWithAzureIdentity].

For more information about the `Azure.Identity` library, check out our [Authentication and the Azure SDK][AuthenticationAndTheAzureSDK] blog post.

## Enable and configure logging

The Azure SDK for Python offers a consistent logging story to help troubleshoot application errors and expedite their resolution. The logs produced will capture the flow of an application before reaching the terminal state to help locate the root issue.

This library uses the standard [Logging] library for logging

- Enable `azure.eventhub` logger to collect traces from the library.
- Enable `uamqp` logger to collect traces from the underlying uAMQP library.

### Enable AMQP transport logging

If enabling client logging is not enough to diagnose your issues. You can enable AMQP frame level trace by setting `logging_enable=True` when creating the client.

### Reduce logging

There may be cases where you consider the `uamqp` logging to be too verbose. To suppress unnecessary logging, add the following snippet to the top of your code:

```python
import logging

# The logging levels below may need to be adjusted based on the logging that you want to suppress.
uamqp_logger = logging.getLogger('uamqp')
uamqp_logger.setLevel(logging.ERROR)

# or even further fine-grained control, suppressing the warnings in uamqp.connection module
uamqp_connection_logger = logging.getLogger('uamqp.connection')
uamqp_connection_logger.setLevel(logging.ERROR)
```

## Troubleshoot EventHubProducerClient (Sync/Async) issues

### Cannot set multiple partition keys for events in EventDataBatch

When publishing messages, the Event Hubs service supports a single partition key for each EventDataBatch. Customers can consider using the producer client in `buffered mode` if they want that capability. Otherwise, they'll have to manage their batches.

### Setting partition key on EventData is not set in Kafka consumer

The partition key of the EventHubs event is available in the Kafka record headers, the protocol specific key being "x-opt-partition-key" in the header.

By design, Event Hubs does not promote the Kafka message key to be the Event Hubs partition key nor the reverse because with the same value, the Kafka client and the Event Hub client likely send the message to two different partitions. It might cause some confusion if we set the value in the cross-protocol communication case. Exposing the properties with a protocol specific key to the other protocol client should be good enough.

## Troubleshoot EventHubConsumerClient issues

### 412 precondition failures when using an event processor

Logs reflect intermittent HTTP 412 and HTTP 409 responses from storage when the client tries to take or renew ownership of a partition, but the local version of the ownership record is outdated. This occurs when another processor instance steals partition ownership. See [Partition ownership changes a lot](#partition-ownership-changes-a-lot) for more information.

### Partition ownership changes frequently

When the number of EventHubConsumerClient instances changes (i.e. added or removed), the running instances try to load-balance partitions between themselves. For a few minutes after the number of processors changes, partitions are expected to change owners. Once balanced, partition ownership should be stable and change infrequently. If partition ownership is changing frequently when the number of processors is constant, this likely indicates a problem. It is recommended that a GitHub issue with logs and a repro be filed in this case.

### "...current receiver '<RECEIVER_NAME>' with epoch '0' is getting disconnected"

The entire error message looks something like this:

> New receiver 'nil' with higher epoch of '0' is created hence current receiver 'nil' with epoch '0'
> is getting disconnected. If you are recreating the receiver, make sure a higher epoch is used.
> TrackingId:<GUID>, SystemTracker:<NAMESPACE>:eventhub:<EVENT_HUB_NAME>|<CONSUMER_GROUP>,
> Timestamp:2022-01-01T12:00:00}"}

This error is expected when load balancing occurs after EventHubConsumerClient instances are added or removed. Load balancing is an ongoing process. When using the BlobCheckpointStore with your consumer, every ~30 seconds (by default), the consumer will check to see which consumers have a claim for each partition, then run some logic to determine whether it needs to 'steal' a partition from another consumer. The service mechanism used to assert exclusive ownership over a partition is known as the [Epoch][Epoch].

However, if no instances are being added or removed, there is an underlying issue that should be addressed. See [Partition ownership changes a lot](#partition-ownership-changes-a-lot) for additional information and [Filing GitHub issues](#filing-github-issues).

### High CPU usage

High CPU usage is usually because an instance owns too many partitions. We recommend no more than three partitions for every 1 CPU core; better to start with 1.5 partitions for each CPU core and test increasing the number of partitions owned.

### Processor client stops receiving

The processor client often is continually running in a host application for days on end. Sometimes, they notice that EventHubConsumerClient is not processing one or more partitions. Usually, this is not enough information to determine why the exception occurred. The EventHubConsumerClient stopping is the symptom of an underlying cause (i.e. race condition) that occurred while trying to recover from a transient error. Please see [Filing Github issues](#filing-github-issues) for the information we require.

### Migrate from legacy to new client library

The [migration guide][MigrationGuide] includes steps on migrating from the legacy client and migrating legacy checkpoints.

## Get additional help

Additional information on ways to reach out for support can be found in the [SUPPORT.md][SUPPORT] at the repo's root.

### Filing GitHub issues

When filing GitHub issues, the following details are requested:

* Event Hub environment
* How many partitions?
* EventHubConsumerClient environment
* What is the machine(s) specs processing your Event Hub?
* How many instances are running?
* What is the average size of each EventData?
* What is the traffic pattern like in your Event Hub? (i.e. # messages/minute and if the EventHubConsumerClient is always busy or has slow traffic periods.)
* Repro code and steps
* This is important as we often cannot reproduce the issue in our environment.
* Logs. We need DEBUG logs, but if that is not possible, INFO at least. Error and warning level logs do not provide enough information. The period of at least +/- 10 minutes from when the issue occurred.

<!-- repo links -->
[IoTConnectionString]: https://github.com/Azure/azure-sdk-for-python/blob/main/sdk/eventhub/azure-eventhub/samples/async_samples/iot_hub_connection_string_receive_async.py
[MigrationGuide]: https://github.com/Azure/azure-sdk-for-python/blob/main/sdk/eventhub/azure-eventhub/migration_guide.md

<!-- docs.microsoft.com links -->
[ExceptionModule]: https://docs.microsoft.com/python/api/azure-eventhub/azure.eventhub.exceptions
[EventHubError]: https://docs.microsoft.com/python/api/azure-eventhub/azure.eventhub.exceptions.eventhuberror
[AmqpTroubleshooting]: https://docs.microsoft.com/azure/service-bus-messaging/service-bus-amqp-troubleshoot
[AuthorizeSAS]: https://docs.microsoft.com/azure/event-hubs/authorize-access-shared-access-signature
[RBACRoles]: https://docs.microsoft.com/azure/event-hubs/troubleshoot-authentication-authorization
[Epoch]: https://docs.microsoft.com/azure/event-hubs/event-hubs-event-processor-host#epoch
[EventHubsIPAddresses]: https://docs.microsoft.com/azure/event-hubs/troubleshooting-guide#what-ip-addresses-do-i-need-to-allow
[EventHubsMessagingExceptions]: https://docs.microsoft.com/azure/event-hubs/event-hubs-messaging-exceptions
[EventHubsTroubleshooting]: https://docs.microsoft.com/azure/event-hubs/troubleshooting-guide
[GetConnectionString]: https://docs.microsoft.com/azure/event-hubs/event-hubs-get-connection-string
[IoTEventHubEndpoint]: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-messages-read-builtin
[IoTHubSAS]: https://docs.microsoft.com/azure/iot-hub/iot-hub-dev-guide-sas#security-tokens
[TroubleshootAuthenticationAuthorization]: https://docs.microsoft.com/azure/event-hubs/troubleshoot-authentication-authorization

<!-- external links -->
[AuthenticationAndTheAzureSDK]: https://devblogs.microsoft.com/azure-sdk/authentication-and-the-azure-sdk
[AmqpSpec]: https://docs.oasis-open.org/amqp/core/v1.0/os/amqp-core-types-v1.0-os.html
[Logging]: https://docs.python.org/3/library/logging.html