Merge pull request #470 from bnamasivayam/cluster-file-directory-writable
Cluster file and its parent directory needs to be writable for operat…
This commit is contained in:
commit
3a4c75577c
|
@ -71,7 +71,7 @@ You can change coordinators when the following conditions are met:
|
|||
|
||||
* a majority of the current coordinators are available;
|
||||
* all of the new coordinators are available; and
|
||||
* client and server cluster files are writable.
|
||||
* client and server cluster files and their parent directories are writable.
|
||||
|
||||
``fdbcli`` supports a ``coordinators`` command to specify the new list of coordinators::
|
||||
|
||||
|
|
|
@ -40,6 +40,6 @@ $ sudo service foundationdb stop
|
|||
|
||||
fdb> exclude 192.168.1.1:4500 192.168.1.2:4500 192.168.1.3:4500
|
||||
|
||||
8. Run ``coordinators auto`` in ``fdbcli`` to move coordination state to the new machines. Please note that this will cause the fdb.cluster file to be updated with the addresses of the new machines. Any currently connected clients will be notified and (assuming they have appropriate file system permissions) will update their own copy of the cluster file. As long as the original machines are still running, any clients that connect to them will be automatically forwarded to the new cluster coordinators. However, if you have a client that has not yet connected or only connects intermittently, you will need to copy the new cluster file from one of the new machines to the client machine.
|
||||
8. Run ``coordinators auto`` in ``fdbcli`` to move coordination state to the new machines. Please note that this will cause the fdb.cluster file to be updated with the addresses of the new machines. Any currently connected clients will be notified and (assuming they have appropriate file system :ref:`permissions <cluster_file_permissions>`) will update their own copy of the cluster file. As long as the original machines are still running, any clients that connect to them will be automatically forwarded to the new cluster coordinators. However, if you have a client that has not yet connected or only connects intermittently, you will need to copy the new cluster file from one of the new machines to the client machine.
|
||||
|
||||
9. The ``status details`` command in the fdbcli will now show only the new processes (both as workers and coordinators), and you can safely shut down the older machines.
|
||||
|
|
|
@ -186,7 +186,7 @@ The following format informally describes the JSON containing the status data. T
|
|||
"name": < "incorrect_cluster_file_contents"
|
||||
| ...
|
||||
>,
|
||||
"description": "Cluster file contents do not match current cluster connection string. Verify cluster file is writable and has not been overwritten externally."
|
||||
"description": "Cluster file contents do not match current cluster connection string. Verify the cluster file and its parent directory are writable and that the cluster file has not been overwritten externally."
|
||||
}
|
||||
],
|
||||
"reasons": [
|
||||
|
|
|
@ -325,7 +325,7 @@ ACTOR Future<StatusObject> clientStatusFetcher(Reference<ClusterConnectionFile>
|
|||
description += ClusterConnectionFile(f->getFilename()).getConnectionString().toString().c_str();
|
||||
description += "\nThe current connection string is: ";
|
||||
description += f->getConnectionString().toString().c_str();
|
||||
description += "\nVerify cluster file is writable and has not been overwritten externally. To change coordinators without manual intervention, the cluster file and its containing folder must be writable by all servers and clients. If a majority of the coordinators referenced by the old connection string are lost, the database will stop working until the correct cluster file is distributed to all processes.";
|
||||
description += "\nVerify the cluster file and its parent directory are writable and that the cluster file has not been overwritten externally. To change coordinators without manual intervention, the cluster file and its containing folder must be writable by all servers and clients. If a majority of the coordinators referenced by the old connection string are lost, the database will stop working until the correct cluster file is distributed to all processes.";
|
||||
messages->push_back(makeMessage("incorrect_cluster_file_contents", description.c_str()));
|
||||
}
|
||||
|
||||
|
|
|
@ -1558,7 +1558,7 @@ static StatusObject faultToleranceStatusFetcher(DatabaseConfiguration configurat
|
|||
|
||||
static std::string getIssueDescription(std::string name) {
|
||||
if(name == "incorrect_cluster_file_contents") {
|
||||
return "Cluster file contents do not match current cluster connection string. Verify cluster file is writable and has not been overwritten externally.";
|
||||
return "Cluster file contents do not match current cluster connection string. Verify the cluster file and its parent directory are writable and that the cluster file has not been overwritten externally.";
|
||||
}
|
||||
|
||||
// FIXME: name and description will be the same unless the message is 'incorrect_cluster_file_contents', which is currently the only possible message
|
||||
|
|
Loading…
Reference in New Issue