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

Breaking changes for 2.0 #34

Closed
Tracked by #76
VachaShah opened this issue Apr 1, 2022 · 5 comments
Closed
Tracked by #76

Breaking changes for 2.0 #34

VachaShah opened this issue Apr 1, 2022 · 5 comments

Comments

@VachaShah
Copy link
Collaborator

Get started with incorporating the breaking changes for 2.0 from OpenSearch 2.0.

To do so:

  1. Branch off a 1.x from main if not already done so that development for 2.0 can start on main.
  2. Incorporate breaking changes as mentioned in [META] Breaking changes for 2.0 opensearch-clients#12.
  3. Add integ tests support to run against unreleased OpenSearch.

Example PR from java-client: opensearch-project/opensearch-java#132

@MitchellGale
Copy link

Many failed tests on 2.0.

May be a bad connection in one or more places. Below are the test case failures (48). XML attached for detail on each failure.

Running on current dotnet client connecting to OpenSearch 2.0.0.

    <testcase classname="Tests.Search.Search.SearchApiDocValueFieldsTests" name="Tests.Search.Search.SearchApiDocValueFieldsTests.ReturnsExpectedResponse" time="0.0112852">
<testcase classname="Tests.Indices.IndexManagement.TypesExists.TypeExistsApiTests" name="Tests.Indices.IndexManagement.TypesExists.TypeExistsApiTests.ReturnsExpectedStatusCode" time="2.5575400">
<testcase classname="Tests.Indices.IndexManagement.TypesExists.TypeExistsApiTests" name="Tests.Indices.IndexManagement.TypesExists.TypeExistsApiTests.ReturnsExpectedIsValid" time="0.0208411">
<testcase classname="Tests.Document.Multiple.MultiGet.MultiGetApiTests" name="Tests.Document.Multiple.MultiGet.MultiGetApiTests.ReturnsExpectedResponse" time="0.0121898">
<testcase classname="Tests.Cluster.NodesInfo.NodesInfoMissingNodeApiTests" name="Tests.Cluster.NodesInfo.NodesInfoMissingNodeApiTests.ReturnsExpectedStatusCode" time="0.2510282">
<testcase classname="Tests.Cluster.NodesInfo.NodesInfoMissingNodeApiTests" name="Tests.Cluster.NodesInfo.NodesInfoMissingNodeApiTests.ReturnsExpectedResponse" time="0.0002339">
<testcase classname="Tests.Cluster.NodesInfo.NodesInfoMissingNodeApiTests" name="Tests.Cluster.NodesInfo.NodesInfoMissingNodeApiTests.ReturnsExpectedIsValid" time="0.0002271">
<testcase classname="Tests.Document.Multiple.MultiGet.MultiGetSimplifiedApiTests" name="Tests.Document.Multiple.MultiGet.MultiGetSimplifiedApiTests.ReturnsExpectedResponse" time="0.0113243">
<testcase classname="Tests.Document.Single.Delete.DeleteNonExistentDocumentApiTests" name="Tests.Document.Single.Delete.DeleteNonExistentDocumentApiTests.ReturnsExpectedResponse" time="0.1856310">
<testcase classname="Tests.Document.Single.Get.GetNonExistentDocumentApiTests" name="Tests.Document.Single.Get.GetNonExistentDocumentApiTests.ReturnsExpectedResponse" time="0.1525567">
<testcase classname="Tests.Search.MultiSearch.MultiSearchLowLevelPostDataTests" name="Tests.Search.MultiSearch.MultiSearchLowLevelPostDataTests.PostEnumerableOfObjects" time="0.0479374">
<testcase classname="Tests.Search.MultiSearch.MultiSearchLowLevelPostDataTests" name="Tests.Search.MultiSearch.MultiSearchLowLevelPostDataTests.PostString" time="0.0179842">
<testcase classname="Tests.Search.MultiSearch.MultiSearchLowLevelPostDataTests" name="Tests.Search.MultiSearch.MultiSearchLowLevelPostDataTests.PostEnumerableOfStrings" time="0.0082045">
<testcase classname="Tests.Search.MultiSearch.MultiSearchLowLevelPostDataTests" name="Tests.Search.MultiSearch.MultiSearchLowLevelPostDataTests.PostByteArray" time="0.0416793">
<testcase classname="Tests.Cluster.NodesStats.NodesStatsApiTests" name="Tests.Cluster.NodesStats.NodesStatsApiTests.ReturnsExpectedResponse" time="0.2233897">
<testcase classname="Tests.Cluster.NodesStats.NodesStatsApiTests" name="Tests.Cluster.NodesStats.NodesStatsApiTests.ReturnsExpectedStatusCode" time="0.0001591">
<testcase classname="Tests.Cluster.NodesStats.NodesStatsApiTests" name="Tests.Cluster.NodesStats.NodesStatsApiTests.ReturnsExpectedIsValid" time="0.0030449">
<testcase classname="Tests.Document.Multiple.MultiGet.MultiGetMetadataApiTests" name="Tests.Document.Multiple.MultiGet.MultiGetMetadataApiTests.ReturnsExpectedResponse" time="0.0158933">
<testcase classname="Tests.Cluster.NodesInfo.NodesInfoApiTests" name="Tests.Cluster.NodesInfo.NodesInfoApiTests.ReturnsExpectedIsValid" time="0.1180257">
<testcase classname="Tests.Cluster.NodesInfo.NodesInfoApiTests" name="Tests.Cluster.NodesInfo.NodesInfoApiTests.ReturnsExpectedStatusCode" time="0.0001491">
<testcase classname="Tests.Cluster.NodesInfo.NodesInfoApiTests" name="Tests.Cluster.NodesInfo.NodesInfoApiTests.ReturnsExpectedResponse" time="0.0001033">
<testcase classname="Tests.Cluster.RemoteInfo.RemoteInfoApiTests" name="Tests.Cluster.RemoteInfo.RemoteInfoApiTests.ReturnsExpectedIsValid" time="0.2417293">
<testcase classname="Tests.Cluster.RemoteInfo.RemoteInfoApiTests" name="Tests.Cluster.RemoteInfo.RemoteInfoApiTests.ReturnsExpectedStatusCode" time="0.0002317">
<testcase classname="Tests.Cluster.RemoteInfo.RemoteInfoApiTests" name="Tests.Cluster.RemoteInfo.RemoteInfoApiTests.ReturnsExpectedResponse" time="0.0002316">
<testcase classname="Tests.Document.Multiple.MultiGet.MultiGetParentApiTests" name="Tests.Document.Multiple.MultiGet.MultiGetParentApiTests.ReturnsExpectedResponse" time="0.0301286">
<testcase classname="Tests.Cluster.ClusterStats.ClusterStatsApiTests" name="Tests.Cluster.ClusterStats.ClusterStatsApiTests.ReturnsExpectedResponse" time="0.3375396">
<testcase classname="Tests.Document.Multiple.Bulk.BulkInvalidApiTests" name="Tests.Document.Multiple.Bulk.BulkInvalidApiTests.ReturnsExpectedResponse" time="0.0128378">
<testcase classname="Tests.Document.Single.Index.IndexAnonymousTypesIntegrationTests" name="Tests.Document.Single.Index.IndexAnonymousTypesIntegrationTests.Index" time="0.4822608">
<testcase classname="Tests.Document.Single.Index.IndexIntegrationTests" name="Tests.Document.Single.Index.IndexIntegrationTests.Index" time="0.6194987">
<testcase classname="Tests.Document.Single.Index.IndexIntegrationTests" name="Tests.Document.Single.Index.IndexIntegrationTests.OpTypeCreate" time="0.3888395">
<testcase classname="Tests.Indices.IndexManagement.RolloverIndex.RolloverIndexApiTests" name="Tests.Indices.IndexManagement.RolloverIndex.RolloverIndexApiTests.ReturnsExpectedStatusCode" time="4.3571318">
<testcase classname="Tests.Indices.IndexManagement.RolloverIndex.RolloverIndexApiTests" name="Tests.Indices.IndexManagement.RolloverIndex.RolloverIndexApiTests.ReturnsExpectedResponse" time="0.0002422">
<testcase classname="Tests.Indices.IndexManagement.RolloverIndex.RolloverIndexApiTests" name="Tests.Indices.IndexManagement.RolloverIndex.RolloverIndexApiTests.ReturnsExpectedIsValid" time="0.0001549">
<testcase classname="Tests.Document.Single.Create.CreateAnonymousTypesIntegrationTests" name="Tests.Document.Single.Create.CreateAnonymousTypesIntegrationTests.Create" time="1.0495184">
<testcase classname="Tests.Cluster.TaskManagement.GetTask.GetTaskApiTests" name="Tests.Cluster.TaskManagement.GetTask.GetTaskApiTests.ReturnsExpectedResponse" time="4.3770642">
<testcase classname="Tests.Cluster.TaskManagement.GetTask.GetTaskApiTests" name="Tests.Cluster.TaskManagement.GetTask.GetTaskApiTests.ReturnsExpectedStatusCode" time="0.0002042">
<testcase classname="Tests.Cluster.TaskManagement.GetTask.GetTaskApiTests" name="Tests.Cluster.TaskManagement.GetTask.GetTaskApiTests.ReturnsExpectedIsValid" time="0.0001566">
<testcase classname="Tests.Cluster.TaskManagement.GetTask.GetTaskApiCompletedTaskTests" name="Tests.Cluster.TaskManagement.GetTask.GetTaskApiCompletedTaskTests.ReturnsExpectedResponse" time="0.6789544">
<testcase classname="Tests.Cluster.TaskManagement.GetTask.GetTaskApiCompletedTaskTests" name="Tests.Cluster.TaskManagement.GetTask.GetTaskApiCompletedTaskTests.ReturnsExpectedIsValid" time="0.0000941">
<testcase classname="Tests.Cluster.TaskManagement.GetTask.GetTaskApiCompletedTaskTests" name="Tests.Cluster.TaskManagement.GetTask.GetTaskApiCompletedTaskTests.ReturnsExpectedStatusCode" time="0.0000652">
<testcase classname="Tests.Document.Multiple.MultiGet.GetManyApiTests" name="Tests.Document.Multiple.MultiGet.GetManyApiTests.CanHandleNotFoundResponses" time="0.0389339">
<testcase classname="Tests.Document.Multiple.Bulk.BulkApiTests" name="Tests.Document.Multiple.Bulk.BulkApiTests.ReturnsExpectedResponse" time="1.3133264">
<testcase classname="Tests.Document.Multiple.Bulk.BulkApiTests" name="Tests.Document.Multiple.Bulk.BulkApiTests.ReturnsExpectedIsValid" time="0.0097994">
<testcase classname="Tests.Document.Multiple.MultiGet.GetManyApiTests" name="Tests.Document.Multiple.MultiGet.GetManyApiTests.UsesDefaultIndexAndInferredType" time="0.0259959">
<testcase classname="Tests.Document.Multiple.MultiGet.GetManyApiTests" name="Tests.Document.Multiple.MultiGet.GetManyApiTests.UsesDefaultIndexAndInferredTypeAsync" time="0.0417563">
<testcase classname="Tests.Document.Single.DocumentCrudTests" name="Tests.Document.Single.DocumentCrudTests.GetAfterDeleteIsValid" time="0.0030098">
<testcase classname="Tests.Document.Single.DocumentCrudTests" name="Tests.Document.Single.DocumentCrudTests.DeleteNotFoundIsNotValid" time="0.0028436">
<testcase classname="Tests.Document.Single.Create.CreateInvalidApiTests" name="Tests.Document.Single.Create.CreateInvalidApiTests.CreateWithSameIndexTypeAndId" time="1.0568949"

