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
