Skip to content

Conversation

@jdestefano-mongo
Copy link
Collaborator

@jdestefano-mongo jdestefano-mongo commented Jan 4, 2018

This change is Reviewable

:setting:`net.bindIp` setting). For more information, see
:ref:`3.6-bind_ip-compatibility`.
#. Start the |newversion| binary with the following required
options and any previously used optional command line options:
Copy link
Contributor

Choose a reason for hiding this comment

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

Which options in the code block are required and which are optional? As only configsvr and replSet are required.

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

Good point. This section was flawed both technically (missing --replSet) and grammatically. I thought generalizing would be better than listing out all the options present in the example in the text, but managed to create a different issue.

I was going to rephrase with only --configsvr and --replSet as required, but also realized --bind_ip is pretty important so I ended up just listing the options.

Please let me know if you have any suggestions.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Starting in MongoDB 3.6, :program:`mongod` instances with the shard or
config server role must be replica set members. The following procedure
Copy link
Contributor

Choose a reason for hiding this comment

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

I believe starting in 3.4, config servers had to be replica sets

https://docs.mongodb.com/manual/release-notes/3.4/#removal-of-support-for-sccc-config-servers

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

Removed with the assumption 3.4 config servers will already be running with replication. Alternatively, I could add a separate paragraph covering the 3.4 config server behavior.

language: javascript
code: |
db.adminCommand( { setFeatureCompatibilityVersion: "3.6" } )
Copy link
Contributor

Choose a reason for hiding this comment

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

just an fyi --
to make the code block copyable inside the yaml "action" block, you can just add a copyable: true

action:
copyable: true
language: blah
code:

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

Reverted. Done.

Copy link
Contributor

@kay-kim kay-kim left a comment

Choose a reason for hiding this comment

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

some small things

Upgrade the shards one at a time. If the shards are replica sets, for each shard:
Upgrade the shards one at a time. If you are running standalone
shards, first convert them to a
:doc:`replica set</tutorial/convert-standalone-to-replica-set>`.
Copy link
Contributor

Choose a reason for hiding this comment

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

The location of this conversion seems not quite right. Since now, my config servers are already 3.6

Copy link
Contributor

Choose a reason for hiding this comment

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

Also, we mention standalone in

https://docs-mongodbcom-staging.corp.mongodb.com/jdestefano/DOCS-11064/reference/method/sh.addShard.html

And, did you test whether if you had a standalone shard, that just changing to the repl set correctly updates the shard meta data held by the config servers?

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

  • Sorry, I'm not sure I understand the first comment? Let's discuss tomorrow.
  • Updated sh.addShard and the addShard dbcommand.
  • I did not test the meta data scenario. I am not sure how to do this off the top of my head but can look into this tomorrow if needed.

