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

DOCSP-33418 Remove PBS mentions form the docs #634

Merged
merged 5 commits into from
Dec 1, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 1 addition & 2 deletions source/includes/note-partition-relationships.rst
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,5 @@
:ref:`Partition-Based Sync <partition-based-sync>`, an object can only have
a relationship with other objects *in the same partition*. The objects can
exist in different databases and collections (within the same cluster) as
long as the partition key value matches. To understand how partitions can
span multiple databases and collections, see :ref:`<sync-partitions>`.
long as the partition key value matches.

4 changes: 0 additions & 4 deletions source/logs/sync.txt
Original file line number Diff line number Diff line change
Expand Up @@ -93,7 +93,3 @@ Fields

* - Platform Version
- The version of the platform that sent the request.

* - Partition
- If using :ref:`Partition-Based Sync <partition-based-sync>`, which
:ref:`partition <sync-partitions>` changed as a result of the operation.
30 changes: 29 additions & 1 deletion source/reference/partition-based-sync.txt
Original file line number Diff line number Diff line change
Expand Up @@ -80,7 +80,9 @@ value passed in from the client application.
} catch (err) {
console.error("failed to open realm", err.message);
}


Device Sync requires MongoDB Atlas clusters to run specific versions of MongoDB.
Partition-Based Sync requires MongoDB 4.4.0 or greater.

Key Terms
---------
Expand Down Expand Up @@ -825,6 +827,8 @@ before and after it's modified.
Permission Strategies
~~~~~~~~~~~~~~~~~~~~~

.. include:: /includes/note-partition-relationships.rst

You can structure your read and write permission expressions as a set of
permission strategies that apply to your :ref:`partition strategy
<partition-strategies>`. The following strategies outline common approaches that
Expand Down Expand Up @@ -1679,6 +1683,30 @@ terminating and re-enabling Device Sync will trigger a client reset. To learn
more about handling client resets, read the :ref:`client reset <client-resets>`
documentation.

.. _partition-based-sync-errors:

Partition-Based Sync Errors
---------------------------

The following errors may occur when your App uses :ref:`Partition-Based Sync
<partition-based-sync>`.

.. list-table::
:header-rows: 1
:widths: 35 65

* - Error Name
- Description

* - ErrorIllegalRealmPath
- This error indicates that the client attempted to open a realm with a
partition value of the wrong type. For example, you might see the error
message "attempted to bind on illegal realm partition: expected partition
to have type objectId but found string".

To recover from this error, ensure that the type of the partition value
used to open the realm matches the partition key type in your
Device Sync configuration.
.. _backend-compaction:

Backend Compaction
Expand Down
6 changes: 2 additions & 4 deletions source/reference/service-limitations.txt
Original file line number Diff line number Diff line change
Expand Up @@ -207,10 +207,8 @@ are available when you connect to MongoDB through App Services, see
:ref:`the CRUD & Aggregation API reference
<mongodb-crud-and-aggregation-apis>`.

Device Sync requires MongoDB Atlas clusters to run specific versions of MongoDB:

- Partition-Based Sync requires MongoDB 4.4.0 or greater.
- Flexible Sync requires MongoDB 5.0.0 or greater.
Device Sync requires MongoDB Atlas clusters to run specific versions of MongoDB.
Flexible Sync requires MongoDB 5.0.0 or greater.

.. _mongodb-service-limitations-query-options:

Expand Down
4 changes: 0 additions & 4 deletions source/rules/roles.txt
Original file line number Diff line number Diff line change
Expand Up @@ -28,10 +28,6 @@ applies.
For examples of how you might configure permissions for common scenarios with
Device Sync, see the :ref:`flexible-sync-permissions-guide`.

If you're using the older Partition-Based Device Sync, roles work differently.
To configure Partition-Based Sync permissions, see
:ref:`partition-based-sync-permissions`.

What are Permissions?
~~~~~~~~~~~~~~~~~~~~~

Expand Down
7 changes: 0 additions & 7 deletions source/rules/sync-compatibility.txt
Original file line number Diff line number Diff line change
Expand Up @@ -13,10 +13,6 @@ Device Sync-Compatible Permissions
When using :ref:`Device Sync (Flexible Mode) <sync>`, there are special
considerations when using the permissions system.

