On 14 Nov 2018, at 16:08, Vincent Massol <vincent@massol.net> wrote:
On 14 Nov 2018, at 15:58, Eduard Moraru <enygma2002@gmail.com> wrote:
On Tue, Nov 13, 2018 at 3:21 PM Vincent Massol <vincent@massol.net> wrote:
On 13 Nov 2018, at 11:58, Vincent Massol <vincent@massol.net> wrote:
There are 2 questions here: * Should we add support for MariaDB? And if so which versions. Just found that there’s an official docker image for it so it should be relatively easy to support MariaDB in our docker-based testing framework: https://hub.docker.com/_/mariadb/ (TestContainers also has a wrapper now for MariaDB: https://github.com/testcontainers/testcontainers-java/tree/master/modules/ma...). Note that the MariaDB versions don’t match the MySQL versions.
FTR, I’ve tried adding support for MariaDB and it’s currently not working, because of https://github.com/testcontainers/testcontainers-java/issues/949. But we could provide a PR to them with not so big efforts or using a GenericContainer (less nice).
Maybe I'm misunderstanding, but it looks like we're mixing XWiki's support of the MariaDB database itself with XWiki's test infrastructure's capability to support a MariaDB database container, which looks a bit off-topic to me. I get that we need it integrated in our tests to detect anomalies, but I don't really see it as an eliminatory criterion.
I agree. Some comments:
1) This thread was not about deciding which DB to support. It was to define a strategy to be more explicit in the versions that we support for the various already supported DBs. 2) I also started this thread because the goal is to automate the tests. If the idea is to add more work for manual tests then the answer is no, we don’t want to increase the # of DBs we support since we don’t have the manpower to do that. At least I would be against it simply because we can’t do it for practical purposes. 3) MariaDB support in TC is not a big deal, as I mentioned already (there are several ways to fix it).
BTW on this point, the issue I had was fixed in https://github.com/testcontainers/testcontainers-java/pull/950 (just need to wait for the next release to get it now, shouldn’t be too long). Thanks -Vincent
4) As I said on this thread, there are only 2 questions to answer from my POV: * Should we add support for MariaDB? And if so which versions. * Should we drop support for MySQL?
Thanks -Vincent
Thanks, Eduard
Thanks -Vincent
* Should we drop support for MySQL?
Thanks -Vincent
On 13 Nov 2018, at 11:50, Guillaume Delhumeau < guillaume.delhumeau@xwiki.com> wrote:
Hello,
We are in a weird situation where we don't say we support MariaDB but "the latest MySQL version of stable Debian repository", which is currently... MariaDB [1]
So we need to update our strategy about this fact. I am currently setting up a server with debian 9 (stable) and I don't know if I should install MySQL from the Oracle repository our continue with the standard debian package (MariaDB).
On my side, I am not against aligning ourself to debian. Basically, all users installing XWiki with our Debian packages are using MariaDB for a year now [2], and we never encounter any problem so far.
Thanks,
[1] https://packages.debian.org/stretch/default-mysql-server (dep: mariadb-server-10.1) [2] https://www.debian.org/News/2017/20170617.en.html
Le lun. 12 nov. 2018 à 18:54, Thomas Mortagne < thomas.mortagne@xwiki.com> a écrit :
Indeed mysql-server package (version 5.5.9999) leads to mariadb-server-10.1 in current stretch repository.
What is surprising is that this is not the case for sid which is more or less supposed to be the future. It's also not the case in Ubuntu which is doing the same thing as sid. On Mon, Nov 12, 2018 at 6:22 PM Eduard Moraru <enygma2002@gmail.com> wrote: > > I am not up to date on the topic, but I would like to add the fact that > Debian 9 ("stretch") has actually dropped MySQL and moved officially to > MariaDB, forcefully migrating existing MySQL installed versions to MariaDB. > >
https://www.debian.org/releases/stable/amd64/release-notes/ch-whats-new.en.h...
> > The default mysql-server package now redirects to MariaDB instead. > > If we are going to follow Debian's lead, we might want to at least consider > this move. > > Thanks, > Eduard > > On Mon, Nov 12, 2018 at 6:38 PM Vincent Massol <vincent@massol.net> wrote: > >> >> >>> On 12 Nov 2018, at 16:52, Vincent Massol <vincent@massol.net> wrote: >>> >>> So we need to conclude on this thread. I’m proposing to update the page >> with: >>> >>> * HSQLDB - Latest only >>> * MySQL - latest of oldstable/stable/unstable from >>
https://packages.debian.org/search?keywords=mysql-server&searchon=names&exac...
>> (i.e. latest of 5.5.x and 5.7.x today) >>> * PostgreSQL - latest of oldstable/stable/unstable fromhttps:// >> packages.debian.org/search?keywords=postgresql&searchon=names&exact=1 >> (i.e. latest of 9.4.x, 9.6.x and 11.x today) >>> * Oracle - latest of 12.x (we currently test on 11.x AFAIK so we need to >> start testing on 12.x from now on) >>> >>> Note that by “support" we mean test on. And it’s not because a version >> is not supported that it doesn’t work nor that we won’t fix it if a problem >> happens. >>> >>> I hesitated a long time for the mysql/pgsql versions since I wanted only >> a single version supported, but since we provide a debian packaging it >> makes sense to test the versions defined by the debian repos, and now that >> we have automated functional tests on various configurations, we can test >> on them. BTW I suggest we run all tests on the latest version only (i.e. >> 5.7.x for mysql and 11.x for postgresql, and move to mysql 8.x when we fix >> the bug on it) and then we do smoke tests on the other versions. >>> >>> Let me know quickly if you have a problem with this strategy since I’d >> like to update the page + add the configs in our CI tests. >> >> FYI, I’ve now updated the page at >> https://dev.xwiki.org/xwiki/bin/view/Community/DatabaseSupportStrategy >> (but I can update/revert if need be). >> >> Thanks >> -Vincent >> >>> >>> Thanks >>> -Vincent >>> >>> >>>> On 31 Oct 2018, at 09:06, Vincent Massol <vincent@massol.net> wrote: >>>> >>>> Hi devs, >>>> >>>> We currently have >> https://dev.xwiki.org/xwiki/bin/view/Community/DatabaseSupportStrategy >>>> >>>> However, it doesn’t say explicitly which versions we officially support: >>>> * For HSQLDB it says 2.3.3 which is wrong since the latest version is >> 2.4.1 >>>> * For MySQL it says 5.x but doesn’t specify which specific version(s) >>>> * Same for other DBs >>>> >>>> We cannot really support every versions since supporting means testing >> too. >>>> >>>> So what I propose: >>>> >>>> Question 1: definition >>>> >>>> * We say we support the latest stable version of the databases for a >> given version cycle >>>> ** For MySQL, it’s the latest of the 5.x cycle, which is 5.7.24 as of >> today (see https://hub.docker.com/_/mysql/) >>>> ** For PostgreSQL, it’s the latest of the 9.x cycle, which is 9.6.10 >> as of today (see https://hub.docker.com/_/postgres/) >>>> ** For Oracle, it’s the latest of the 11.x cycle, which is 11.2.0.4.0 >> as of today (see >>
https://www.oracle.com/technetwork/database/enterprise-edition/downloads/ind...
>> ) >>>> >>>> Question 2: review what we support >>>> >>>> * For MySQL I think we could also start supporting MySQL 8.x (ie the >> latest version of that cycle). We have an issue open for it currently: >> https://jira.xwiki.org/browse/XWIKI-15215 >>>> * For PostgreSQL we could also start supporting versions 11.x (ie the >> latest version of that cycle) >>>> * For Oracle, we could also start supporting versions 12.x (ie the >> latest version of that cycle) >>>> >>>> Question 3: decide if we drop some support >>>> >>>> * Is there any cycle that we should support for? Right now I think that >> MySQL 5.x is still heavily used, same for postgreSQL 9.x I guess. Don’t >> know for Oracle. >>>> * Any idea? >>>> >>>> So WDYT about the 3 questions? >>>> >>>> Thanks >>>> -Vincent >>> >> >>
-- Thomas Mortagne
-- Guillaume Delhumeau (guillaume.delhumeau@xwiki.com) Research & Development Engineer at XWiki SAS Committer on the XWiki.org project