|newversion| binary:
<sharding.clusterRole>`, :setting:`replication.replSetName`,
:setting:`net.port`, and :setting:`net.bindIp`
then start the |newversion| binary:
Copy link
Contributor

Choose a reason for hiding this comment

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

probably need a comma before the then

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

Done.

You must deploy shard servers as a replica set with the
:option:`--replSet` option specified. To deploy sharded clusters
with replication, follow the appropriate tutorial depending on your
:ref:`sharding strategy<sharding-strategy>`:
Copy link
Contributor

Choose a reason for hiding this comment

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

Is this more To deploy sharded clusters with shard replica sets, ...

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

Good suggestion, thanks.

.. versionchanged:: 3.6
You must deploy shard servers as a replica set with the
Copy link
Contributor

Choose a reason for hiding this comment

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

shard servers -> shards

(since the individual servers are components of the repl set)

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

Done.

.. versionchanged:: 3.6
You must deploy shard servers as a replica set with the
:option:`--replSet` option specified. To deploy sharded clusters
Copy link
Contributor

Choose a reason for hiding this comment

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

well, I suppose I could also use the config file in which case, I don't need to specify --replSet.

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

Added the config file setting.

- :doc:`/tutorial/deploy-sharded-cluster-hashed-sharding`
- :doc:`/tutorial/deploy-sharded-cluster-ranged-sharding`
Copy link
Contributor

Choose a reason for hiding this comment

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

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

Done. As for the sharded-cluster-components and sharded-cluster-shards, I used the "As of MongoDB 3.X, ..." Language. Is this ok or should I use .. versionchanged:: or none of that stuff?

Upgrade the shards one at a time. If the shards are replica sets, for each shard:
Upgrade the shards one at a time. If you are running standalone
shards, first convert them to a
:doc:`replica set</tutorial/convert-standalone-to-replica-set>`.
Copy link
Contributor

Choose a reason for hiding this comment

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

Also, we mention standalone in

https://docs-mongodbcom-staging.corp.mongodb.com/jdestefano/DOCS-11064/reference/method/sh.addShard.html

And, did you test whether if you had a standalone shard, that just changing to the repl set correctly updates the shard meta data held by the config servers?

Copy link
Collaborator Author

@jdestefano-mongo jdestefano-mongo left a comment

Choose a reason for hiding this comment

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

Made all the changes except on one where I was confused. Opened the following on appspot incase you'd prefer to review there:

https://mongodbcr.appspot.com/176800001/

Regards,
Jon

.. versionchanged:: 3.6
You must deploy shard servers as a replica set with the
Copy link
Collaborator Author

Choose a reason for hiding this comment

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

Done.

You must deploy shard servers as a replica set with the
:option:`--replSet` option specified. To deploy sharded clusters
with replication, follow the appropriate tutorial depending on your
:ref:`sharding strategy<sharding-strategy>`:
Copy link
Collaborator Author

Choose a reason for hiding this comment

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

Good suggestion, thanks.

.. versionchanged:: 3.6
You must deploy shard servers as a replica set with the
:option:`--replSet` option specified. To deploy sharded clusters
Copy link
Collaborator Author

Choose a reason for hiding this comment

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

Added the config file setting.

|newversion| binary:
<sharding.clusterRole>`, :setting:`replication.replSetName`,
:setting:`net.port`, and :setting:`net.bindIp`
then start the |newversion| binary:
Copy link
Collaborator Author

Choose a reason for hiding this comment

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

Done.

- :doc:`/tutorial/deploy-sharded-cluster-hashed-sharding`
- :doc:`/tutorial/deploy-sharded-cluster-ranged-sharding`
Copy link
Collaborator Author

Choose a reason for hiding this comment

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

Done. As for the sharded-cluster-components and sharded-cluster-shards, I used the "As of MongoDB 3.X, ..." Language. Is this ok or should I use .. versionchanged:: or none of that stuff?

Upgrade the shards one at a time. If the shards are replica sets, for each shard:
Upgrade the shards one at a time. If you are running standalone
shards, first convert them to a
:doc:`replica set</tutorial/convert-standalone-to-replica-set>`.
Copy link
Collaborator Author

Choose a reason for hiding this comment

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

  • Sorry, I'm not sure I understand the first comment? Let's discuss tomorrow.
  • Updated sh.addShard and the addShard dbcommand.
  • I did not test the meta data scenario. I am not sure how to do this off the top of my head but can look into this tomorrow if needed.

@kay-kim
Copy link
Contributor

kay-kim commented Jan 17, 2018

Thank you. Will review on appspot. I was going to request it in my comments, but didn't want to be pushy :D
As for my first comment regarding the location of the conversion, ...

It seems that if I have a 3.4 sharded cluster with standalone shards, it's seems strange to upgrade the config servers to 3.6, then come across the steps to convert the 3.4 standalone shards to 3.4 replica sets. By the update shards step, you have a mixed cluster with the 3.6 config servers and the 3.4 shards, and I'm not sure if the 3.6 config servers will already complain about the shards at that point. So, I was just stating that we probably should update the 3.4 standalone shards to 3.6 config servers as a prereq. Unless the third point with the meta data-- that is you tried the upgrade in the order listed, and changed a standalone shard to a replica set and the config servers didn't complain, then ...

Can discuss tomorrow. Will take a look at changes tomorrow.

@kay-kim
Copy link
Contributor

kay-kim commented Feb 13, 2018

closing as work has been merged

@kay-kim kay-kim closed this Feb 13, 2018
jeff-allen-mongo pushed a commit that referenced this pull request May 23, 2023
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.

2 participants