Skip to content

Commit

Permalink
Merge pull request #4190 from esl/migration-guide
Browse files Browse the repository at this point in the history
Update migration guide for version 6.2.0
  • Loading branch information
JanuszJakubiec authored Dec 8, 2023
2 parents 669335e + 988058c commit 0342139
Show file tree
Hide file tree
Showing 6 changed files with 41 additions and 1 deletion.
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@
* [Packages](https://www.erlang-solutions.com/resources/download.html)
* Product page: [https://www.erlang-solutions.com/products/mongooseim.html](https://www.erlang-solutions.com/products/mongooseim.html)
* Documentation: [https://esl.github.io/MongooseDocs/](https://esl.github.io/MongooseDocs/latest/)
* Try it now: [https://trymongoose.im](https://trymongoose.im)

## Get to know MongooseIM
MongooseIM is a robust, scalable and efficient XMPP server at the core of an Instant Messaging platform aimed at large installations.
Expand Down
1 change: 1 addition & 0 deletions doc/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@
* Home: [https://github.com/esl/MongooseIM](https://github.com/esl/MongooseIM)
* Product page: [https://www.erlang-solutions.com/products/mongooseim.html](https://www.erlang-solutions.com/products/mongooseim.html)
* Documentation: [https://esl.github.io/MongooseDocs/](https://esl.github.io/MongooseDocs/)
* Try it now: [https://trymongoose.im](https://trymongoose.im)

## Get to know MongooseIM

Expand Down
10 changes: 9 additions & 1 deletion doc/migrations/6.1.0_6.2.0.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,11 @@
So far MongooseIM has been using the internal Mnesia database to replicate the in-memory data between cluster nodes.
Now there is an option to use [CETS](https://github.com/esl/cets/) instead.
Mnesia is still used by default, so you don't need to change your configuration file.
If you want to switch to CETS, see [`internal_databases`](../configuration/internal-databases.md).
If you want to switch to CETS, see the [tutorial](../tutorials/CETS-configure.md) and the reference for [`internal_databases`](../configuration/internal-databases.md).

## Database migration

There is a new table `discovery_nodes` in the database, which is used by CETS for dynamic discovery of cluster nodes. See the migrations for Postgres, MySQL and MSSQL in the [`priv/migrations`](https://github.com/esl/MongooseIM/tree/master/priv/migrations) directory. Although the new table is only needed by CETS, we recommend applying the migration anyway to keep the database in sync with the latest schema.

## Validation of TLS options

Expand All @@ -22,3 +26,7 @@ For each of the affected sections, if there is any `tls` option present, **make
## Transition to New CLI Commands

Legacy CLI commands previously marked as deprecated have now been removed. The users are encouraged to explore the new GraphQL-based CLI. It is recommended to transition to the new CLI commands **prior to the next system upgrade**. The configuration options `general.mongooseimctl_access_commands` and `services.service_admin_extra` related to the legacy CLI were also removed. **You need to remove them** from your configuration file unless you have already done so.

## Removed support for Riak

The deprecated and obsolete Riak database is not supported anymore, and you cannot configure it in the [`outgoing_pools`](../configuration/outgoing-connections.md) section.
10 changes: 10 additions & 0 deletions priv/migrations/mssql_6.1.0_6.2.0.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
-- Cluster node discovery used by CETS
CREATE TABLE discovery_nodes (
cluster_name varchar(250) NOT NULL,
node_name varchar(250) NOT NULL,
node_num INT NOT NULL,
address varchar(250) NOT NULL DEFAULT '', -- empty means we should ask DNS
updated_timestamp BIGINT NOT NULL, -- in seconds
PRIMARY KEY (cluster_name, node_name)
);
CREATE UNIQUE INDEX i_discovery_nodes_node_num ON discovery_nodes(cluster_name, node_num);
10 changes: 10 additions & 0 deletions priv/migrations/mysql_6.1.0_6.2.0.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
-- Cluster node discovery used by CETS
CREATE TABLE discovery_nodes (
cluster_name varchar(250) NOT NULL,
node_name varchar(250) NOT NULL,
node_num INT UNSIGNED NOT NULL,
address varchar(250) NOT NULL DEFAULT '', -- empty means we should ask DNS
updated_timestamp BIGINT NOT NULL, -- in seconds
PRIMARY KEY (cluster_name, node_name)
);
CREATE UNIQUE INDEX i_discovery_nodes_node_num USING BTREE ON discovery_nodes(cluster_name, node_num);
10 changes: 10 additions & 0 deletions priv/migrations/pgsql_6.1.0_6.2.0.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
-- Cluster node discovery used by CETS
CREATE TABLE discovery_nodes (
cluster_name varchar(250) NOT NULL,
node_name varchar(250) NOT NULL,
node_num INT NOT NULL,
address varchar(250) NOT NULL DEFAULT '', -- empty means we should ask DNS
updated_timestamp BIGINT NOT NULL, -- in seconds
PRIMARY KEY (cluster_name, node_name)
);
CREATE UNIQUE INDEX i_discovery_nodes_node_num ON discovery_nodes USING BTREE(cluster_name, node_num);

0 comments on commit 0342139

Please sign in to comment.