You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ignite.apache.org by Vyacheslav Daradur <da...@gmail.com> on 2017/10/17 15:17:14 UTC

New Compatibility Testing Framework module in the project

Hi, Igniters!

I would like to announce new Compatibility Testing Framework module in
the project.

This module has been recently included in the project [1].

Framework provides an opportunity to start working with Ignite
instances of previously released versions.

The entire module is built on top of the Ignite Testing Framework,
especially on the MiltiJVM-mode classes. There is a class
IgniteCompatibilityAbstractTest that provides methods to start Ignite
nodes with versions which have been previously released in the Maven
repository in separate JVM and allows them to join topology. Framework
looking for artifacts of a specific version in the Maven local
repository, if they don’t exist there, they will be downloaded and
stored via Maven.

The main implemented API:
startGrid(name, version, configurationClosure);
startGrid(name, version, configurationClosure, postStartupClosure);

You can simply specify a version of Ignite, which you want to start,
define the configuration in the configurationClosure and set the
actions on the started node in the postStartupClosure. It’s very easy
to use it for writing unit tests, here is a simple example [2] which
demonstrates the main functional.

I hope this framework helps us to make our project even better.

I want to thank Anton Vinogradov for his help with API design and
Dmitriy Pavlov for sharing first-time user experience [3] [4].


[1] https://issues.apache.org/jira/browse/IGNITE-5732 - Provide API to
test compatibility with old releases
[2] https://github.com/apache/ignite/blob/master/modules/compatibility/src/test/java/org/apache/ignite/compatibility/persistence/DummyPersistenceCompatibilityTest.java
[3] http://apache-ignite-developers.2346864.n4.nabble.com/Binary-compatibility-of-persistent-storage-tp22419p22913.html
[4] https://issues.apache.org/jira/browse/IGNITE-6285 - Enhance
persistent store paths on start

-- 
Best Regards, Vyacheslav D.

Re: New Compatibility Testing Framework module in the project

Posted by Dmitry Pavlov <dp...@gmail.com>.
Hi Igniters,



recently I’ve made several updates in the framework.

- Now within the test, user can declare an extended classpath (e.g. use
ignite-indexing).

- Dumping classpath was added in case detached jvm node startup failed or
hangs. In second case stack trace is additionally dumped.

- Node join timeout was made configurable for long running post-startup
closures.



I also want to thank Eduard S.,  Alexey G. for review and Anton V. for
support.



Sincerely,

Dmitriy Pavlov


вт, 31 окт. 2017 г. в 10:51, Aleksei Zaitsev <ig...@alexzaitzev.pro>:

