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

Connection state listener #15489

Closed
wants to merge 67 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
67 commits
Select commit Hold shift + click to select a range
84a37ab
Port from v4
Nov 7, 2019
d218925
Merge branch 'master' of https://github.com/Azure/azure-sdk-for-java
Nov 8, 2019
11cbbf3
Merge branch 'master' of github.com:David-Noble-at-work/azure-sdk-for…
Nov 8, 2019
05c7e05
Corrected package misspelling in log4j.properties and removed System.…
Nov 9, 2019
8dfa3db
Merge branch 'master' of github.com:David-Noble-at-work/azure-sdk-for…
Nov 9, 2019
e6e71f5
Merge branch 'master' of https://github.com/Azure/azure-sdk-for-java
Nov 9, 2019
e082d81
Merge branch 'master' of github.com:David-Noble-at-work/azure-sdk-for…
Nov 17, 2019
069c822
Merge branch 'master' of github.com:David-Noble-at-work/azure-sdk-for…
Nov 23, 2019
3ead1cc
Merge branch 'master' of https://github.com/Azure/azure-sdk-for-java
Dec 3, 2019
669ba8b
Merge branch 'master' of https://github.com/Azure/azure-sdk-for-java
Dec 4, 2019
735f572
Responded to code review comments
Dec 4, 2019
6db330d
Merge branch 'master' of https://github.com/Azure/azure-sdk-for-java
Jan 4, 2020
48855b5
Merge branch 'master' of https://github.com/Azure/azure-sdk-for-java
Jan 4, 2020
2367f50
Merge branch 'master' of https://github.com/Azure/azure-sdk-for-java
Jan 17, 2020
fb9cac0
Updated sdk/cosmos/README.md with info on using system properties to …
Jan 23, 2020
1dd708e
Merge branch 'master' of https://github.com/Azure/azure-sdk-for-java
Jan 23, 2020
203507a
Merge branch 'master' of https://github.com/Azure/azure-sdk-for-java
Mar 16, 2020
368b10f
Merge branch 'master' of https://github.com/Azure/azure-sdk-for-java
Mar 16, 2020
a0b44a7
Merge branch 'master' of github.com:David-Noble-at-work/azure-sdk-for…
Apr 15, 2020
d810ba8
Merge branch 'master' of https://github.com/Azure/azure-sdk-for-java
May 6, 2020
64a12af
Merge branch 'master' of https://github.com/Azure/azure-sdk-for-java
Jun 4, 2020
29f2c73
Merge branch 'master' of https://github.com/Azure/azure-sdk-for-java
Jun 26, 2020
e4df526
Checkpoint for safe keeping
Jun 27, 2020
916f99e
Merge branch 'master' of https://github.com/Azure/azure-sdk-for-java …
Jun 30, 2020
ae1b11b
Merge branch 'master' of https://github.com/Azure/azure-sdk-for-java …
Jul 2, 2020
019e90b
Updated error handling in RntbdTransportClient.invokeStoreAsync, opti…
Jul 2, 2020
ba4d4ed
Merge branch 'master' of github.com:Azure/azure-sdk-for-java into fea…
Jul 7, 2020
2f0b886
Ported changes from David-Noble-at-work/issue/cosmos-4.X/#10401
Jul 7, 2020
ba13859
Checkpoint for safe keeping.
Jul 8, 2020
3293e11
Checkpoint for safe keeping.
Jul 9, 2020
a83cd62
Checkpoint for safe keeping
Jul 9, 2020
1902669
Checkpoint for safe keeping
Jul 10, 2020
f466158
Revisions for correctness
Jul 11, 2020
6b72281
Merge from origin master + refinements: e2e test passes
Jul 11, 2020
4a0360e
Refinements to implementation
Jul 12, 2020
ea4ca55
Rediscovery is now correctly triggered whenever a failure occurs. E2e…
Jul 13, 2020
a04d40d
Merge branch 'master' of github.com:Azure/azure-sdk-for-java into fea…
Jul 18, 2020
18ab502
Bug fix
Jul 19, 2020
d2d892c
Bug fix
Jul 21, 2020
201b643
Removed some dead code
Jul 22, 2020
fa9eaf6
Clarified the text of the message produced by RntbdServiceEndpoint.th…
Jul 24, 2020
7c830cf
Tweaked RntbdClientChannelHandler.init based on preliminary test resu…
Jul 25, 2020
d4c8561
Added new RntbdTransportClient.Options member and removed some dead m…
Jul 25, 2020
6c57447
RntbdClientChannelHandler does not install an IdleStateHandler when t…
Jul 31, 2020
b08361e
Tweaked request timeline which now reports a null event duration if t…
Aug 3, 2020
1ca1c3b
Benchmark tweak to ensure collections are recreated if they already e…
Aug 6, 2020
233f5b9
Tweaked benchmark and updated RntbdConnectionStateListener.updateAddr…
Aug 17, 2020
a631804
Merge branch 'master' of github.com:Azure/azure-sdk-for-java into fea…
Aug 17, 2020
2079b5b
Experimental: treat 410 with sub-status code zero as server-down due …
Aug 26, 2020
64d2111
Tweaked diagnostics
Aug 26, 2020
bd54f11
Merge branch 'master' of github.com:Azure/azure-sdk-for-java into fea…
Aug 26, 2020
94834b9
Merge branch 'master' of github.com:Azure/azure-sdk-for-java into fea…
Aug 27, 2020
130de85
Refinements
Aug 30, 2020
4ff0680
RntbdAddressCacheToken now computes partition key range identities fo…
Aug 31, 2020
45ffb90
Implemented UpdateStrategy for connection state listener: DEFERRED or…
Sep 1, 2020
c280476
Completed a number of TODOs for this PR
Sep 2, 2020
9f57a9c
Refinements and corrections based on review feedback
Sep 3, 2020
77f3e88
Refinements and corrections based on review feedback and test-33 results
Sep 4, 2020
cc2b936
Refinements and corrections based on review feedback
Sep 4, 2020
ff4d980
Formatted JavaDoc
Sep 4, 2020
ac593ec
Merge branch 'master' of github.com:Azure/azure-sdk-for-java into fea…
Sep 4, 2020
4502126
Formatted JavaDoc
Sep 4, 2020
90d98b9
Merge branch 'master' of github.com:Azure/azure-sdk-for-java into fea…
Sep 4, 2020
f01ce9f
merge master and David's connectionstateListener PR
Sep 22, 2020
5d2ee77
clean
Sep 22, 2020
d661bed
revert some unrelated style change
Sep 22, 2020
161fe18
clean
Sep 22, 2020
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
The diff you're trying to view is too large. We only load the first 3000 changed files.
12 changes: 8 additions & 4 deletions .github/CODEOWNERS
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@
####
# Service teams
####
# PRLabel: %AzConfig
# PRLabel: %App Configuration
/sdk/appconfiguration/ @mssfang @alzimmermsft
/sdk/appconfiguration/spring-cloud-azure-*/ @mrm9084 @saragluna @yiliuTo @chenrujun @zhoufenqin @jialindai

