* Fix response message not parsing the index advice as text in latest sdk
* add test coverage
* address code review
---------
Co-authored-by: Minh Le (from Dev Box) <leminh@microsoft.com>
* SDK 3.40.0-preview.0: Adds version bump and changelog.
* SDK 3.40.0-preview.0: Adds version bump and changelog.
* SDK 3.40.0-preview.0: Adds version bump and changelog.
* change version for release; create diffs
* added query PRs to changelog
* add note for Rename refactoring of ChangeFeedItemChange<T> to changelog
* removing 4281 since it was mislabeled. it should have been treated as Internal
* grammar error
* formatting
* case change
* Update changelog.md
Co-authored-by: Justine Cocchi <jucocchi@microsoft.com>
* removing 4317 from change log. should be internal
* add new regions to changelog. also Direct Package version update
* fixed linked to DP PR
* more changes based on review
---------
Co-authored-by: Justine Cocchi <jucocchi@microsoft.com>
* Initial code changes to add vector embedding policy and index type in container.
* Code changes to add container builder for vector index type.
* Code changes to add and fix tests.
* Revert back client create and initialize test.
* Skipping some of the V2 tests for vector indexes.
* Code changes to fix GA and preview contracts.
* Code changes to address review comments part 1.
* Removed unnecessary JSON argument for vector index.
* Code changes to update contract changes.
* Code changes to update preview contract changes in tests.
* Code changes to address few review comments.
* Code changes to add few more tests to validate serialization and deserialization.
* Code changes to address some review comments for best practices.
* Code changes to fix test failures.
* sketch out improved ParallelPrefetcher; focus is on reducing allocations, but we also can't be substantially slower to start all tasks
* little more cleanup to further reduce allocations, and save a tiny amount of CPU
* start on testing
* some tweaks and testing for buffer management
* test exception handling; fix a bug in high concurrency case that would swallow exceptions
* test cancellation
* more testing, a little bit of cleanup
* test the case where the enumerator faults; fixes a couple leaks of Tasks and buffers that could occur in that some places
* tiny bit of cleanup
* cleanup and expand comments; code is tricky, it needs documentation
* address a whole bunch of style nits, just to keep compiler Message counts down
* address some feedback on comment clarity
* don't rely on finalizers for testing, it's too brittle; hold up was not allocating more in the non-test cases, but found a field to reuse; needs benchmarking
* complete ITrace proxy for testing
* style nits and a bit more commentary
* explicit test for concurrent access to the inner IEnumerator
* explicit test that IEnumerator is disposed
* explicitly implement all ITrace members
* address feedback: internal class members should be public or private
* address feedback: break test-only bits of ParallelPrefetch out into a partial
* address feedback: move const above type declarations
* address feedback: naming nits
* address feedback: use the existing NoOpTrace
* address feedback: remove pointless using
* update baseline trace text for QueryAsync test
---------
Co-authored-by: neildsh <35383880+neildsh@users.noreply.github.com>
* preliminary change
* Add some more boiler plate code
* move all linq test to the same folder; add some groupBy test
* fix references error in test refactoring
add code for group by substitution. Still need to adjust binding post groupby
* preliminary for the groupby functions with key and value selector
* trying to change collection inputs for group by
* WIP bookmark
* Successfully ignore "key"
* clean up code
* Sucessfully bind the case of group by with only key selector and no value selector followed by an optional select clause
* enable one group by test
* add support for aggregate value selector
* added baseline
* working on adding support for multivalue value selector and key selector
* code clean up
* more clean up
* more clean up
* update test
* Move test to separate file
* code clean up
* remove baseline file that got moved
* fix merge issue
* Changes test infrastructure to reflect changes from Master
* address code review part 1
* Address code review 2 and adds code coverage
* Addressed code review and added tests. Still a couple of bugs to iron out
* Fix group by translation issue and add more test
* update comments
* address pr comment
---------
Co-authored-by: Minh Le <leminh@microsoft.com>
Co-authored-by: Aditya <adityasa@users.noreply.github.com>
* Initial prep for adding a non streaming order by query pipline stage
* Change TracingAsyncEnumerator to be an adapter class between ITracingAsyncEnumerator and IAsyncEnumerator
* Move TracingAsyncEnumerator to product code
* Change ITracingAsyncEnumerator.MoveNext to take a CancellationToken, thereby removing the awkward method SetCancellationToken from IQueryPipelineStage
* draft implementation of non streaming order by pipeline stage
* Fix bug that drops first record on an initialized page
* Add a test class for non streaming order by unit tests
* remove unnecessary usings
* Add an emulator test for non streaming order by. Also lay groundwork for an alternative implementation for non streaming order by
* Remove the ResponseLengthInBytes property from QueryPage. This was being calculated incorrectly, and seems to be unused to boot.
* Add an ItemCount property to the Page class
* Add a multi level heap implementation for non streaming order by
* Add infrastructure for writing parity tests
* Fix a bug that caused the page enumerator to be dropped when we reach flat heap sizze limit
* When cloning OrderByQueryPartitionRangePageAsyncEnumerator as a fully buffered enumerator, make sure that we set the page size to maximum for the backend requests
* Simplify the non streaming pipeline stage, and add performance test
* Revert the changes for Headers.ItemCount Keep it as a string
* Avoid an allocation each time the OrderByItems property of OrderByQueryResult is touched
* Fix up the OrderByPipelineSatgeBenchmark to use fully materialized CosmosElements in the oages returned from MockContainer
* Add a few more unit tests for non streaming order by
* Add emulator tests for non streaming order by
* Add a few more integration test cases
* Fix up broken unit test
* Add more test coverage for the non streaming order by
* If there is no continuationtoken, assume that the response is streaming
* Add stronger validation to the non streaming order by unit tests
* Fix up broken unit tests to account for ItemCount
* fix up plumbing for index utilization, and incorporate code review feedback
* Minor clean up
* revert bug introduced in pursuit of more elegant code :)
* fix up broken unit test
* Fix up broken perf test
* Fix up broken IndexMetricsParserBaselineTest
* Minor bug fixes for OrderByCrossPartitionEnumerator
* preview cfp ffcf
* ran updatecontracts
* including this in Encryption
* fixing name onChangesDelegate
* sdkproject on encryptioncontainer
* try this again
* try, try, try again
* with impl
* Fixes Multi-Region CI pipeline to include env variable
* fixed space
* added validation test
* string conversion
* temp
* temp2
* Update Microsoft.Azure.Cosmos/tests/Microsoft.Azure.Cosmos.EmulatorTests/ClientTests.cs
Co-authored-by: Matias Quaranta <ealsur@users.noreply.github.com>
* Update Microsoft.Azure.Cosmos/tests/Microsoft.Azure.Cosmos.EmulatorTests/ClientTests.cs
Co-authored-by: Matias Quaranta <ealsur@users.noreply.github.com>
* changed env location
* temp
* test
* space
* remove env
* possible fix
* test fix
* clean up
* changed enviroment variable get
* test
* test fix
* ensure multiregion tests do not run with regular emulator tests
---------
Co-authored-by: Matias Quaranta <ealsur@users.noreply.github.com>
* test to prove no exception, no documents when change feed more is changed.
* renaming
* throwing exception when changeFeedMode change on CFP with same lease container
* removed PREVIEW tags under advisement. Well create a PR later
* removed usings
* revert to old summary
* defaulting change feed mode to latestversion
* change feed mode exception on switching and tests based on last recommendation.
* more changes based on discussions
* some refactoring
* fixed some tests
* more changes based on recommendations
* another refactor
* change from CosmosException to ArgumentException
* removed CosmosException from comments
* fixin tests to account for extra GetAllLeasesAsync call
* some recommendation changes
* adding a test to repro issue 4285
* fix plus e2e test
* not all request have cosmos exception
* add a quick unit test for ChangeFeedEstimatorIterator when Gone exception happens
* added a test description
* ignoring long running test. meant to be ran manually
* move long running tests to its own folder and category; check response and header for status/substatus
* one test category only, removed using, and exluding LongRunning category from build pipeline
* Update templates/build-test.yml
I am committing your suggestion. Also, the goal of this PR is not to executed long running tests. I will create a new PR for this. Because there are other unknowns that I need to answer. So for now, I just don't want it to be executed with the existing pipelines.
Co-authored-by: Matias Quaranta <ealsur@users.noreply.github.com>
* change name of connectionString ENV to something more intention revealing
---------
Co-authored-by: Matias Quaranta <ealsur@users.noreply.github.com>
Co-authored-by: Sourabh Jain <sourabhjain@microsoft.com>
* disable network level tracing in sdk
* Revert "disable network level tracing in sdk"
This reverts commit 627cba6404.
* Including Client Configuration in request Diagnostics for Sync calls also
* initial change to support sending continuation as resume value in query spec
* serialize resume value in continuation token.
* fix unit test that was failing. other minor refactors
* additional refactoring
update exception messages
* few minor changes
* additional tests
* code refactoring
* Create separate top level object to represent SqlQueryResumeValue. Different types of resume values are private in this object
Consolidate all the visitor and serialization of resume value to SqlQueryResumeValue
Other code review comments
* handle different continuation token for target partition
* update test for continuation from array and object values. other minor code refactors
* save resume value as CosmosElement instead of defining a separate derived objects.
update cosmosundefinedquerytests. other code review comments.
* support on CosmosNumber64. Other number types are not supported for resume value. unit tests for SqlQueryResumeValue.
* update cosmosundefinedquerytests to include arrays and object in order by and group by tests. reducing the document count to reduce execution time.
* revert change to have separate SqlQueryResumeValue objects as it is better symmetry for comparing arrays and objects.
* group resume value into 3 types: Undefined, Primitive and Complex
* minor fix
---------
Co-authored-by: Bala Perumalswamy <balaperu@ntdev.microsoft.com>
Co-authored-by: Aditya <adityasa@users.noreply.github.com>
* Marking Distributed tracing feature as stable and changed an attribute name
* remove it from emulator test
* marked stable as false
* fix tests
* updated changefeedxml
* remove statuscode and subsstatus from staic list
* regenerated xml files
* remove event counters events