> Thanks for explanation
>
> 30.10.2017, 08:43, "Dmitry Pavlov" <dp...@gmail.com>:
> > Hi Aleksei,
> >
> > Wiki in apache Ignite is used for design documents, Ignite Enhancement
> > Proposals (IEPs), introductory for ignite developers, etc, but not for
> > documentation.
> >
> > Readme.io is official Ignite documentation for ignite users.
> >
> > Recent created page describe how Ignite developer can test compatibility
> > (mostly if Persistent Store enabled) using testing framework
> > (GridAbstractTest/GridCommonAbstractTest). These classes are not used by
> > end users.
> >
> > Sincerely,
> > Dmitriy Pavlov
> >
> > пн, 30 окт. 2017 г. в 10:06, Aleksei Zaitsev <ig...@alexzaitzev.pro>:
> >
> >>  Thanks, Dmitry, but why wiki and not readme.io[1]? It has a section
> "Test
> >>  and benchmarking", which suits well for such information.
> >>
> >>  I thought, that wiki is deprecated source of documentation. Correct me
> if
> >>  I am wrong.
> >>
> >>  [1] https://apacheignite.readme.io/docs
> >>
> >>  27.10.2017, 20:29, "Dmitry Pavlov" <dp...@gmail.com>:
> >>  > Hi Vyacheslav , Igniters,
> >>  >
> >>  > I hope you don't mind I copied this description into wiki (new page):
> >>  >
> https://cwiki.apache.org/confluence/display/IGNITE/Ignite+Tests+How+To
> >>  >
> >>  > Hope this helps new community members to easily find the info.
> >>  >
> >>  > Sincerely,
> >>  > Dmitriy Pavlov
> >>  >
> >>  > вт, 17 окт. 2017 г. в 18:17, Vyacheslav Daradur <daradurvs@gmail.com
> >:
> >>  >
> >>  >> Hi, Igniters!
> >>  >>
> >>  >> I would like to announce new Compatibility Testing Framework module
> in
> >>  >> the project.
> >>  >>
> >>  >> This module has been recently included in the project [1].
> >>  >>
> >>  >> Framework provides an opportunity to start working with Ignite
> >>  >> instances of previously released versions.
> >>  >>
> >>  >> The entire module is built on top of the Ignite Testing Framework,
> >>  >> especially on the MiltiJVM-mode classes. There is a class
> >>  >> IgniteCompatibilityAbstractTest that provides methods to start
> Ignite
> >>  >> nodes with versions which have been previously released in the Maven
> >>  >> repository in separate JVM and allows them to join topology.
> Framework
> >>  >> looking for artifacts of a specific version in the Maven local
> >>  >> repository, if they don’t exist there, they will be downloaded and
> >>  >> stored via Maven.
> >>  >>
> >>  >> The main implemented API:
> >>  >> startGrid(name, version, configurationClosure);
> >>  >> startGrid(name, version, configurationClosure, postStartupClosure);
> >>  >>
> >>  >> You can simply specify a version of Ignite, which you want to start,
> >>  >> define the configuration in the configurationClosure and set the
> >>  >> actions on the started node in the postStartupClosure. It’s very
> easy
> >>  >> to use it for writing unit tests, here is a simple example [2] which
> >>  >> demonstrates the main functional.
> >>  >>
> >>  >> I hope this framework helps us to make our project even better.
> >>  >>
> >>  >> I want to thank Anton Vinogradov for his help with API design and
> >>  >> Dmitriy Pavlov for sharing first-time user experience [3] [4].
> >>  >>
> >>  >> [1] https://issues.apache.org/jira/browse/IGNITE-5732 - Provide
> API to
> >>  >> test compatibility with old releases
> >>  >> [2]
> >>  >>
> >>
> https://github.com/apache/ignite/blob/master/modules/compatibility/src/test/java/org/apache/ignite/compatibility/persistence/DummyPersistenceCompatibilityTest.java
> >>  >> [3]
> >>  >>
> >>
> http://apache-ignite-developers.2346864.n4.nabble.com/Binary-compatibility-of-persistent-storage-tp22419p22913.html
> >>  >> [4] https://issues.apache.org/jira/browse/IGNITE-6285 - Enhance
> >>  >> persistent store paths on start
> >>  >>
> >>  >> --
> >>  >> Best Regards, Vyacheslav D.
>

Re: New Compatibility Testing Framework module in the project

Posted by Aleksei Zaitsev <ig...@alexzaitzev.pro>.
Thanks for explanation

