Andrzej Wójcik (Tigase) opened 9 years ago
|
|
This is a good idea. Wojciech, please provide necessary information to Daniel so he can update our documentation. |
|
Andrzej, you've proposed during our conversation about the topic following versions (and I think some are currently mandatory as a result of features available only in such versions, for example Postgres):
I've bumped recently Derby driver to @10.12.1.1@, but in this case I don't think there is much problem with the version requirement as it solely depends on the library version which we include with the server. There is also Mongo version to think about. Currently we ship driver in version I've looked a bit for background information:
Bottomline - I think that we can quite freely approach topic of supported versions (most likely database deployment for Tigase would be exclusive, maybe except for MS SQL Server deployments) and use features from versions 1-2 years old. |
|
Yes, this were my suggestions. As for PostgreSQL, I'm using SQL syntax supported since 9.4 in new version of MA/UA stored procedures so I suppose that we should assume this as current minimal requirement. MySQL 5.6 is I think best candidate as version 5.6 (if I'm correct) introduced a lot of changes in transactions management, etc. As for Derby, I think we should also list this DB and required versions - I know it is used mostly for testing and internally, however it is possible to use client-server mode. SQLServer 2008 R2 - I suggested this version as very often bigger companies like to use older software and opt for extended support. Newer versions of SQLServer mostly add some features or fix some issues. However from version 2012 it is possible to use pagination of SQL results (limit-offset) in native TSQL form which is not available if 2008 R2, so it would be good to use 2012 as minimal required version which would allow us to use this very useful feature in future development. %kobit what do you think about this change? As for MongoDB usage of 2.6 for current release is OK. However in versions from 3.0 a lot of changes were done in MongoDB so I would suggest to keep 2.6 as minimal requirement for 7.1.0 release and consider update to 3.0 or newer for 7.2.0 release. (I would like to test our implementation on 3.0 version or newer with new driver before change to 3.0 for 7.2.0). %kobit any objections? Another question is support for MariaDB. Right now we do not test MariaDB support, but I think it may be worth to consider this as MariaDB is opensourced fork of MySQL - some linux distributions prefer MariaDB over MySQL (if I'm correct). |
|
I have used Tigase with MS SQL server Express 2014, as it's a stripped down version of SQL Server 2014, it may be safe to say that it is supported as well. I have not run extensive testing, but can on my system if needed. |
|
Andrzej, I am OK with your suggestion. I think we should have something like - supported versions and recommended versions. Supported would be versions we know Tigase works with and recommended is the one which we use ourselves, so we have most experience with. |
|
Ok, so this should look like in following table:
| Database | Recommended version | Required version | Additional informations | |---|---|---| | | DerbyDB | 10.12.1.1 | 10.12.1.1 | | | MySQL | 5.6 | 5.6 | | | SQLServer | 2012 | 2008 R2 | | | PostgreSQL | 9.4.5 | 9.4 | | | MongoDB | 2.6 | 2.6 | Driver not working with MongoDB 3.0 or newer (new driver may need changes in code and testing, so I would leave it for release of 7.2) |
| Database | Recommended version | Required version | Additional informations | |---|---|---| | | DerbyDB | 10.12.1.1 | 10.12.1.1 | | | MySQL | 5.6 | 5.6 | | | SQLServer | 2014 | 2012 | 2012 needed so we count use fetch-offset pagination feature | | PostgreSQL | 9.5 | 9.4 | New UA schema requires at least 9.4 | | MongoDB | 3.2 | 3.0 | TODO: uprade driver and implementation (test that all works fine - 3.0 was a big rewrite in MongoBD) - now we need version 2.6 and not newer! | as for 7.2 table - this requrements are not ready (ie. for MongoDB we need 2.6 at this point), but this I think should be requirements for database for next version when we release it. %wojtek do you agree? |
|
I would decrease required version for MySQL to 5.5 as we are not having actual hard requirement for any features from 5.6. For 7.2 we may bump Recommended version to 5.7. We may consider checking MariaDB and mentioning potential compatibility as well (locally I'm using Apart from that IMHO looks good. |
|
Finally this should look like in following tables:
| Database | Recommended version | Required version | Additional informations | |---|---|---| | | DerbyDB | 10.12.1.1 | 10.12.1.1 | | | MySQL | 5.6 | 5.5 | | | SQLServer | 2012 | 2008 R2 | | | PostgreSQL | 9.4.5 | 9.4 | | | MongoDB | 2.6 | 2.6 | Driver not working with MongoDB 3.0 or newer (new driver may need changes in code and testing, so I would leave it for release of 7.2) |
| Database | Recommended version | Required version | Additional informations | |---|---|---| | | DerbyDB | 10.12.1.1 | 10.12.1.1 | | | MySQL | 5.7 | 5.6 | | | SQLServer | 2014 | 2012 | 2012 needed so we count use fetch-offset pagination feature | | PostgreSQL | 9.5 | 9.4 | New UA schema requires at least 9.4 | | MongoDB | 3.2 | 3.0 | TODO: uprade driver and implementation (test that all works fine - 3.0 was a big rewrite in MongoBD) - now we need version 2.6 and not newer! but this will change | | MariaDB | ? | ? | Basic features works with 10.0.12-MariaDB Homebrew but is not fully tested | as for 7.2 table - this requrements are not ready (ie. for MongoDB we need 2.6 at this point), but this I think should be requirements for database for next version when we release it. I think this is what we need to place in documentation now and we should add this additional informations as well - maybe in other form. %kobit - please review versions and if you agree then assign this to Daniel so he will add informations in proper places. |
|
Looks good to me. I would only change "Required version" to "Lowest supported version". Also, as, we will need to update/create a table like this for each new version, we need to add a step for this in our internal document/wiki page which described new version release process. (we do have such wiki page, right?) |
|
(private comment due to private links) Artur Hefczyc wrote:
%kobit I think it doesn't have to be included as the release step. Given the current workflow of the documentation (its being "attached" to the version of the server) when it's included in our documentation and we are creating a change that would bump the requirement then in addition to modifying schema/pom.xml we would need to correct documentation and then this information would be applicable to all the subsequent versions, which include also nightly and it's not exclusive to the release of new version IMHO.
Yes, we have - https://projects.tigase.org/projects/private/wiki/Releasing_a_new_version_of_the_Tigase_XMPP_Server (there is also page for JaXMPP library) |
|
I've uploaded the documentation to release branch. %wojtek I think we can get around the changes by just making sure this particular table is correct when we switch from building v7.1 to v7.2 on jenkins. If documentation is version specific I think we can be okay with where it is, and I'll just build new enhancements/changes for v7.2 when the switch is made. I integrated the table into the database heading file, so no new files are made with the change. |
Type |
Task
|
Priority |
Normal
|
Assignee | |
RedmineID |
3891
|
Version |
tigase-server-8.0.0
|
Spent time |
2h 30m
|
Create section about minimal and recommended versions of supported databases which will allow people to check in documentation requirements to use Tigase XMPP Server, as right now we do not have any information about databases versions supported by Tigase XMPP Server.