junit-Tests-NETCoreApp50-test-results.zip

@acarbonetto
Copy link

The following tasks will be needed for a .NET client 2.0 release:

  • Duplicate master_timeout as cluster_manager_timeout wherever it is used. Keep master_timeout for backward compatibility.
  • Update docs for all APIs that use document or hit type ({type}) as not compatible with OpenSearch 2.0.
  • Update jsons in src/ApiGenerator/RestSpecification from OpenSearch repo. TBD keep both versions?
  • Add release notes, update compatibility matrix.
  • Remove master references from code comments, test data, and so on. See [Meta] Deprecate non-inclusive naming  OpenSearch#2589 and Add alternative usages for the REST APIs and configurations that contain "master" terminology OpenSearch#1549
  • Mark indices.flush_synced and indices.exists_type APIs as not compatible with OpenSearch 2.0. Ideally, add integration tests for these APIs and restrict them for 2.0+ versions.
  • Update APIs that have include_type_name param to comply with OpenSearch 2.0. Duplicate/add tests if needed.
  • Update Deprecation API tests to check deprecation status of master-related calls. These tests should be executed on 2.x versions only.

@kresimirlesic
Copy link

@VachaShah opensearch 2.1 is already out.

Do you know if there is a timeline when this client should be 2.1 compatible?

@acarbonetto
Copy link

@kresimirlesic The 1.0 release of the .NET client is ongoing. See: opensearch-project/opensearch-build#2051

eglauko pushed a commit to eglauko/opensearch-net that referenced this issue Jul 19, 2022
…name-master

Rename all `master` references to `cluster_manager` comply with OpenSearch 2.0
@Yury-Fridlyand
Copy link
Collaborator

Fixed in scope of #51

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

5 participants