30.10.2017, 08:43, "Dmitry Pavlov" <dp...@gmail.com>:
> Hi Aleksei,
>
> Wiki in apache Ignite is used for design documents, Ignite Enhancement
> Proposals (IEPs), introductory for ignite developers, etc, but not for
> documentation.
>
> Readme.io is official Ignite documentation for ignite users.
>
> Recent created page describe how Ignite developer can test compatibility
> (mostly if Persistent Store enabled) using testing framework
> (GridAbstractTest/GridCommonAbstractTest). These classes are not used by
> end users.
>
> Sincerely,
> Dmitriy Pavlov
>
> пн, 30 окт. 2017 г. в 10:06, Aleksei Zaitsev <ig...@alexzaitzev.pro>:
>
>>  Thanks, Dmitry, but why wiki and not readme.io[1]? It has a section "Test
>>  and benchmarking", which suits well for such information.
>>
>>  I thought, that wiki is deprecated source of documentation. Correct me if
>>  I am wrong.
>>
>>  [1] https://apacheignite.readme.io/docs
>>
>>  27.10.2017, 20:29, "Dmitry Pavlov" <dp...@gmail.com>:
>>  > Hi Vyacheslav , Igniters,
>>  >
>>  > I hope you don't mind I copied this description into wiki (new page):
>>  > https://cwiki.apache.org/confluence/display/IGNITE/Ignite+Tests+How+To
>>  >
>>  > Hope this helps new community members to easily find the info.
>>  >
>>  > Sincerely,
>>  > Dmitriy Pavlov
>>  >
>>  > вт, 17 окт. 2017 г. в 18:17, Vyacheslav Daradur <da...@gmail.com>:
>>  >
>>  >> Hi, Igniters!
>>  >>
>>  >> I would like to announce new Compatibility Testing Framework module in
>>  >> the project.
>>  >>
>>  >> This module has been recently included in the project [1].
>>  >>
>>  >> Framework provides an opportunity to start working with Ignite
>>  >> instances of previously released versions.
>>  >>
>>  >> The entire module is built on top of the Ignite Testing Framework,
>>  >> especially on the MiltiJVM-mode classes. There is a class
>>  >> IgniteCompatibilityAbstractTest that provides methods to start Ignite
>>  >> nodes with versions which have been previously released in the Maven
>>  >> repository in separate JVM and allows them to join topology. Framework
>>  >> looking for artifacts of a specific version in the Maven local
>>  >> repository, if they don’t exist there, they will be downloaded and
>>  >> stored via Maven.
>>  >>
>>  >> The main implemented API:
>>  >> startGrid(name, version, configurationClosure);
>>  >> startGrid(name, version, configurationClosure, postStartupClosure);
>>  >>
>>  >> You can simply specify a version of Ignite, which you want to start,
>>  >> define the configuration in the configurationClosure and set the
>>  >> actions on the started node in the postStartupClosure. It’s very easy
>>  >> to use it for writing unit tests, here is a simple example [2] which
>>  >> demonstrates the main functional.
>>  >>
>>  >> I hope this framework helps us to make our project even better.
>>  >>
>>  >> I want to thank Anton Vinogradov for his help with API design and
>>  >> Dmitriy Pavlov for sharing first-time user experience [3] [4].
>>  >>
>>  >> [1] https://issues.apache.org/jira/browse/IGNITE-5732 - Provide API to
>>  >> test compatibility with old releases
>>  >> [2]
>>  >>
>>  https://github.com/apache/ignite/blob/master/modules/compatibility/src/test/java/org/apache/ignite/compatibility/persistence/DummyPersistenceCompatibilityTest.java
>>  >> [3]
>>  >>
>>  http://apache-ignite-developers.2346864.n4.nabble.com/Binary-compatibility-of-persistent-storage-tp22419p22913.html
>>  >> [4] https://issues.apache.org/jira/browse/IGNITE-6285 - Enhance
>>  >> persistent store paths on start
>>  >>
>>  >> --
>>  >> Best Regards, Vyacheslav D.

Re: New Compatibility Testing Framework module in the project

Posted by Dmitry Pavlov <dp...@gmail.com>.
Hi Aleksei,

Wiki in apache Ignite is used for design documents, Ignite Enhancement
Proposals (IEPs), introductory for ignite developers, etc, but not for
documentation.

Readme.io is official Ignite documentation for ignite users.

Recent created page describe how Ignite developer can test compatibility
(mostly if Persistent Store enabled) using testing framework
(GridAbstractTest/GridCommonAbstractTest). These classes are not used by
end users.

Sincerely,
Dmitriy Pavlov

пн, 30 окт. 2017 г. в 10:06, Aleksei Zaitsev <ig...@alexzaitzev.pro>:

