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

Update core 13.13 in bindgen branch #6683

Merged
merged 42 commits into from
Jun 7, 2023
Merged

Update core 13.13 in bindgen branch #6683

merged 42 commits into from
Jun 7, 2023

Conversation

papafe
Copy link
Contributor

@papafe papafe commented May 30, 2023

No description provided.

ironage and others added 30 commits May 12, 2023 14:09
…ed by SDK's (#6612)

* platform and cpu_arch are inferred by core, bundle_id must be provided by SDK's

* update changelog

* Return proper value for X86_64 arch

Co-authored-by: Christian Melchior <[email protected]>

* Get fine-grained platform for Apple devices

* Fix tests

* small fixes

* fix more tests

* Fix mistake in changelog

---------

Co-authored-by: Christian Melchior <[email protected]>
SectionedResults used a std::map in a few places where the keys are a dense
range (i.e. always [0..map.size())) and so they can be std::vector instead. The
maps keyed on Mixed are now std::unordered_map.

Change notifications now report changes as a `std::vector<IndexSet>` rather
than `std::map<size_t, IndexSet>`. This is slower and uses more memory when the
only sections that changed are near the end of a SectionedResults with a large
number of sections, but is much faster if all sections changed or if the
sections which changed are early in the SectionedResults. Change notifications
now reuse buffers, which increases persistent memory usage slightly but
significant reduces allocations.

Change notifications for a single section now only compute the changes for that
section rather than computing the full changes and then filtering out the
changes for other sections.
Improve SectionedResults performance
The result should be an empty result, not the whole table.
* geospatial validation of polygons

* Loop->Ring, added tests

* use std::unique

* changelog
* Allow to filter benchmark and run only list of specified names
* Add simple benchmark for fulltext search with index
* verify local results match a server query

* disallow geowithin on top level tables

* fix geo queries with ANY/ALL/NONE

* geospatial validation of points

* rename GeoCenterSphere -> GeoCircle

* review feedback

* better testing and fix any/all/none geospatial

* format
Filter out unresolved links in Dictionary::get_any()
* Add basic benchmarks for Geospatial type and queries

* Less copying in GeoWithinCompare

* Bring back caching of s2 region into Geospatial

* remove transaction overhead from measurements

* a couple small optimizations

* formatting

* simplify geospatial query evaluations

* changelog

---------

Co-authored-by: James Stone <[email protected]>
Michael Wilkerson-Barker and others added 12 commits May 23, 2023 00:27
…adata (#6631)

* Always refresh metadata on app login
* Updated changelog
* Always update location when requested; fix c_api test
* Update test to properly evaluate websocket redirections; added one more test
* Updated changelog and fixed compile warning
* Added location checks back to test
* added mutex locking around location updated state and reworked requesting location update to use flag
* clang format and fix incorrect timeout value
* Reworked update location logic a bit and removed unused function
* Free mutex before calling completion on early exit in init_app_metadata
Our use of aligned_storage was basically a complicated manual version of this.
I was hoping this'd have binary size benefits, but it ended up making the
library 100 bytes larger instead. Nonetheless, it greatly simplifies things.
Fix a few UBSan failures hit by tests
The cycle was DaemonThread::m_running_on_change_mutex =>
RealmCoordinator::m_realm_mutex  => SyncManager::m_mutex  =>
RealmCoordinator::s_coordinator_mutex  =>
DaemonThread::m_running_on_change_mutex, and it happened due to
DaemonThread::remove() being called inside RealmCoordinator::clear_cache()
while holding s_coordinator_mutex. Fortunately we don't actually need to be doing that.

As the cycle required RealmCoordinator::clear_all_caches(), this was only
applicable to tests.
* allow geo coordinate numeric argument substitutions

* review feedback

* explicit cast to address warning
…e transaction (#6661)

Between when the callback after acquiring the write lock is scheduled and when
it's invoked a synchronous write transaction can be begun, and if it's not
ended before the next time the scheduler gets to run, the scheduled callback
will be invoked inside the write. When this happens we want to just do nothing.
Ending the synchronous write transaction will take care of rescheduling the
async write it preempted.
…e-core-13.13

* commit '36b2df44453ba5e830369c76ab0683799a287605': (34 commits)
  core release 13.13.0
  Fix an assertion failure if an async write callback ran during a write transaction (#6661)
  Remove catch() clause to prevent truncating stack trace in AsyncOper::do_recycle_and_execute() (#6667)
  Allow geo coordinate numeric argument substitutions (#6663)
  Fix a lock order inversion in tests (#6666)
  Avoid performing unaligned reads in Array::get_chunk()
  Fix a few UBSan failures hit by tests
  Use std::optional to store cached leaves in query nodes (#6653)
  maybe fix a race in a test (#6651)
  Access token refresh for websockets was not updating the location metadata (#6631)
  Updated release notes
  Prepare release
  Updated baas server tag for CI (#6650)
  Geospatial basic queries benchmarks (#6621)
  Geospatial feedback (#6645)
  Add support for early exit in BPlusTree::for_all()
  Filter out unresolved links in Dictionary::get_any()
  Benchmark for full-text search
  geospatial validation of polygons (#6607)
  Fix importing Results with deleted collection
  ...
@papafe papafe requested a review from RedBeard0531 May 30, 2023 11:37
@cla-bot
Copy link

cla-bot bot commented May 30, 2023

Thank you for your pull request and welcome to our community. We could not parse the GitHub identity of the following contributors: realm-ci.
This is most likely caused by a git client misconfiguration; please make sure to:

  1. check if your git client is configured with an email to sign commits git config --list | grep email
  2. If not, set it up using git config --global user.email [email protected]
  3. Make sure that the git commit email is configured in your GitHub account settings, see https://github.com/settings/emails

@papafe
Copy link
Contributor Author

papafe commented May 30, 2023

The only file I have changed is spec.yml, to remove platform and cpu_arch from DeviceInfo, as they are not public anymore.

@RedBeard0531
Copy link
Contributor

It is slightly nicer to run git merge v13.13.0 rather than git merge HASH because it puts the version in the commit message. Feel free to leave it for now if you don't want to redo, but note for next time.

Copy link
Contributor

@kneth kneth left a comment

Choose a reason for hiding this comment

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

Only reviewing spec.yml but it LGTM

@papafe papafe merged commit 6a7ce4c into bindgen Jun 7, 2023
@papafe papafe deleted the fp/update-core-13.13 branch June 7, 2023 08:01
papafe added a commit that referenced this pull request Jun 7, 2023
* bindgen:
  Update core 13.13 in bindgen branch (#6683)
@github-actions github-actions bot locked as resolved and limited conversation to collaborators Mar 21, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

10 participants