Hi all. Did someone try to run tests on the docker env? Kind regards Igor Kryvenko
On Mon, 13 Aug 2018 at 23:10, Julian Hyde <jh...@apache.org> wrote: > +1 what Michael says. > > The less friction to running the tests, the more often they will get run, > and the higher quality we will be. (Friction is some function of manual > setup effort and the effort to debug/fix false positives when running the > tests regularly. For example, if the framework is not re-entrant - i.e. > doesn’t allow me to have two test runs running on different sandboxes on > the same machine at the same time - that’s a mark against it.) > > > > > On Aug 13, 2018, at 12:57 PM, Michael Mior <mm...@apache.org> wrote: > > > > Thanks for digging into this Igor! I'm fine with whatever approach others > > want to take. In general, I agree there are problems with the current > > integration test setup and whatever approach allows us to run these tests > > more frequently sounds good to me! > > > > -- > > Michael Mior > > mm...@apache.org > > > > > > > > Le lun. 13 août 2018 à 06:46, Igor Kryvenko <kryvenko7i...@gmail.com> a > > écrit : > > > >> 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 > >> > >