> Thanks, Dmitry, but why wiki and not readme.io[1]? It has a section "Test
> and benchmarking", which suits well for such information.
>
> I thought, that wiki is deprecated source of documentation. Correct me if
> I am wrong.
>
> [1] https://apacheignite.readme.io/docs
>
> 27.10.2017, 20:29, "Dmitry Pavlov" <dp...@gmail.com>:
> > Hi Vyacheslav , Igniters,
> >
> > I hope you don't mind I copied this description into wiki (new page):
> > https://cwiki.apache.org/confluence/display/IGNITE/Ignite+Tests+How+To
> >
> > Hope this helps new community members to easily find the info.
> >
> > Sincerely,
> > Dmitriy Pavlov
> >
> > вт, 17 окт. 2017 г. в 18:17, Vyacheslav Daradur <da...@gmail.com>:
> >
> >>  Hi, Igniters!
> >>
> >>  I would like to announce new Compatibility Testing Framework module in
> >>  the project.
> >>
> >>  This module has been recently included in the project [1].
> >>
> >>  Framework provides an opportunity to start working with Ignite
> >>  instances of previously released versions.
> >>
> >>  The entire module is built on top of the Ignite Testing Framework,
> >>  especially on the MiltiJVM-mode classes. There is a class
> >>  IgniteCompatibilityAbstractTest that provides methods to start Ignite
> >>  nodes with versions which have been previously released in the Maven
> >>  repository in separate JVM and allows them to join topology. Framework
> >>  looking for artifacts of a specific version in the Maven local
> >>  repository, if they don’t exist there, they will be downloaded and
> >>  stored via Maven.
> >>
> >>  The main implemented API:
> >>  startGrid(name, version, configurationClosure);
> >>  startGrid(name, version, configurationClosure, postStartupClosure);
> >>
> >>  You can simply specify a version of Ignite, which you want to start,
> >>  define the configuration in the configurationClosure and set the
> >>  actions on the started node in the postStartupClosure. It’s very easy
> >>  to use it for writing unit tests, here is a simple example [2] which
> >>  demonstrates the main functional.
> >>
> >>  I hope this framework helps us to make our project even better.
> >>
> >>  I want to thank Anton Vinogradov for his help with API design and
> >>  Dmitriy Pavlov for sharing first-time user experience [3] [4].
> >>
> >>  [1] https://issues.apache.org/jira/browse/IGNITE-5732 - Provide API to
> >>  test compatibility with old releases
> >>  [2]
> >>
> https://github.com/apache/ignite/blob/master/modules/compatibility/src/test/java/org/apache/ignite/compatibility/persistence/DummyPersistenceCompatibilityTest.java
> >>  [3]
> >>
> http://apache-ignite-developers.2346864.n4.nabble.com/Binary-compatibility-of-persistent-storage-tp22419p22913.html
> >>  [4] https://issues.apache.org/jira/browse/IGNITE-6285 - Enhance
> >>  persistent store paths on start
> >>
> >>  --
> >>  Best Regards, Vyacheslav D.
>

Re: New Compatibility Testing Framework module in the project

Posted by Aleksei Zaitsev <ig...@alexzaitzev.pro>.
Thanks, Dmitry, but why wiki and not readme.io[1]? It has a section "Test and benchmarking", which suits well for such information.

I thought, that wiki is deprecated source of documentation. Correct me if I am wrong.

[1] https://apacheignite.readme.io/docs

