> On 14 Nov 2018, at 16:08, Vincent Massol <[email protected]> wrote:
>
>
>
>> On 14 Nov 2018, at 15:58, Eduard Moraru <[email protected]> wrote:
>>
>> On Tue, Nov 13, 2018 at 3:21 PM Vincent Massol <[email protected]> wrote:
>>
>>>
>>>
>>>> On 13 Nov 2018, at 11:58, Vincent Massol <[email protected]> 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/mariadb).
>>> 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 <
>>> [email protected]> 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 <
>>> [email protected]> 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 <[email protected]>
>>>>>> 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.html#mariadb-replaces-mysql
>>>>>>>
>>>>>>> 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 <[email protected]>
>>>>>> wrote:
>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>> On 12 Nov 2018, at 16:52, Vincent Massol <[email protected]>
>>> 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&exact=1
>>>>>>>> (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 <[email protected]>
>>>>>> 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/index.html
>>>>>>>> )
>>>>>>>>>>
>>>>>>>>>> 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 ([email protected])
>>>>> Research & Development Engineer at XWiki SAS
>>>>> Committer on the XWiki.org project