Expand All @@ -31,14 +31,15 @@

# PRLabel: %Cosmos
/sdk/cosmos/ @moderakh @kushagraThapar @David-Noble-at-work @kirankumarkolli @mbhaskar @simplynaveen20 @xinlian12 @milismsft
/sdk/cosmos/azure-spring-data-cosmos-core/ @kushagraThapar @saragluna @yiliuTo @chenrujun @zhoufenqin @jialindai @mbhaskar
/sdk/cosmos/azure-spring-data-cosmos/ @kushagraThapar @saragluna @yiliuTo @chenrujun @zhoufenqin @jialindai @mbhaskar
/sdk/cosmos/azure-spring-data-cosmos-test/ @kushagraThapar @saragluna @yiliuTo @chenrujun @zhoufenqin @jialindai @mbhaskar
/sdk/cosmos/azure-spring-data-2-2-cosmos/ @kushagraThapar @saragluna @yiliuTo @chenrujun @zhoufenqin @jialindai @mbhaskar
/sdk/cosmos/azure-spring-data-2-3-cosmos/ @kushagraThapar @saragluna @yiliuTo @chenrujun @zhoufenqin @jialindai @mbhaskar

# PRLabel: %DigitalTwins
/sdk/digitaltwins/ @drwill-ms @timtay-microsoft @abhipsaMisra @vinagesh @azabbasi @bikamani @barustum

# PRLabel: %Event Grid
/sdk/eventgrid/ @srnagar @yijunxiems

# PRLabel: %Event Hubs
/sdk/eventhubs/ @conniey @srnagar @mssfang @yijunxiems

Expand All @@ -63,6 +64,9 @@
# PRLabel: %Storage
/sdk/storage/ @amishra-dev @rickle-msft @jaschrep-msft @gapra-msft @alzimmermsft @kasobol-msft

# PRLabel: %EngSys
/sdk/template/ @Azure/azure-sdk-eng

