[CDRIVER-4060] Load balancer: Unified test runner changes Created: 06/Jul/21  Updated: 28/Oct/23  Resolved: 04/Aug/21

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

Type: Improvement Priority: Major - P3
Reporter: Kevin Albertson Assignee: Andreas Braun
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Depends
depends on CDRIVER-4059 Load balancer: Add serviceId to events Closed
Epic Link: Load Balancer Support
Quarter: FY22Q2

 Description   

Scope

Implement unified test runner changes and add integration tests for load balanced clusters described in https://github.com/mongodb/specifications/tree/master/source/load-balancers/tests



 Comments   
Comment by Githook User [ 12/Aug/21 ]

Author:

{'name': 'Kevin Albertson', 'email': 'kevin.albertson@mongodb.com', 'username': 'kevinAlbs'}

Message: CDRIVER-4062 test load balancer on evg (#837)

Add tasks to the Evergreen configuration based to test against a loadbalanced cluster.

  • Tests with auth+SSL and with no auth+SSL on both server version 5.0 and latest.
  • Runs tests against: new load balanced tests, all unified tests, retryable reads, retryable writes, change streams, and the C driver specific /loadbalanced/* tests.

Update test-libmongoc to support testing against a load balancer.

  • Support the environment variable MONGOC_TEST_LOADBALANCED to enable testing against load balancers in test-libmongoc.
    Support the environment variables SINGLE_MONGOS_LB_URI, MULTI_MONGOS_LB_URI to set URIs for test clients.
  • Mock the serviceId when MONGOC_TEST_LOADBALANCED is true.
  • Support multiple occurrences of the -l flag in test-libmongoc and alias the flag as --match.
  • Remove unnecessary constraint of retryable writes tests for replica sets.

CDRIVER-4060 add remaining support to the unified test runner for the new loadbalancer spec tests.

Comment by Githook User [ 04/Aug/21 ]

Author:

{'name': 'Andreas Braun', 'email': 'alcaeus@users.noreply.github.com', 'username': 'alcaeus'}

Message: Add missing features in unified test format (#820)

Since the only tests that are using the loop operation and storeEventsAsEntities are the drivers-atlas-testing tests, we can defer implementation of those two features until the atlas testing project.

Note that implementing the serverless topology check will be done separately

  • CDRIVER-4064 Support serverless runOnRequirement in test runner
  • Avoid early exit in complex check functions

Co-authored-by: Kevin Albertson <kevin.albertson@10gen.com>

  • Error when encountering unsupported functionality
  • Don't call result_check when ignoreResultAndError is used
  • Reference CMAP ticket
  • Don't require saveResultAsEntity for createFindCursor operation
  • Set return value after fetching data from cursor

Co-authored-by: Kevin Albertson <kevin.albertson@10gen.com>
Branch: master
https://github.com/mongodb/mongo-c-driver/commit/08f95424931ef08f7663cf3cd19269af39b52d89

Comment by Jeremy Mikola [ 31/Jul/21 ]

FYI andreas.braun: CDRIVER-4059 was merged, which should allow you to proceed with the related unified test format syntax that checks for a service ID on APM events.

Generated at Wed Feb 07 21:19:49 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.