The older Partition-Based Sync uses a completely different permissions system.
See :ref:`partition-based-rules-and-permissions` if you are using
Partition-Based Sync.

For a guide to setting up Flexible Sync with common permissions models, see the
:ref:`flexible-sync-permissions-guide`.

Expand Down Expand Up @@ -210,6 +206,3 @@ For reference, the following changes take place in the migration:
"insert": true,
"delete": true,
"search": true

This does not apply to apps using Partition-Based Sync. Their permissions
configuration remains in the Sync configuration.
2 changes: 0 additions & 2 deletions source/schemas/relationships.txt
Original file line number Diff line number Diff line change
Expand Up @@ -26,8 +26,6 @@ relationships in synced SDK data models and GraphQL operations by
replacing the values in a source field with the foreign documents that
they reference.

.. include:: /includes/note-partition-relationships.rst

Relationships are unidirectional and don't enforce uniqueness or other
foreign key constraints. If you reference a non-existent foreign value in
a source field, App Services automatically omits the reference from resolved
Expand Down
3 changes: 0 additions & 3 deletions source/sync/configure/enable-sync.txt
Original file line number Diff line number Diff line change
Expand Up @@ -35,9 +35,6 @@ If you're re-enabling Device Sync after pausing or terminating it, refer to
:ref:`Resume <resume-sync>` or :ref:`Re-Enable <re-enable-realm-sync>` Device
Sync.

If you are using the older Partition-Based Sync mode, refer to
:ref:`alter-partition-based-sync-config`.

.. tip::

Device Sync pauses automatically after {+sync-inactive-app-pause-time+}
Expand Down
1 change: 0 additions & 1 deletion source/sync/configure/pause-or-terminate-sync.txt
Original file line number Diff line number Diff line change
Expand Up @@ -211,7 +211,6 @@ terminate and re-enable Device Sync under a few different circumstances:
- An :manual:`oplog </core/replica-set-oplog/>` rollover
- A paused Device Sync session on a shared tier cluster due to infrequent usage
- Troubleshooting, at the request of MongoDB Support
- Altering a Partition-Based Sync configuration
- Switching between Sync modes. For instance, if you are switching from Partition-Based Sync to Flexible Sync
- Dropping a collection you've used with Sync. For example, if you
have a ``Team`` collection that stores and syncs ``Team`` objects, and
Expand Down
9 changes: 5 additions & 4 deletions source/sync/configure/sync-settings.txt
Original file line number Diff line number Diff line change
Expand Up @@ -24,8 +24,10 @@ Sync Type
~~~~~~~~~

Atlas Device Sync has two sync modes: Flexible Sync and the older
Partition-Based Sync. We recommend using Flexible Sync. For information about
Copy link
Collaborator

Choose a reason for hiding this comment

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

I don't think we can delete this section entirely, but we should update it. When you go to enable Sync, the App Services UI still shows Partition-Based Sync, although it is grayed out. The UI says:

Partition Based sync has been deprecated and is disallowed for new Sync configurations. Learn more about the differences between Partition Based Sync and Flexible Sync

And the link goes directly to this section in the docs.

I think we should leave this section, but update it to copy the language in the UI and say something like:

Atlas Device Sync has two sync modes: Flexible Sync and the older Partition-Based Sync. Partition-Based Sync has been deprecated and is disallowed for new Sync configurations. If you have an existing app that uses Partition-Based Sync, you can migrate to Flexible Sync. For more information, refer to :ref:`realm-sync-migrate-modes`.

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

Changed! As the UI call out says to go to this page for more information on the differences, I added link to PBS page for more context as well if anyone is interested to learn more. Let me know what you think.

Copy link
Collaborator

Choose a reason for hiding this comment

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

Since Partition-Based Sync is deprecated, and is disallowed for new apps, I don't think we need to link to it from here. This page is mainly for people who are setting up Sync for the first time, and I don't think we need to send them out to another page to read about a sync mode they can't even use. I think the wording in the UI is unfortunate for the same reason - if we're not allowing people to create new PBS apps, the differences between PBS and FS don't matter. FS is the only Sync they can use.

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

