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

[PLATI-1143] Merge in v2.20.0 #12

Merged
merged 428 commits into from
Jun 12, 2024
Merged

[PLATI-1143] Merge in v2.20.0 #12

merged 428 commits into from
Jun 12, 2024

Conversation

felixmo
Copy link

@felixmo felixmo commented May 9, 2024

Merges v2.20.0 into our fork

Spec changes were borrowed from #9

This diff shows that our patches were applied fairly cleanly — some patches were moved since retryable.rb was refactored. For comparison, this diff shows how the current version is patched.

https://github.com/Appboy/platform/compare/PLATI-1143-mongo contains these changes to platform:

  • bulk_write monkey-patched to not raise an error if passed an empty array
  • Mongo::BulkWrite::Result.new updated with a new parameter
  • update monkey-patch of Mongo::Server::Monitor to match current implementation
  • adjust new max_connecting mongo client parameter to match sidekiq concurrency

Neilshweky and others added 30 commits June 29, 2022 11:00
…am (mongodb#2542)

* RUBY-1869 allow max_await_time_ms to be passed through to change stream

* RUBY-1869 fix tests

* Update lib/mongo/database.rb

Co-authored-by: Oleg Pudeyev <39304720+p-mongo@users.noreply.github.com>

* RUBY-1869 fix tests and bson document problem

* RUBY-1896 remove TODOs

* RUBY-1869 fix flaky test

* RUBY-1869 fix test reqs

Co-authored-by: Oleg Pudeyev <39304720+p-mongo@users.noreply.github.com>
mongodb#2553)

* RUBY-2468 skip tests using internet are not skipped on EXTERNAL_DISABLED=1

* RUBY-2468 fix solo tests
Co-authored-by: Oleg Pudeyev <code@olegp.name>
* The following changes are required for specs to run on Windows:
- Use "timeout" instead of "timeout_interrupt"
- Skip loading debug gems if neither is present

* Get rid of inline rescue

Co-authored-by: shields <shields@tablecheck.com>
Co-authored-by: Oleg Pudeyev <code@olegp.name>
* RUBY-2699 fix count_documents

* RUBY-2699 fix count tests

* RUBy-2699 finish estimated_document and distinct

* RUBY-2699 add aggregate options

* RUBY-2699 limit settable options on map_reduce

* Apply suggestions from code review

* RUBY-2699 merge all view options

* RUBY-2699 add a feature flag

* RUBY-2699 fix default on feature flag
* RUBY-2797 add match to aggregate

* RUBY-2797 add feature flag

* RUBY-2797 add match stage for view filter
* Support index wildcard_projection option

* Update docs_examples_spec.rb

* Fix server version-dependent spec

* Add error matcher

* Line breaks

* fix tests

Co-authored-by: shields <shields@tablecheck.com>
Co-authored-by: Oleg Pudeyev <code@olegp.name>
Co-authored-by: Oleg Pudeyev <code@olegp.name>
…ics (mongodb#2560)

Co-authored-by: Oleg Pudeyev <code@olegp.name>
…in our code (mongodb#2559)

Co-authored-by: Oleg Pudeyev <code@olegp.name>
* Mongo::Collection::View#no_cursor_timeout regression

* adjust description

* add a unit test

* pass no cursor timeout option to server

* fix test with auth

* restrict to standalones

Co-authored-by: Oleg Pudeyev <code@olegp.name>
Co-authored-by: Dmitry Rybakov <dmitry.rybakov@mongodb.com>
)

* RUBY-3035 Reuse client in auto encrypter if unlimited pool

* 3035

* 3035

* 3035

* 3035

* 3035

* close newly made clients in auto encrypter if its initialization fails

* add note

* add normal cleanup for newly created clients

* fix pool sizes, add tests

* use mrss helper for event retrieval with earlier assertions on existence of the needed events

* fix command monitoring tests

* collapse back into #with

* fix stress test

* update mrss

* remove max pool size setting

* redo the tests

Co-authored-by: Oleg Pudeyev <code@olegp.name>
…ngodb#2567)

* RUBY-3050 Improve reliability of SDAM heartbeat error spec tests.

* RUBY-3050 change tests back
comandeo-mongo and others added 4 commits March 4, 2024 16:11
* don't build tasks for latest server version for now

* hmm, let's try putting 'latest' back?

* RUBY-3405 make sure the cluster time is applied to new sessions

* actually, probably need to get cluster time from the support client?

* skip broken tests (see RUBY-3413)

* ignore the serverless tests (pending RUBY-3414)
* MONGOID-5739 support BSON 5

* point at my personal branch to test this

* normalize values before comparing

* switch back to the official spec/shared repo

* actually bump spec/shared (why are submodules so impossible?)

* use pessimistic versioning
* prep for 2.20

* more CI stuff (e.g. DriverBench should run against latest stable, not latest)

* let's see what happens when we enable jruby 9.4

* document added support for JRuby 9.4, and deprecation of 9.2

* flesh out the release notes more
@felixmo felixmo force-pushed the merge-2.20.0 branch 2 times, most recently from 8fa7f2e to 0a5b453 Compare May 9, 2024 20:27
@felixmo felixmo changed the title [WIP] 2.20.0 Merge in v2.20.0 May 14, 2024
@felixmo felixmo changed the title Merge in v2.20.0 [PLATI-1143] Merge in v2.20.0 May 14, 2024
@felixmo felixmo marked this pull request as ready for review May 14, 2024 21:28
@felixmo felixmo requested review from a team and jonhyman May 14, 2024 21:29
Copy link

@jasonpenny jasonpenny left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

When I try to run the specs locally with bundle exec rake, I see lots of failures (which I think has probably always been the case).

If I delete the patch in gemtester and try to run it with this version, I still get errors.

So, I think we should get our fork to be able to run all the tests (at least in gemtester at least, without having to patch it).

lib/mongo/retryable.rb Outdated Show resolved Hide resolved
lib/mongo/retryable.rb Show resolved Hide resolved
@felixmo
Copy link
Author

felixmo commented May 15, 2024

I was able to get the tests passing in gemtester with a small patch (a few tests don't like being run inside docker)

https://github.com/braze-inc/gemtester/compare/PLATI-1143-mongo-2.20.0

@felixmo felixmo requested a review from jasonpenny May 15, 2024 15:50
Copy link

@jonhyman jonhyman left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks. Note that in platform, we have a number of monkey patches under shared_code/extensions/mongo that we should either incorporate natively, or ensure are still valid post inclusion of this gem in platform.

@joelim41 joelim41 merged commit 860b4ff into deployed-in-platform Jun 12, 2024
72 of 141 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.