# PRLabel: %Cognitive - Text Analytics
/sdk/textanalytics/ @samvaity @mssfang

Expand Down
4 changes: 0 additions & 4 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -80,7 +80,3 @@ jacoco.exec

# Generated client pom file
ClientAggregatePom.xml


# Anaconda virtual
venv
12 changes: 6 additions & 6 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -71,7 +71,7 @@ To see what resources will be deployed for a live service, check the
`test-resources.json` ARM template files in the service you wish to deploy for
testing, for example `sdk\keyvault\test-resources.json`.

To deploy live resources for testing use the steps documented in [`Example 1 of New-TestResources.ps1`](eng/common/TestResources/New-TestResources.ps1.md#example-1)
To deploy live resources for testing use the steps documented in [`Example 1 of New-TestResources.ps1`](https://github.com/Azure/azure-sdk-for-java/blob/master/eng/common/TestResources/New-TestResources.ps1.md#example-1)
to set up a service principal and deploy live testing resources.

The script will provide instructions for setting environment variables before
Expand Down Expand Up @@ -105,7 +105,7 @@ All code in the Azure SDKs for Java repository must pass Checkstyle before being

## Versions and versioning

Tooling has been introduced to centralize versioning and help ease the pain of updating artifact versions in POM and README files. Under the eng\versioning directory there exists version text files, one for client ([version_client.txt](./eng/versioning/version_client.txt)) and one for data ([version_data.txt](./eng/versioning/version_data.txt)). The format of the version files is as follows:
Tooling has been introduced to centralize versioning and help ease the pain of updating artifact versions in POM and README files. Under the eng\versioning directory there exists version text files, one for client ([version_client.txt](https://github.com/Azure/azure-sdk-for-java/blob/master/eng/versioning/version_client.txt)) and one for data ([version_data.txt](https://github.com/Azure/azure-sdk-for-java/blob/master/eng/versioning/version_data.txt)). The format of the version files is as follows:

`groupId:artifactId;dependency-version;current-version`

Expand All @@ -130,7 +130,7 @@ Released Beta Dependency version – This is for when a library, which has alrea

An example of Current vs Dependency versions: `com.azure:azure-storage-blob-batch` has dependencies on `com.azure:azure-core`, `com.azure:azure-core-http-netty` and `com.azure:azure-storage-blob`. Because `com.azure:azure-core` and `com.azure:azure-core-http-netty` are both built outside of azure-storage pipeline we should be using the released or *Dependency* versions of these when they're dependencies of another library. Similarly, libraries built as part of the same pipeline, that have interdependencies, should be using the Current version. Since `com.azure:azure-storage-blob-batch` and `com.azure:azure-storage-blob` are both built part of the azure-batch pipeline when `com.azure:azure-storage-blob` is declared as a dependency of `com.azure:azure-storage-blob-batch` it should be the *Current* version.

An example of an Unreleased Dependency version: Additive, not breaking, API changes have been made to `com.azure:azure-core`. `com.azure:azure-storage-blob` has a dependency on `com.azure:azure-core` and requires the additive API change that has not yet been released. An unreleased entry needs to be created in [version_client.txt](./eng/versioning/version_client.txt), under the unreleased section, with the following format: `unreleased_<groupId>:<artifactId>;dependency-version`, in this example that would be `unreleased_com.azure:azure-core;1.2.0` (this should match the 'current' version of core). The dependency update tags in the pom files that required this dependency would now reference `{x-version-update;unreleased_com.azure:azure-core;dependency}`. Once the updated library has been released the unreleased dependency version should be removed and the POM file update tags should be referencing the released version.
An example of an Unreleased Dependency version: Additive, not breaking, API changes have been made to `com.azure:azure-core`. `com.azure:azure-storage-blob` has a dependency on `com.azure:azure-core` and requires the additive API change that has not yet been released. An unreleased entry needs to be created in [version_client.txt](https://github.com/Azure/azure-sdk-for-java/blob/master/eng/versioning/version_client.txt), under the unreleased section, with the following format: `unreleased_<groupId>:<artifactId>;dependency-version`, in this example that would be `unreleased_com.azure:azure-core;1.2.0` (this should match the 'current' version of core). The dependency update tags in the pom files that required this dependency would now reference `{x-version-update;unreleased_com.azure:azure-core;dependency}`. Once the updated library has been released the unreleased dependency version should be removed and the POM file update tags should be referencing the released version.

### Tooling, version files and marker tags

Expand Down Expand Up @@ -167,7 +167,7 @@ In README files this ends up being slightly different. Because the version tag i
Let's say we've GA'd and I need to tick up the version of azure-storage libraries how would I do it? Guidelines for incrementing versions after release can be found [here](https://github.com/Azure/azure-sdk/blob/master/docs/policies/releases.md#incrementing-after-release).

1. I'd open up eng\versioning\version_client.txt and update the current-versions of the libraries that are built and released as part of the azure storage pipeline. This list can be found in pom.service.xml under the sdk/storage directory. It's worth noting that any module entry starting with "../" are external module dependencies and not something that's released as part of the pipeline. Dependencies for library components outside of a given area would be downloading the appropriate dependency from Maven like we do for external dependencies.
2. Execute the update_versions python script from the root of the enlistment. The exact syntax and commands will vary based upon what is being changed and some examples can be found in the use cases in the [update_versions.py](./eng/versioning/update_versions.py#L6) file.
2. Execute the update_versions python script from the root of the enlistment. The exact syntax and commands will vary based upon what is being changed and some examples can be found in the use cases in the [update_versions.py](https://github.com/Azure/azure-sdk-for-java/blob/master/eng/versioning/update_versions.py#L6) file.
3. Review and submit a PR with the modified files.

### Next steps: Management plane
Expand All @@ -179,11 +179,11 @@ Let's say we've GA'd and I need to tick up the version of azure-storage librarie
This is where the `unreleased_` dependency tags come into play. Using the Unreleased Dependency example above, where `com.azure:azure-storage-blob` has a dependency on an unreleased `com.azure:azure-core`:

- [ ] Make the additive changes to `com.azure:azure-core`
- [ ] In [version_client.txt](./eng/versioning/version_client.txt) add the entry for the unreleased azure core in the unreleased section at the bottom of the file. The entry would look like `unreleased_com.azure:azure-core;<version>`.
- [ ] In [version_client.txt](https://github.com/Azure/azure-sdk-for-java/blob/master/eng/versioning/version_client.txt) add the entry for the unreleased azure core in the unreleased section at the bottom of the file. The entry would look like `unreleased_com.azure:azure-core;<version>`.
Note: The version of the library referenced in the unreleased version tag should match the current version of that library.
- [ ] In the pom.xml file for `com.azure:azure-storage-blob`, the dependency tag for `com.azure:azure-core` which was originally `{x-version-update;com.azure:azure-core-test;dependency}` would now become `{x-version-update;unreleased_com.azure:azure-core-test;dependency}`
After the unreleased version of `com.azure:azure-core` was released but before `com.azure:azure-storage-blob` has been released.
- [ ] In [version_client.txt](./eng/versioning/version_client.txt) the the dependency version of `com.azure:azure-core` would become the released version and the "unreleased_" entry, at this time, would be removed.
- [ ] In [version_client.txt](https://github.com/Azure/azure-sdk-for-java/blob/master/eng/versioning/version_client.txt) the the dependency version of `com.azure:azure-core` would become the released version and the "unreleased_" entry, at this time, would be removed.
- [ ] In the pom.xml file for `com.azure:azure-storage-blob`, the dependency tag for `com.azure:azure-core` would get changed back to `{x-version-update;com.azure:azure-core-test;dependency}`

### Dev Feed
Expand Down
10 changes: 5 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ Last stable versions of packages that have been provided for usage with Azure an

### Management: New Releases
A new set of management libraries that follow the [Azure SDK Design Guidelines for Java](https://azure.github.io/azure-sdk/java/guidelines/) are now in Public Preview. These new libraries provide a higher-level, object-oriented API for _managing_ Azure resources, that is optimized for ease of use, succinctness and consistency.
You can find the list of new packages [on this page](https://azure.github.io/azure-sdk/releases/latest/java.html). Documentation and code samples for these new libraries can be found [here](./sdk/resourcemanager)
You can find the list of new packages [on this page](https://azure.github.io/azure-sdk/releases/latest/java.html). Documentation and code samples for these new libraries can be found [here](https://github.com/Azure/azure-sdk-for-java/blob/master/sdk/resourcemanager)

> NOTE: If you need to ensure your code is ready for production use one of the stable, non-preview libraries.

Expand Down Expand Up @@ -69,7 +69,7 @@ Format of the release tags are `<package-name>_<package-version>`. For more info

## Contributing

For details on contributing to this repository, see the [contributing guide](CONTRIBUTING.md).
For details on contributing to this repository, see the [contributing guide](https://github.com/Azure/azure-sdk-for-java/blob/master/CONTRIBUTING.md).

This project welcomes contributions and suggestions. Most contributions require you to agree to a Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us the rights to use your contribution. For details, view [Microsoft's CLA](https://cla.microsoft.com).

Expand All @@ -82,8 +82,8 @@ This project has adopted the [Microsoft Open Source Code of Conduct](https://ope
Many people all over the world have helped make this project better. You'll want to check out:

- [What are some good first issues for new contributors to the repo?](https://github.com/azure/azure-sdk-for-java/issues?q=is%3Aopen+is%3Aissue+label%3A%22up+for+grabs%22)
- [How to build and test your change](CONTRIBUTING.md#developer-guide)
- [How you can make a change happen!](CONTRIBUTING.md#pull-requests)
- [How to build and test your change](https://github.com/Azure/azure-sdk-for-java/blob/master/CONTRIBUTING.md#developer-guide)
- [How you can make a change happen!](https://github.com/Azure/azure-sdk-for-java/blob/master/CONTRIBUTING.md#pull-requests)
- Frequently Asked Questions (FAQ) and Conceptual Topics in the detailed [Azure SDK for Java wiki](https://github.com/azure/azure-sdk-for-java/wiki).

### Community
Expand All @@ -96,7 +96,7 @@ Security issues and bugs should be reported privately, via email, to the Microso

### License

Azure SDK for Java is licensed under the [MIT](LICENSE.txt) license.
Azure SDK for Java is licensed under the [MIT](https://github.com/Azure/azure-sdk-for-java/blob/master/LICENSE.txt) license.

<!-- Links -->
[java_guidelines]: https://azure.github.io/azure-sdk/java_introduction.html
Expand Down
6 changes: 3 additions & 3 deletions SECURITY.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,15 +4,15 @@

Microsoft takes the security of our software products and services seriously, which includes all source code repositories managed through our GitHub organizations, which include [Microsoft](https://github.com/Microsoft), [Azure](https://github.com/Azure), [DotNet](https://github.com/dotnet), [AspNet](https://github.com/aspnet), [Xamarin](https://github.com/xamarin), and [our GitHub organizations](https://opensource.microsoft.com/).

If you believe you have found a security vulnerability in any Microsoft-owned repository that meets [Microsoft's definition of a security vulnerability](https://docs.microsoft.com/en-us/previous-versions/tn-archive/cc751383(v=technet.10)), please report it to us as described below.
If you believe you have found a security vulnerability in any Microsoft-owned repository that meets [Microsoft's definition of a security vulnerability](https://docs.microsoft.com/previous-versions/tn-archive/cc751383(v=technet.10)), please report it to us as described below.

## Reporting Security Issues

**Please do not report security vulnerabilities through public GitHub issues.**

Instead, please report them to the Microsoft Security Response Center (MSRC) at [https://msrc.microsoft.com/create-report](https://msrc.microsoft.com/create-report).

If you prefer to submit without logging in, send email to [secure@microsoft.com](mailto:secure@microsoft.com). If possible, encrypt your message with our PGP key; please download it from the [Microsoft Security Response Center PGP Key page](https://www.microsoft.com/en-us/msrc/pgp-key-msrc).
If you prefer to submit without logging in, send email to [secure@microsoft.com](mailto:secure@microsoft.com). If possible, encrypt your message with our PGP key; please download it from the [Microsoft Security Response Center PGP Key page](https://www.microsoft.com/msrc/pgp-key-msrc).

You should receive a response within 24 hours. If for some reason you do not, please follow up via email to ensure we received your original message. Additional information can be found at [microsoft.com/msrc](https://www.microsoft.com/msrc).

Expand All @@ -36,6 +36,6 @@ We prefer all communications to be in English.

## Policy

Microsoft follows the principle of [Coordinated Vulnerability Disclosure](https://www.microsoft.com/en-us/msrc/cvd).
Microsoft follows the principle of [Coordinated Vulnerability Disclosure](https://www.microsoft.com/msrc/cvd).

<!-- END MICROSOFT SECURITY.MD BLOCK -->
2 changes: 1 addition & 1 deletion common/perf-test-core/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -78,7 +78,7 @@
<dependency>
<groupId>com.azure</groupId>
<artifactId>azure-core-http-netty</artifactId>
<version>1.6.0</version> <!-- {x-version-update;com.azure:azure-core-http-netty;dependency} -->
<version>1.6.1</version> <!-- {x-version-update;com.azure:azure-core-http-netty;dependency} -->
</dependency>
</dependencies>
</project>
Loading