[CDRIVER-4195] aggregate-write-readPreference tests should not expect readConcern to be passed to pre-4.2 servers Created: 20/Oct/21  Updated: 18/Feb/22  Resolved: 25/Jan/22

Status: Closed
Project: C Driver
Component/s: None
Affects Version/s: None
Fix Version/s: 1.21.0

Type: Spec Change Priority: Minor - P4
Reporter: PM Bot Assignee: Colby Pike
Resolution: Done Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Issue split
split from DRIVERS-1958 aggregate-write-readPreference tests ... Implementing
Related
Upstream Changes Summary:

DRIVERS-1958:
Drivers should sync unified CRUD spec tests with mongodb/specifications@dce2c48.


 Description   

This ticket was split from DRIVERS-1958, please see that ticket for a detailed description.



 Comments   
Comment by Githook User [ 18/Feb/22 ]

Author:

{'name': 'Jesse Williamson', 'email': 'jesse.williamson@mongodb.com', 'username': 'chardan'}

Message: CDRIVER-3992 - Use OP_MSG if a server API version is requested (#930)

  • DNM: appears to be switching between OPCODE_QUERY and OPCODE_MSG but breaking
    regression tests need scrutiny. Some cluster tests in particular may be getting
    the wrong data.

Signed-off-by: Jesse Williamson <jesse.williamson@mongodb.com>

  • Fix copyright notice with missing URL.

Signed-off-by: Jesse Williamson <jesse.williamson@mongodb.com>

  • Fix missing OPCODE_QUERY command; respond to some review comments.

Signed-off-by: Jesse Williamson <jesse.williamson@mongodb.com>

  • Add functions for detect user-selected server API; more bug fixes; clang-format.

Signed-off-by: Jesse Williamson <jesse.williamson@mongodb.com>

  • Fix calls to mongoc_cluster_run_command_private() for some build targets
    (cyrus, sspi).

Signed-off-by: Jesse Williamson <jesse.williamson@mongodb.com>

  • Fixes bug on copying OPCODE_MSG.

Signed-off-by: Jesse Williamson <jesse.williamson@mongodb.com>

  • Tidy up, fix CI build errors.

Signed-off-by: Jesse Williamson <jesse.williamson@mongodb.com>

  • Compiler warning placation when ASAN is enabled.

gcc 11.2.1 complains about a function returning without value.

Signed-off-by: Jesse Williamson <jesse.williamson@mongodb.com>

  • Fix Cyrus build error.

Signed-off-by: Jesse Williamson <jesse.williamson@mongodb.com>

  • Fix leaked memory from double-allocation; populate "ns"
    field in RPC struct.

Signed-off-by: Jesse Williamson <jesse.williamson@mongodb.com>

  • Patch for "ns not found" being reported in tests; verify ipv6 client test locally;
    tidy up comments (most to be removed)

Signed-off-by: Jesse Williamson <jesse.williamson@mongodb.com>

  • CDRIVER-3893: Conditionally support $merge and $out execution on secondaries (#904)
  • Allow readPreference:secondary with $merge and $out. [Finish CDRIVER-3893, CDRIVER-4224, and CDRIVER-4195]
  • Pass around the effectively chosen read mode used in server selection back to the command builder
  • Update doc func name
  • Fix duplicate doc comments
  • Consolidate duplicate state in suitable_servers()
  • Less magic numbers
  • Clarify wire version checks
  • Force primary read preference if talking to a single server older than 5.0
  • Add functions for detect user-selected server API; more bug fixes; clang-format.

Signed-off-by: Jesse Williamson <jesse.williamson@mongodb.com>

  • Merge; Fixes bug on copying OPCODE_MSG.

Signed-off-by: Jesse Williamson <jesse.williamson@mongodb.com>

  • Fixes missing command bug; reveals another.

Signed-off-by: Jesse Williamson <jesse.williamson@mongodb.com>

  • Fixes "unknown error" on cluster hello.

Signed-off-by: Jesse Williamson <jesse.williamson@mongodb.com>

  • DNM: take out some chatter

Signed-off-by: Jesse Williamson <jesse.williamson@mongodb.com>

  • Fixes "failed to receive length header".

Great appreciation to Kevin for spotting the right switch to flip!

Signed-off-by: Jesse Williamson <jesse.williamson@mongodb.com>

  • Rebased on 4098. Testing pass/fail versus MONGODB_API_VERSION=1
    or not selected.

Signed-off-by: Jesse Williamson <jesse.williamson@mongodb.com>

  • Clean-up comments, notice changes, etc. in response to review comments.

Signed-off-by: Jesse Williamson <jesse.williamson@mongodb.com>

  • Avoid mock server test failure related to applying server API when
    incompatible.

Signed-off-by: Jesse Williamson <jesse.williamson@mongodb.com>

  • mongoc_client test patches: Client, background monitor/scanning,
    streamable hello, topology, etc..

Signed-off-by: Jesse Williamson <jesse.williamson@mongodb.com>

  • Start adding individual client support to some test routines.

Signed-off-by: Jesse Williamson <jesse.williamson@mongodb.com>

  • Remove rogue code block.

Signed-off-by: Jesse Williamson <jesse.williamson@mongodb.com>

  • Revert changes to mongoc-server-description.

Signed-off-by: Jesse Williamson <jesse.williamson@mongodb.com>

  • Remove unused function.

Signed-off-by: Jesse Williamson <jesse.williamson@mongodb.com>

  • Fixups in response to review comments.

Signed-off-by: Jesse Williamson <jesse.williamson@mongodb.com>

  • Fix more unit tests (discovery and monitoring).

Signed-off-by: Jesse Williamson <jesse.williamson@mongodb.com>

  • Fix unit tests (speculative auth).

Signed-off-by: Jesse Williamson <jesse.williamson@mongodb.com>

  • Shuffle functions around to reduce diff delta.

Signed-off-by: Jesse Williamson <jesse.williamson@mongodb.com>

  • Comment added as per review suggestion.

Signed-off-by: Jesse Williamson <jesse.williamson@mongodb.com>

  • Temporarily disable cmd_on_unknown_serverid tests.

Signed-off-by: Jesse Williamson <jesse.williamson@mongodb.com>

  • Split declaration and definition of *_uses_server_api() functions
    into the modules defining the type they act upon.

Signed-off-by: Jesse Williamson <jesse.williamson@mongodb.com>

  • DNM: trying patches to reconcile local vs. remote errors
    (Thanks to Kevin for these!)

Signed-off-by: Jesse Williamson <jesse.williamson@mongodb.com>

  • Enable adding $db to topology scanner.
  • Avoid adding duplicate $db field.

Signed-off-by: Jesse Williamson <jesse.williamson@mongodb.com>

  • Fix test_change_stream_live_single_server() failure.

FAIL:/home/jesse/work/mongo-c-driver/src/libmongoc/tests/test-mongoc-change-stream.c:251 test_change_stream_live_single_server()
mongoc_collection_insert_one (coll, tmp_bson (((void *)0)), ((void *)0), ((void *)0), &error)
BSON field 'insert.apiVersion' is an unknown field.

Signed-off-by: Jesse Williamson <jesse.williamson@mongodb.com>

  • Fix assertion failure in legacy stream test.

Signed-off-by: Jesse Williamson <jesse.williamson@mongodb.com>

  • Fix test_framework_client_new_no_server_api

Signed-off-by: Jesse Williamson <jesse.williamson@mongodb.com>

  • Fix failure in test_split_insert()

Signed-off-by: Jesse Williamson <jesse.williamson@mongodb.com>

  • Fix test_bypass_not_sent()

Signed-off-by: Jesse Williamson <jesse.williamson@mongodb.com>

  • Fix test_bypass_validation()

Signed-off-by: Jesse Williamson <jesse.williamson@mongodb.com>

  • Finish write tests; revert client change w/ no effect.

Signed-off-by: Jesse Williamson <jesse.williamson@mongodb.com>

  • Fix memory leak (calling wrong release function).

Signed-off-by: Jesse Williamson <jesse.williamson@mongodb.com>

  • Include apiVersion in toplogy OP_MSG assembly.

Signed-off-by: Jesse Williamson <jesse.williamson@mongodb.com>

  • Fixup more non-version aware tests.

Signed-off-by: Jesse Williamson <jesse.williamson@mongodb.com>

  • Fixup C99 style comments.

Signed-off-by: Jesse Williamson <jesse.williamson@mongodb.com>

  • Clean up hello.

Hello is assembled across several functions, let's use the right one.

Signed-off-by: Jesse Williamson <jesse.williamson@mongodb.com>

  • Fixes /change_streams/legacy/change-streams-errors
  • Fix "please configure your MongoClient's API version".

Signed-off-by: Jesse Williamson <jesse.williamson@mongodb.com>

  • Fix test_bypass_not_sent()

Signed-off-by: Jesse Williamson <jesse.williamson@mongodb.com>

  • Fix test_insert()

Signed-off-by: Jesse Williamson <jesse.williamson@mongodb.com>

  • Raise assertion on invalid API version.

Signed-off-by: Jesse Williamson <jesse.williamson@mongodb.com>

  • Generate ns only for OPCODE_QUERY.

Signed-off-by: Jesse Williamson <jesse.williamson@mongodb.com>

  • Respond to review comments.

Signed-off-by: Jesse Williamson <jesse.williamson@mongodb.com>

  • Remove superfluous comment.

Signed-off-by: Jesse Williamson <jesse.williamson@mongodb.com>

  • Continue to address review comments, formatting.

Signed-off-by: Jesse Williamson <jesse.williamson@mongodb.com>

  • Start reverting some tests to be both versioned and legacy hello aware.

Signed-off-by: Jesse Williamson <jesse.williamson@mongodb.com>

  • Modify tests to work with legacy and versioned hello.

Signed-off-by: Jesse Williamson <jesse.williamson@mongodb.com>

  • Modify mock_server to work with legacy/versioned hello.

Signed-off-by: Jesse Williamson <jesse.williamson@mongodb.com>

  • Remove extraneous comments, reformat.

Signed-off-by: Jesse Williamson <jesse.williamson@mongodb.com>

  • Wrangle special test _test_hello_ok()

This test is a little non-orthogonal compared to the others, and
requires special JSON inspection to be versioned vs. legacy
hello aware.

Signed-off-by: Jesse Williamson <jesse.williamson@mongodb.com>

  • Fix test_mongoc_client_resends_handshake_on_network_error()

Signed-off-by: Jesse Williamson <jesse.williamson@mongodb.com>

  • Fixup test_client_appname()

As with the previous commits, this allows these tests to
be aware of the difference between versioned and legacy
hello.

Signed-off-by: Jesse Williamson <jesse.williamson@mongodb.com>

  • Respond to review comments.

Signed-off-by: Jesse Williamson <jesse.williamson@mongodb.com>

sq ifx

Signed-off-by: Jesse Williamson <jesse.williamson@mongodb.com>

  • Formatting with clang-format

Signed-off-by: Jesse Williamson <jesse.williamson@mongodb.com>

  • Fix regression in versioned tests that shouldn't try to connect to a
    server.

Signed-off-by: Jesse Williamson <jesse.williamson@mongodb.com>

  • Respond to review comments; some reformatting.

Signed-off-by: Jesse Williamson <jesse.williamson@mongodb.com>

  • Respond to review comments.

Signed-off-by: Jesse Williamson <jesse.williamson@mongodb.com>

  • Revert test-mongoc-sample-commands.c

Revert this to earlier commit (its history is a bit complicated
in my branch because of an earlier merge; this should reconcile
it).

Signed-off-by: Jesse Williamson <jesse.williamson@mongodb.com>

Co-authored-by: vector-of-bool <vectorofbool@gmail.com>
Branch: master
https://github.com/mongodb/mongo-c-driver/commit/030461c1715b0e81696bc633dcc62ddd921a5855

Comment by Colby Pike [ 25/Jan/22 ]

Done as part of CDRIVER-3893

Comment by Githook User [ 25/Jan/22 ]

Author:

{'name': 'vector-of-bool', 'email': 'vectorofbool@gmail.com', 'username': 'vector-of-bool'}

Message: CDRIVER-3893: Conditionally support $merge and $out execution on secondaries (#904)

  • Allow readPreference:secondary with $merge and $out. [Finish CDRIVER-3893, CDRIVER-4224, and CDRIVER-4195]
  • Pass around the effectively chosen read mode used in server selection back to the command builder
  • Update doc func name
  • Fix duplicate doc comments
  • Consolidate duplicate state in suitable_servers()
  • Less magic numbers
  • Clarify wire version checks
  • Force primary read preference if talking to a single server older than 5.0
    Branch: master
    https://github.com/mongodb/mongo-c-driver/commit/9eba451d603cfa92ae5e27cc3bbd2b40821a6560
Generated at Wed Feb 07 21:20:13 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.