Commit Graph

63 Commits

Author SHA1 Message Date
Ronnie Geraghty
a0559c53f7
Fixing links in Event Hubs README.md (#5393)
* Fixing links in Event Hubs README.md

Came across these links pointing to material for the Go libraries and updated them to the C++ materials.

* Updating links for event hubs checkpoint library
2024-03-08 16:14:50 -08:00
Anton Kolesnyk
e4002aeff7
Fix warnings that block the Live CI pipeline (#5398)
* Fix warnings that block the Live CI pipeline

---------

Co-authored-by: Anton Kolesnyk <antkmsft@users.noreply.github.com>
2024-03-05 08:17:56 +00:00
Larry Osterman
c707769604
Updated tests to support -UserAuth test resources switch to enable non-corpnet access. (#5387)
* Updated tests to support -UserAuth test resources switch to enable non-corpnet access.

* Try setting sample environment variables in sample script pipeline
2024-02-28 01:36:54 +00:00
Richard Park
b655b0bd6d
Updating to use the common image (#5385) 2024-02-27 13:10:55 -08:00
Larry Osterman
aadd25dcd1
Reworked EventHubs Stress test to export information to OpenTelemetry (#5370)
# Significant rewrite of Eventhubs stress test.

## Cleaned up implementation of EventHubs stress/reliability test

* Reworked stress test layout to isolate stress test implementation from stress deployment elements.
* Added ability of stress test scenarios to be independently configured.
* Rewrote stress test app to be closer to the Go equivalent app.
* added apparg.hpp for command line parsing
* added scope_guard to test for scope_guard implementation.

## Added close methods to Consumer client and Producer client.

They don't do much currently, but will eventually.

## AI Generated summary of pull request

This pull request primarily focuses on the `azure-core-amqp` and `azure-messaging-eventhubs` packages, introducing changes to improve code efficiency and maintainability. The most significant changes include the removal of unnecessary `#include` directives in various files in the `azure-core-amqp` package, the addition of `Close` methods in `consumer_client.hpp` and `producer_client.hpp` in the `azure-messaging-eventhubs` package, and modifications to the `cgmanifest.json` files in the `azure-messaging-eventhubs-checkpointstore-blob` and `azure-messaging-eventhubs` directories.

Removal of unnecessary `#include` directives:

* [`sdk/core/azure-core-amqp/src/amqp/claim_based_security.cpp`](diffhunk://#diff-5acd7049cef5955540cc4253f264207e5a7d2701612e148c736ca5781e69d224L12-L14): Removed unnecessary `#include` directives for `iostream` and `sstream`.
* [`sdk/core/azure-core-amqp/src/amqp/connection.cpp`](diffhunk://#diff-fc3a6e5b11f1254c4fd344bcd1846c83ad4ca8e2a8a23b7db0657c2846f43937L18): Removed unnecessary `#include` directive for `azure/core/url.hpp`.
* [`sdk/core/azure-core-amqp/src/amqp/connection_string_credential.cpp`](diffhunk://#diff-14cf130dc5f0b51f698cca57724b733591d48fad0e5beb4745fc1cd78cbdaa72L7-L20): Removed unnecessary `#include` directives for `azure/core/amqp/internal/models/amqp_protocol.hpp`, `azure_c_shared_utility/azure_base64.h`, `azure_c_shared_utility/buffer_.h`, and `iostream`.
* [`sdk/core/azure-core-amqp/src/amqp/link.cpp`](diffhunk://#diff-249643f29ca2c0b1226e9d22ce90be83c77105f55221a1092fb605a5c7ead356L10-L21): Removed unnecessary `#include` directives for `azure/core/amqp/internal/message_receiver.hpp`, `azure/core/amqp/internal/message_sender.hpp`, `azure/core/amqp/internal/models/messaging_values.hpp`, and `azure_uamqp_c/amqp_definitions_sequence_no.h`.
* [`sdk/core/azure-core-amqp/src/amqp/management.cpp`](diffhunk://#diff-b03544340ff264961e045648c2c274dde9fa7ceb33b07b0c41a708128e28d40fL6-L16): Removed unnecessary `#include` directives for `azure/core/amqp/internal/connection.hpp`, `azure/core/amqp/internal/session.hpp`, and `azure_uamqp_c/amqp_management.h`.

Addition of `Close` methods:

* [`sdk/eventhubs/azure-messaging-eventhubs/inc/azure/messaging/eventhubs/consumer_client.hpp`](diffhunk://#diff-fad00d7bec0f12ef5e7d36387e866ab5291c6f5f57568845dfabe3f23320c899R152-R159): Added a `Close` method to the `ConsumerClient` class.
* [`sdk/eventhubs/azure-messaging-eventhubs/inc/azure/messaging/eventhubs/producer_client.hpp`](diffhunk://#diff-cba1fbd1d786b763c27123a2284476e1cc8093753abe6e3a6af9ca78aae4d594R96-R113): Added a `Close` method to the `ProducerClient` class.

Modification of `cgmanifest.json` files:

* [`sdk/eventhubs/azure-messaging-eventhubs-checkpointstore-blob/cgmanifest.json`](diffhunk://#diff-465b096c14ed240a8f14180f16e0924e3df69bd1c95934dca435c0b3c97468a0R1-R37): Added a new `cgmanifest.json` file specifying development dependencies.
* [`sdk/eventhubs/azure-messaging-eventhubs/cgmanifest.json`](diffhunk://#diff-f3e86a1f7be148625ac80b2151504461f3faff4d0564db588c6df9d0d9eb0986R1-R48): Added a new `cgmanifest.json` file specifying development dependencies.
* 

---------

Co-authored-by: Rick Winter <rick.winter@microsoft.com>
2024-02-22 20:41:18 -08:00
Anton Kolesnyk
9271d13542
Guard against Windows' min/max macros (#5348)
* Guard against Windows' min/max macros

* Add NOMINMAX and LEAN_AND_MEAN + clang-format

* clang-format

---------

Co-authored-by: Anton Kolesnyk <antkmsft@users.noreply.github.com>
2024-02-13 13:41:34 -08:00
Larry Osterman
0229d0a3b3
Multithreaded support for Eventhubs management family of APIs (#5315)
* Enabled multithreaded calls to eventhubs management APIs

* Added partition client properties tests, removed unused variables in consumer client tests

* Restructured properties APIs in eventhubs to simplify producer client and consumer client implementations

* Fixed test crash in LinkAttachDetach AMQP test

* Added test cases for management authn failures

* Don't emit body contents in AmqpMessage insertion operator

* Don't take numeric value parameters by value to ostream insertion operators

* Updated eventhubs dependency to match reality

* Added value based tests for enumeration stream inserters
2024-02-09 14:22:28 -08:00
Azure SDK Bot
43f6c1d5a7
Increment package version after release of azure-messaging-eventhubs (#5327) 2024-02-06 20:34:56 +00:00
Larry Osterman
44cb7df563
Eventhubs February Release (#5305) 2024-02-06 09:04:33 -08:00
Larry Osterman
27aab786c2
AMQP Session related fixes. (#5299)
* Implemented connection handle table to fix half closed session problem

* Correctly handle session begin after connection is open

* Split out amqp settle mode to separate header; added test coverage for AMQP Transfer and Detach performatives

* Use absolute path for settle mode header
2024-01-30 15:32:58 -08:00
Larry Osterman
76c82f0b9e
Fixed bug in Eventhubs live tests (#5290)
* Fixed bug in Eventhubs live tests

* switched back to DAC for tests
2024-01-24 21:33:40 +00:00
Larry Osterman
f109f63f4e
Synchronous AMQP Close (#5281)
* First cut at blocking close

* Removed synchronous ifdefs
2024-01-18 12:54:23 -08:00
Azure SDK Bot
01e3e05efa
Increment package version after release of azure-messaging-eventhubs (#5256) 2024-01-11 15:44:54 -08:00
Anton Kolesnyk
03de1fbaa4
Core-Core (GA) + Core-AMQP (Beta) + Event Hubs (Beta) January Releases (#5243)
* Core-Core + Core-AMQP + Event Hubs January Releases

* Update CHANGELOG.md

---------

Co-authored-by: Anton Kolesnyk <antkmsft@users.noreply.github.com>
2024-01-11 13:30:42 -08:00
Anton Kolesnyk
e328665588
Update cspell words and exclusions (#5231)
Co-authored-by: Anton Kolesnyk <antkmsft@users.noreply.github.com>
2023-12-15 17:41:11 -08:00
Anton Kolesnyk
15716714a4
Fix spelling errors (#5230)
* Fix spelling errors

* Exclusion list

* More updates for the exclusion list

* Even more updates for the exclusion list

* And even more updates for the exclusion list

---------

Co-authored-by: Anton Kolesnyk <antkmsft@users.noreply.github.com>
2023-12-15 14:17:59 -08:00
Anton Kolesnyk
1b3b872b10
Move Azure::Core::_internal::UniqueHandleHelper to _detail (#5177)
* Move Azure::Core::_internal::UniqueHandleHelper to _detail

* Linux build fix

* More Linux fixes and clang-format

* Get back the @cond

* Revert one more @cond removal

* Linux fix: include necessary header

* Undo unnecessary clang-format

* Clang-format, again

* Trigger CI

* Trigger CI

* amqps, amqpvalue

* Update cspell.json

* Update curl.cpp

---------

Co-authored-by: Anton Kolesnyk <antkmsft@users.noreply.github.com>
2023-11-29 08:39:04 -08:00
Anton Kolesnyk
73399d7325
Change samples to use DefaultAzureCredential (#5183)
* Change samples to use `DefaultAzureCredential`

* Missed instance

* Oaep

---------

Co-authored-by: Anton Kolesnyk <antkmsft@users.noreply.github.com>
2023-11-29 16:07:40 +00:00
Anton Kolesnyk
2da2d0d8cc
Remove some usages of internal APIs in samples (#5186)
* Remove some usages of internal APIs in samples

* std::cerr => std::cout

* Two errors would actually go to stderr

---------

Co-authored-by: Anton Kolesnyk <antkmsft@users.noreply.github.com>
2023-11-28 01:15:14 -08:00
Anton Kolesnyk
6da4d9649d
FIx typos (#5185)
Co-authored-by: Anton Kolesnyk <antkmsft@users.noreply.github.com>
2023-11-27 13:55:27 -08:00
Anton Kolesnyk
05d1f5455c
Make vcpkg.json comment multiline (#5175)
* Make vcpkg.json comment multiline

* Update core-opentelemetry tests to be able to compile with opentelemetry-cpp version 1.12.0

---------

Co-authored-by: Anton Kolesnyk <antkmsft@users.noreply.github.com>
2023-11-21 17:06:37 -08:00
Larry Osterman
37e1952f71
Fixed Linux AMQP crash and many other fixes. (#5166)
* Return pointer to message rather than message; cleaned up API surface to remove uAMQP details

* ASAN configuration via CMAKE preset, not environment variable

* clang-tidy fixes
2023-11-14 23:45:24 +00:00
Larry Osterman
7b8d324540
Fixed AMQP Link Credits hang; fixed several AMQP memory leaks. (#5119)
* Add link pollable; Fixed several memory leaks

* Rule of 5 fixes for AMQP and EventHubs types; moved message handle type to _detail namespace.

* Update sdk/core/azure-core-amqp/CHANGELOG.md

Co-authored-by: Anton Kolesnyk <41349689+antkmsft@users.noreply.github.com>

---------

Co-authored-by: Anton Kolesnyk <41349689+antkmsft@users.noreply.github.com>
2023-11-09 15:55:54 -08:00
Azure SDK Bot
902f8a1651
Increment package version after release of azure-messaging-eventhubs (#5121) 2023-11-07 19:20:47 +00:00
Anton Kolesnyk
52831a833a
Azure Messaging EventHubs November Release (#5101)
* Azure Messaging EventHubs November Release

---------

Co-authored-by: Anton Kolesnyk <antkmsft@users.noreply.github.com>
2023-11-07 03:02:03 -08:00
Anton Kolesnyk
edf7ab18c7
Add a note to vcpkg manifest files that all changes made in the vcpkg repo alone might be lost. (#5110)
* Add a note to vcpkg manifest files that all changes made in the vcpkg repo alone might be lost.

* may => will

---------

Co-authored-by: Anton Kolesnyk <antkmsft@users.noreply.github.com>
2023-11-02 20:57:51 -07:00
Larry Osterman
9d14632f1c
Isolate headers for AMQP internal types into an internal-only header directory. Fixes #5069 (#5079)
* Moved internal AMQP types to internal header directory

* Updated consumers of AMQP headers to match moved headers

* Updated changelog to reflect breaking change in AMQP

* Made includes explicit in event_data.hpp

* Reference non-package headers with angle braces not quotes
2023-10-30 18:04:24 +00:00
Anton Kolesnyk
6979126ad8
Small cleanup around AMQP dependencies (#5083)
* Small cleanup around AMQP dependencies

* Update cfgmanifest.json to remove uamqp, and add umock, csharedutil, and macro-utils-c

---------

Co-authored-by: Anton Kolesnyk <antkmsft@users.noreply.github.com>
2023-10-28 22:28:51 +00:00
Anton Kolesnyk
50c18516df
Ensure CMakeLists don't miss any files (#5065)
* Ensure CMakeLists don't miss any files

---------

Co-authored-by: Anton Kolesnyk <antkmsft@users.noreply.github.com>
2023-10-26 18:15:03 -07:00
Anton Kolesnyk
81e23e00aa
Ensure all-inclusive headers do include all public API headers (#5068)
* Ensure all-inclusive headers do include all public API headers

---------

Co-authored-by: Anton Kolesnyk <antkmsft@users.noreply.github.com>
2023-10-26 18:02:34 -07:00
Anton Kolesnyk
15d8133a21
Prefix interal macros with _azure_ to 'remove' them from the public area (#5064)
* Prefix interal macros with _azure_ to 'remove' them from the public area

* PR feedback

---------

Co-authored-by: Anton Kolesnyk <antkmsft@users.noreply.github.com>
2023-10-25 22:55:21 -07:00
Larry Osterman
d4b225c138
Updated changelog for azure core; azure core amqp; and eventhubs. (#5060) 2023-10-25 15:16:52 -07:00
Larry Osterman
51c8955d85
Vendor AMQP at commit 52942afb1a4b48a1d8af7a3ac37d3211661e3423 (#5049)
* Vendored version of uamqp

* Exclude vendored modules from cspell

* Code coverage

* Code coverage improvements

* Removed more coverage exclusions
2023-10-25 11:19:20 -07:00
Larry Osterman
ccddc7f3ed
Fully functioning eventhubs processor. (#5018)
* Functioning processor; reliability changes to azure core

* Eventhubs test fixes

* Functioning processor; cleaned up some memory leaks

* 

---------

Co-authored-by: Rick Winter <rick.winter@microsoft.com>
2023-10-24 10:45:43 -07:00
Azure SDK Bot
426abfe530
Increment version for eventhubs releases (#5024)
* Increment package version after release of azure-messaging-eventhubs

* Increment package version after release of azure-messaging-eventhubs-checkpointstore-blob
2023-10-10 20:31:11 +00:00
Anton Kolesnyk
60a805770d
Azure Event Hubs October Releases (#5005)
* Azure Event Hubs October Releases

* Update sdk/eventhubs/azure-messaging-eventhubs/CHANGELOG.md

* Update sdk/eventhubs/azure-messaging-eventhubs/CHANGELOG.md

* Update sdk/eventhubs/azure-messaging-eventhubs-checkpointstore-blob/CHANGELOG.md

Co-authored-by: Larry Osterman <LarryOsterman@users.noreply.github.com>

* Update CHANGELOG.md

---------

Co-authored-by: Anton Kolesnyk <antkmsft@users.noreply.github.com>
Co-authored-by: Larry Osterman <LarryOsterman@users.noreply.github.com>
2023-10-10 11:33:09 -07:00
Anton Kolesnyk
be478542fb
Vcpkg-related fixes for checkpointstore-blob (#4998)
* checkpointstore-blob vcpkg dependency fix

* Update CMakeLists.txt

* Update CMakeLists.txt

* Update FolderList.cmake
2023-10-03 00:35:16 +00:00
Anton Kolesnyk
7bf42a30c3
Fix azure-messaging-eventhubscheckpointstore-blob build manifest (#4996)
* Fix azure-messaging-eventhubscheckpointstore-blob build manifest

* Update vcpkg.json
2023-09-29 20:52:43 +00:00
Larry Osterman
daa36f1650
Renamed blob checkpointstore to long name (#4990)
* Renamed blob checkpointstore to long name

* Moved unit tests into ut directory

* Re-ran recordings
2023-09-27 10:16:15 -07:00
Anton Kolesnyk
ec220be784
Shorten build-time paths when building in vcpkg (#4977)
* Shorten build-time paths when building in vcpkg

* if-guard

---------

Co-authored-by: Anton Kolesnyk <antkmsft@users.noreply.github.com>
2023-09-25 09:30:00 -07:00
Larry Osterman
9d3fb20bb7
Added ApiView for blob checkpoint store (#4981) 2023-09-22 10:25:59 -07:00
Larry Osterman
336c8c02fb
Removed storage dependency from eventhubs (#4954)
* Removed storage dependency from eventhubs

---------

Co-authored-by: Anton Kolesnyk <41349689+antkmsft@users.noreply.github.com>
2023-09-22 08:06:58 -07:00
Larry Osterman
5f579513c2
Enable partial reads on EventHubs. (#4950)
* Added eventhubs test collateral to create and destroy eventhubs namespaces and eventhubs; Added peek message functionality to AMQP

* Use HTTP to talk to management APIs instead of az cli
2023-09-21 15:36:54 -07:00
Larry Osterman
165eace629
AMQP Stack polls for operations in a background thread. (#4914)
There are two significant parts to this fix. The first is that the Connection object now has a method EnableAsyncOperation which registers the connection with a background thread which polls the connection. The EnableAsyncOperation needs to be callable from outside the connection because in normal client operation, the calls to open the connection are all internal to uAMQP. That means that the message sender and receiver need to call it when they're opened (and closed).

The other major part of this change is that the AsyncOperationQueue now has a WaitForRequest API which does not normally poll (there is a test hook which enables polling but that is not normally used in most scenarios).

The other part of this change fixes some concurrency issues associated with the Log::Stream functionality.

Co-authored-by: Anton Kolesnyk <41349689+antkmsft@users.noreply.github.com>

* Update sdk/core/azure-core/src/logger.cpp

Co-authored-by: Anton Kolesnyk <41349689+antkmsft@users.noreply.github.com>

* Update sdk/core/azure-core/test/ut/CMakeLists.txt

Co-authored-by: Anton Kolesnyk <41349689+antkmsft@users.noreply.github.com>

* Update sdk/core/azure-core/test/ut/logging_test.cpp

Co-authored-by: Anton Kolesnyk <41349689+antkmsft@users.noreply.github.com>

* Added ASAN as an option, converted transports to be bases to ensure consistancy

---------

Co-authored-by: Anton Kolesnyk <41349689+antkmsft@users.noreply.github.com>
2023-09-13 11:12:46 -07:00
Azure SDK Bot
517f1e61c8
Increment package version after release of azure-messaging-eventhubs (#4944) 2023-09-13 00:09:40 +00:00
Anton Kolesnyk
308c5a7ac8
Azure Eventhubs September Release (#4929)
Co-authored-by: Anton Kolesnyk <antkmsft@users.noreply.github.com>
2023-09-12 14:23:46 -07:00
Larry Osterman
0ad52a028c
Ignore compiler and STL version mismatch on published packages to unblock ApiView (#4925) 2023-09-06 10:22:52 -07:00
Larry Osterman
b108bf6235
Post-release updates (#4871)
* Added link credit support to message sender and receiver; reworked message receiver creation to move to the partition client object

* Added round trip test, including filters; fixed a hang with the consumer client caused by no messages; fixed checkpoint store storage names.

* EventDataBatch is created from EventProducer. Fixes #4868

* SendEventDataBatch renamed to Send; pass in Context on methods which require a context

* Added producer client send APIs without requiring an explicit event data batch

* close message receiver in destructor if it is open

* Consumer client and producer client only create message sender and receiver when needed
2023-08-17 09:52:54 -07:00
Azure SDK Bot
b8d2301931
Increment package version after release of azure-messaging-eventhubs (#4861) 2023-08-09 21:05:58 -07:00
Anton Kolesnyk
4428baf59e
Azure Event Hubs August Release (#4838)
* Azure Event Hubs August Release

---------

Co-authored-by: Anton Kolesnyk <antkmsft@users.noreply.github.com>
Co-authored-by: Larry Osterman <LarryOsterman@users.noreply.github.com>
Co-authored-by: Ahson Khan <ahkha@microsoft.com>
2023-08-08 16:30:57 -07:00