27.10.2017, 20:29, "Dmitry Pavlov" <dp...@gmail.com>:
> Hi Vyacheslav , Igniters,
>
> I hope you don't mind I copied this description into wiki (new page):
> https://cwiki.apache.org/confluence/display/IGNITE/Ignite+Tests+How+To
>
> Hope this helps new community members to easily find the info.
>
> Sincerely,
> Dmitriy Pavlov
>
> вт, 17 окт. 2017 г. в 18:17, Vyacheslav Daradur <da...@gmail.com>:
>
>>  Hi, Igniters!
>>
>>  I would like to announce new Compatibility Testing Framework module in
>>  the project.
>>
>>  This module has been recently included in the project [1].
>>
>>  Framework provides an opportunity to start working with Ignite
>>  instances of previously released versions.
>>
>>  The entire module is built on top of the Ignite Testing Framework,
>>  especially on the MiltiJVM-mode classes. There is a class
>>  IgniteCompatibilityAbstractTest that provides methods to start Ignite
>>  nodes with versions which have been previously released in the Maven
>>  repository in separate JVM and allows them to join topology. Framework
>>  looking for artifacts of a specific version in the Maven local
>>  repository, if they don’t exist there, they will be downloaded and
>>  stored via Maven.
>>
>>  The main implemented API:
>>  startGrid(name, version, configurationClosure);
>>  startGrid(name, version, configurationClosure, postStartupClosure);
>>
>>  You can simply specify a version of Ignite, which you want to start,
>>  define the configuration in the configurationClosure and set the
>>  actions on the started node in the postStartupClosure. It’s very easy
>>  to use it for writing unit tests, here is a simple example [2] which
>>  demonstrates the main functional.
>>
>>  I hope this framework helps us to make our project even better.
>>
>>  I want to thank Anton Vinogradov for his help with API design and
>>  Dmitriy Pavlov for sharing first-time user experience [3] [4].
>>
>>  [1] https://issues.apache.org/jira/browse/IGNITE-5732 - Provide API to
>>  test compatibility with old releases
>>  [2]
>>  https://github.com/apache/ignite/blob/master/modules/compatibility/src/test/java/org/apache/ignite/compatibility/persistence/DummyPersistenceCompatibilityTest.java
>>  [3]
>>  http://apache-ignite-developers.2346864.n4.nabble.com/Binary-compatibility-of-persistent-storage-tp22419p22913.html
>>  [4] https://issues.apache.org/jira/browse/IGNITE-6285 - Enhance
>>  persistent store paths on start
>>
>>  --
>>  Best Regards, Vyacheslav D.

Re: New Compatibility Testing Framework module in the project

Posted by Dmitry Pavlov <dp...@gmail.com>.
Hi Vyacheslav , Igniters,

I hope you don't mind I copied this description into wiki (new page):
https://cwiki.apache.org/confluence/display/IGNITE/Ignite+Tests+How+To

Hope this helps new community members to easily find the info.

Sincerely,
Dmitriy Pavlov

вт, 17 окт. 2017 г. в 18:17, Vyacheslav Daradur <da...@gmail.com>:

> Hi, Igniters!
>
> I would like to announce new Compatibility Testing Framework module in
> the project.
>
> This module has been recently included in the project [1].
>
> Framework provides an opportunity to start working with Ignite
> instances of previously released versions.
>
> The entire module is built on top of the Ignite Testing Framework,
> especially on the MiltiJVM-mode classes. There is a class
> IgniteCompatibilityAbstractTest that provides methods to start Ignite
> nodes with versions which have been previously released in the Maven
> repository in separate JVM and allows them to join topology. Framework
> looking for artifacts of a specific version in the Maven local
> repository, if they don’t exist there, they will be downloaded and
> stored via Maven.
>
> The main implemented API:
> startGrid(name, version, configurationClosure);
> startGrid(name, version, configurationClosure, postStartupClosure);
>
> You can simply specify a version of Ignite, which you want to start,
> define the configuration in the configurationClosure and set the
> actions on the started node in the postStartupClosure. It’s very easy
> to use it for writing unit tests, here is a simple example [2] which
> demonstrates the main functional.
>
> I hope this framework helps us to make our project even better.
>
> I want to thank Anton Vinogradov for his help with API design and
> Dmitriy Pavlov for sharing first-time user experience [3] [4].
>
>
> [1] https://issues.apache.org/jira/browse/IGNITE-5732 - Provide API to
> test compatibility with old releases
> [2]
> https://github.com/apache/ignite/blob/master/modules/compatibility/src/test/java/org/apache/ignite/compatibility/persistence/DummyPersistenceCompatibilityTest.java
> [3]
> http://apache-ignite-developers.2346864.n4.nabble.com/Binary-compatibility-of-persistent-storage-tp22419p22913.html
> [4] https://issues.apache.org/jira/browse/IGNITE-6285 - Enhance
> persistent store paths on start
>
> --
> Best Regards, Vyacheslav D.
>