Hi all, last few months I worked on moving current test environment to
docker environment.
Thanks, Volodymyr Vysotskiy for the initial patch.

*Motivation*

I noticed that the current test environment has problems with updating
versions of databases and often OOM.
 I investigated previous tickets about moving to Docker environment, and
there was only one problem that there was no stable docker for Mac OS and
Windows.
Now, As far as I know, it works stable for them, and we can use it.

Also, I observed moving calcite integration tests to an in-memory
database(MongoDB, ElasticSearch, Cassandra). Why don't I like it?
In case of MongoDB, we use Fongo library, which has no full support of all
features of MongoDB, so it creates one more dependency for calcite.
Before, we need just implement some feature in calcite and use latest
MongoDB with this feature. Now we use Fongo, and if we want to support the
latest features of MongoDB, Fongo has to implement them also.
In the case of ElasticSearch, I think it is the comfortable tradeoff
because we use official ElasticSearch API to construct an in-memory
database.

Also, there is one more advantage of using Docker, that if we just make
changes in some module(e.g. Cassandra) we can just start docker only with
Cassandra image, we don't need to setup whole virtual machine with all
databases.
Also setting up all docker images is faster that Vagrant, even if we launch
it the first time.
Next launching will be very fast, thanks to  Docker's cache until we change
the context of the Docker container.


I've already created the branch in calcite-test-dataset --
https://github.com/igorKryvenko/calcite-test-dataset/tree/docker-new
<https://github.com/igorKryvenko/calcite-test-dataset/tree/docker-new>
and branch in calcite-project with corresponding changes(a few changes, but
I need someone's look at it) ---
https://github.com/igorKryvenko/calcite/tree/docker


I will be appreciated if someone will test my changes on Windows and Mac
OS.

*Please, do not hesitate and post your questions and remarks.*

Kind regards
Igor Kryvenko

Reply via email to