I agree! I will remove. I wish the UI text could be changed though. Is there a way to file a ticket for this?

Partition-Based Sync, refer to :ref:`partition-based-sync`.
Partition-Based Sync. Partition-Based Sync has
been deprecated and is disallowed for new Sync configurations. If you have
an existing app that uses Partition-Based Sync, you can migrate
to Flexible Sync. For more information, refer to :ref:`realm-sync-migrate-modes`.

Flexible Sync lets you define a query in the client and sync only the objects
that match the query. With client-side subscriptions, client applications can:
Expand Down Expand Up @@ -451,8 +453,7 @@ directory of an :ref:`exported <export-app>` app:
└── config.json

For example, the following Sync configuration applies to apps using Flexible
Sync (recommended). If you are using the older Partition-Based Sync, refer to
:ref:`partition-based-sync-config-object`.
Sync.

.. code-block:: json
:caption: sync/config.json
Expand Down
25 changes: 0 additions & 25 deletions source/sync/error-handling/errors.txt
Original file line number Diff line number Diff line change
Expand Up @@ -80,31 +80,6 @@ errors and how to handle them. Atlas App Services reports errors in your
specific error. For example, this might occur when you hit the storage
limit of a free tier Atlas cluster.

.. _partition-based-sync-errors:

Partition-Based Sync Errors
~~~~~~~~~~~~~~~~~~~~~~~~~~~

The following errors may occur when your App uses :ref:`Partition-Based Sync
<partition-based-sync>`.

.. list-table::
:header-rows: 1
:widths: 35 65

* - Error Name
- Description

* - ErrorIllegalRealmPath
- This error indicates that the client attempted to open a realm with a
partition value of the wrong type. For example, you might see the error
message "attempted to bind on illegal realm partition: expected partition
to have type objectId but found string".

To recover from this error, ensure that the type of the partition value
used to open the realm matches the partition key type in your
Device Sync configuration.

.. _flexible-sync-errors:

Flexible Sync Errors
Expand Down
10 changes: 1 addition & 9 deletions source/sync/get-started.txt
Original file line number Diff line number Diff line change
Expand Up @@ -30,9 +30,7 @@ Before You Start
M0 cluster to explore and develop your app. We recommend that you use a
dedicated tier cluster (M10 and above) for production applications. You cannot
use sync with a :ref:`serverless instance <serverless-caveats>` or
:ref:`{+adf-instance+} <data-federation-caveats>`. :ref:`Partition-Based Sync
<partition-based-sync>`, requires a MongoDB Atlas cluster that runs MongoDB
version 4.4 or later.
:ref:`{+adf-instance+} <data-federation-caveats>`.

- If you don't already have one, :ref:`create a new App
<create-app>` linked to your Atlas cluster.
Expand Down Expand Up @@ -114,12 +112,6 @@ Define Data Access Patterns
Once you have decided on your app's data model, you can define a data access
pattern and access rules for your app's data.

Choose a Sync Mode
~~~~~~~~~~~~~~~~~~

There are two Sync Modes: Flexible Sync and the older Partition-Based Sync. We
recommend you use Flexible Sync.

Client applications can query the queryable fields of a document to determine
which objects to sync. Then, App Services applies rules and default roles to
determine whether users can read or write the objects that match the query.
Expand Down
6 changes: 0 additions & 6 deletions source/sync/go-to-production/optimize-sync-atlas-usage.txt
Original file line number Diff line number Diff line change
Expand Up @@ -43,12 +43,6 @@ When you set a client maximum offline time in an App that uses :ref:`Flexible
Sync <flexible-sync>`, **trimming** deletes changes older than the client
maximum offline time.

.. note::

Flexible Sync uses :ref:`trimming <trimming>` to reduce Device Sync history
stored in Atlas. Partition-Based Sync uses :ref:`backend compaction
<backend-compaction>`.

.. _client-maximum-offline-time:

Client Maximum Offline Time
Expand Down
Loading