Skip to content

Add docs for enabled reads on main #1271

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

Open
wants to merge 1 commit into
base: memgraph-3-3
Choose a base branch
from

Conversation

as51340
Copy link
Contributor

@as51340 as51340 commented Apr 29, 2025

Release note

Added docs describing how to enable reads on main.

Related product PRs

PRs from product repo this doc page is related to:
memgraph/memgraph#2907

Checklist:

  • Add appropriate milestone (current release cycle)
  • Add bugfix or feature label, based on the product PR type you're documenting
  • Make sure all relevant tech details are documented
  • Check all content with Grammarly
  • Perform a self-review of my code
  • The build passes locally
  • My changes generate no new warnings or errors

@as51340 as51340 added status: ready PR is ready for review feature Documentation related to a new product feature of feature update labels Apr 29, 2025
@as51340 as51340 added this to the Memgraph 3.3 milestone Apr 29, 2025
@as51340 as51340 self-assigned this Apr 29, 2025
Copy link

vercel bot commented Apr 29, 2025

The latest updates on your projects. Learn more about Vercel for Git ↗︎

Name Status Preview Comments Updated (UTC)
documentation ✅ Ready (Inspect) Visit Preview 💬 Add feedback Apr 29, 2025 7:55am

Copy link
Contributor

@antejavor antejavor left a comment

Choose a reason for hiding this comment

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

Just a few pointers, make a decision on what you see fit here.

Comment on lines +78 to +82
from which instance can the data be read, to which instance data can be written to and which instances behave as routers. In the Memgraph HA cluster, the MAIN
data instance is the only writeable instance, REPLICAs are readable instances, and COORDINATORs behave as routers. However, the cluster can be configured in such a way so
that MAIN can also be used for reading. Check this [paragraph](#setting-config-for-highly-available-cluster) for more info.
Bolt+routing is the client-side routing protocol which means that the resolution of network endpoints happens inside drivers.
For more details about the Bolt messages involved in the communication, check [the following link](https://neo4j.com/docs/bolt/current/bolt/message/#messages-route).
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
from which instance can the data be read, to which instance data can be written to and which instances behave as routers. In the Memgraph HA cluster, the MAIN
data instance is the only writeable instance, REPLICAs are readable instances, and COORDINATORs behave as routers. However, the cluster can be configured in such a way so
that MAIN can also be used for reading. Check this [paragraph](#setting-config-for-highly-available-cluster) for more info.
Bolt+routing is the client-side routing protocol which means that the resolution of network endpoints happens inside drivers.
For more details about the Bolt messages involved in the communication, check [the following link](https://neo4j.com/docs/bolt/current/bolt/message/#messages-route).
from which instance can the data be read, to which instance data can be written to and which instances behave as routers. In the Memgraph HA cluster, the MAIN
data instance is the only writeable instance, REPLICAs are readable instances, and COORDINATORs behave as routers. However, the cluster can be configured in such a way
that MAIN can also be used for reading. Check this [paragraph](#setting-config-for-highly-available-cluster) for more info.
Bolt+routing is the client-side routing protocol, meaning network endpoint resolution happens inside drivers.
For more details about the Bolt messages involved in the communication, check [the following link](https://neo4j.com/docs/bolt/current/bolt/message/#messages-route).

```

This operation will result in writing to the Raft log.

In case the MAIN instance already exists in the cluster, a replica instance will also be registered on MAIN.
In case the MAIN instance already exists in the cluster, a replica instance will be automatically connected to the MAIN. You can specify whether the replica should behave
synchronously or asynchronously by using `AS ASYNC` construct after instanceName.
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
synchronously or asynchronously by using `AS ASYNC` construct after instanceName.
synchronously or asynchronously by using `AS ASYNC` construct after `instanceName`.

Copy link
Contributor

Choose a reason for hiding this comment

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

Or just write: instance name.

Comment on lines +389 to +401
There is also a configuration option for specifying whether reads from the main are enabled. The configuration value is by default false but can be changed in run-time
using the following query:

```
SET COORDINATOR SETTING 'enabled_reads_on_main' TO 'true'/'false' ;
```

All run-time configuration options can be retrieved using:

```
SHOW COORDINATOR SETTINGS ;
```

Copy link
Contributor

Choose a reason for hiding this comment

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

I would consider introducting a subsection for run-time flags here.

I would name the parent paragraph from Setting config for highly-available cluster to -> Configuring highly-available cluster

Then that section would have a runtime subsection and a startup configuration.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature Documentation related to a new product feature of feature update status: ready PR is ready for review
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants