You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@ignite.apache.org by Yakov Zhdanov <yz...@apache.org> on 2017/08/25 15:30:15 UTC

Testing Ignite Applications Locally

Guys,

I want to discuss the subject again. It is pretty vivid that having wide
set of local unit and simple integration tests most likely help to avoid
many failures and bugs when going to server environment.

I participated in many POC and I can say for sure - if developers are not
implementing local tests then their application is broken. This is true for
the entire industry. Why does anyone think that Ignite and distributed
systems in general are exceptions here? Complexity added by distributed
nature probably needs local tests even more.

So, what Ignite already offers here and what can be done further?

1. Ignite offers ability to emulate cluster and even many cluster in a
single VM. Let's create a page on readme.io explaining how to start
topologies in a single VM and provide couple examples of unit tests for
cache operations and, for example, queries. Denis Magda, can you help?
(Yes, we don't have the page explaining how to test Ignite locally!)

2. Ignite has a large and rich set of tests in its code base. We can
provide the link on the page at p1.

3. Let's create maven archetype for Ignite. So, executing the command [1]
will bring me inited project with valid poms, sample batch scripts, sample
Ignite configs, sample logger configuration and test sources folder
containing several JUnits (!!).

[1]  mvn archetype:generate \
          -DinteractiveMode=false \
          -DarchetypeGroupId=org.apache.ignite \
          -DarchetypeArtifactId=ignite-app-archetype \
          -DgroupId=org.sample \
          -DartifactId=sampleapp \
          -Dversion=1.0

Please share your thoughts and we can file tickets to start moving.

--Yakov

Re: Testing Ignite Applications Locally

Posted by Yakov Zhdanov <yz...@apache.org>.
Sergey, can you please elaborate?

--Yakov

2017-08-26 23:51 GMT+03:00 Sergey Kozlov <sk...@gridgain.com>:

> The idea is great!
>
> Also I would suggest an ability to run new (modified) tests 100 times in
> loop on the CI server to make sure that they don't cause no sporadic
> failures (we can include that as part of the requirements before review)
>
> --
> Sergey Kozlov
> GridGain Systems
> www.gridgain.com
>

Re: Testing Ignite Applications Locally

Posted by Yakov Zhdanov <yz...@apache.org>.
Sergey, can you please elaborate?

--Yakov

2017-08-26 23:51 GMT+03:00 Sergey Kozlov <sk...@gridgain.com>:

> The idea is great!
>
> Also I would suggest an ability to run new (modified) tests 100 times in
> loop on the CI server to make sure that they don't cause no sporadic
> failures (we can include that as part of the requirements before review)
>
> --
> Sergey Kozlov
> GridGain Systems
> www.gridgain.com
>

Re: Testing Ignite Applications Locally

Posted by Sergey Kozlov <sk...@gridgain.com>.
The idea is great!

Also I would suggest an ability to run new (modified) tests 100 times in
loop on the CI server to make sure that they don't cause no sporadic
failures (we can include that as part of the requirements before review)

On Sat, Aug 26, 2017 at 6:16 PM, Dmitriy Setrakyan <ds...@apache.org>
wrote:

> Love the idea. Let's add Testing Ignite Apps page on Readme. Denis, I
> don't think we need many snippets, just a few.
>
> As far as Maven archetype, Yakov, is the only purpose of it to load a
> project, so users can add tests to it?
>
> D.
>
> On Fri, Aug 25, 2017 at 8:51 AM, Denis Magda <dm...@apache.org> wrote:
>
>> Yasha,
>>
>> Sure, I’ll help from the documentation point but will need raw material
>> from you, guys - test snippets, essential configuration parameters, etc.
>>
>> —
>> Denis
>>
>> On Aug 25, 2017, at 8:30 AM, Yakov Zhdanov <yz...@apache.org> wrote:
>>
>> Guys,
>>
>> I want to discuss the subject again. It is pretty vivid that having wide
>> set of local unit and simple integration tests most likely help to avoid
>> many failures and bugs when going to server environment.
>>
>> I participated in many POC and I can say for sure - if developers are not
>> implementing local tests then their application is broken. This is true for
>> the entire industry. Why does anyone think that Ignite and distributed
>> systems in general are exceptions here? Complexity added by distributed
>> nature probably needs local tests even more.
>>
>> So, what Ignite already offers here and what can be done further?
>>
>> 1. Ignite offers ability to emulate cluster and even many cluster in a
>> single VM. Let's create a page on readme.io explaining how to start
>> topologies in a single VM and provide couple examples of unit tests for
>> cache operations and, for example, queries. Denis Magda, can you help?
>> (Yes, we don't have the page explaining how to test Ignite locally!)
>>
>> 2. Ignite has a large and rich set of tests in its code base. We can
>> provide the link on the page at p1.
>>
>> 3. Let's create maven archetype for Ignite. So, executing the command [1]
>> will bring me inited project with valid poms, sample batch scripts, sample
>> Ignite configs, sample logger configuration and test sources folder
>> containing several JUnits (!!).
>>
>> [1]  mvn archetype:generate \
>>           -DinteractiveMode=false \
>>           -DarchetypeGroupId=org.apache.ignite \
>>           -DarchetypeArtifactId=ignite-app-archetype \
>>           -DgroupId=org.sample \
>>           -DartifactId=sampleapp \
>>           -Dversion=1.0
>>
>> Please share your thoughts and we can file tickets to start moving.
>>
>> --Yakov
>>
>>
>>
>


-- 
Sergey Kozlov
GridGain Systems
www.gridgain.com

Re: Testing Ignite Applications Locally

Posted by Sergey Kozlov <sk...@gridgain.com>.
Yakov, ok. I'll do that

On Mon, Aug 28, 2017 at 6:19 PM, Yakov Zhdanov <yz...@apache.org> wrote:

> >As far as Maven archetype, Yakov, is the only purpose of it to load a
> project, so users can add tests to it?
>
> Yes, but not just add. We will also be providing test examples, data
> loading application sample, shell scripts, etc. This can be pretty handy
> thing to create project with all dependencies initialized and useful stuff.
>
> --Yakov
>



-- 
Sergey Kozlov
GridGain Systems
www.gridgain.com

Re: Testing Ignite Applications Locally

Posted by Sergey Kozlov <sk...@gridgain.com>.
Yakov, ok. I'll do that

On Mon, Aug 28, 2017 at 6:19 PM, Yakov Zhdanov <yz...@apache.org> wrote:

> >As far as Maven archetype, Yakov, is the only purpose of it to load a
> project, so users can add tests to it?
>
> Yes, but not just add. We will also be providing test examples, data
> loading application sample, shell scripts, etc. This can be pretty handy
> thing to create project with all dependencies initialized and useful stuff.
>
> --Yakov
>



-- 
Sergey Kozlov
GridGain Systems
www.gridgain.com

Re: Testing Ignite Applications Locally

Posted by Yakov Zhdanov <yz...@apache.org>.
>As far as Maven archetype, Yakov, is the only purpose of it to load a
project, so users can add tests to it?

Yes, but not just add. We will also be providing test examples, data
loading application sample, shell scripts, etc. This can be pretty handy
thing to create project with all dependencies initialized and useful stuff.

--Yakov

Re: Testing Ignite Applications Locally

Posted by Sergey Kozlov <sk...@gridgain.com>.
The idea is great!

Also I would suggest an ability to run new (modified) tests 100 times in
loop on the CI server to make sure that they don't cause no sporadic
failures (we can include that as part of the requirements before review)

On Sat, Aug 26, 2017 at 6:16 PM, Dmitriy Setrakyan <ds...@apache.org>
wrote:

> Love the idea. Let's add Testing Ignite Apps page on Readme. Denis, I
> don't think we need many snippets, just a few.
>
> As far as Maven archetype, Yakov, is the only purpose of it to load a
> project, so users can add tests to it?
>
> D.
>
> On Fri, Aug 25, 2017 at 8:51 AM, Denis Magda <dm...@apache.org> wrote:
>
>> Yasha,
>>
>> Sure, I’ll help from the documentation point but will need raw material
>> from you, guys - test snippets, essential configuration parameters, etc.
>>
>> —
>> Denis
>>
>> On Aug 25, 2017, at 8:30 AM, Yakov Zhdanov <yz...@apache.org> wrote:
>>
>> Guys,
>>
>> I want to discuss the subject again. It is pretty vivid that having wide
>> set of local unit and simple integration tests most likely help to avoid
>> many failures and bugs when going to server environment.
>>
>> I participated in many POC and I can say for sure - if developers are not
>> implementing local tests then their application is broken. This is true for
>> the entire industry. Why does anyone think that Ignite and distributed
>> systems in general are exceptions here? Complexity added by distributed
>> nature probably needs local tests even more.
>>
>> So, what Ignite already offers here and what can be done further?
>>
>> 1. Ignite offers ability to emulate cluster and even many cluster in a
>> single VM. Let's create a page on readme.io explaining how to start
>> topologies in a single VM and provide couple examples of unit tests for
>> cache operations and, for example, queries. Denis Magda, can you help?
>> (Yes, we don't have the page explaining how to test Ignite locally!)
>>
>> 2. Ignite has a large and rich set of tests in its code base. We can
>> provide the link on the page at p1.
>>
>> 3. Let's create maven archetype for Ignite. So, executing the command [1]
>> will bring me inited project with valid poms, sample batch scripts, sample
>> Ignite configs, sample logger configuration and test sources folder
>> containing several JUnits (!!).
>>
>> [1]  mvn archetype:generate \
>>           -DinteractiveMode=false \
>>           -DarchetypeGroupId=org.apache.ignite \
>>           -DarchetypeArtifactId=ignite-app-archetype \
>>           -DgroupId=org.sample \
>>           -DartifactId=sampleapp \
>>           -Dversion=1.0
>>
>> Please share your thoughts and we can file tickets to start moving.
>>
>> --Yakov
>>
>>
>>
>


-- 
Sergey Kozlov
GridGain Systems
www.gridgain.com

Re: Testing Ignite Applications Locally

Posted by Yakov Zhdanov <yz...@apache.org>.
>As far as Maven archetype, Yakov, is the only purpose of it to load a
project, so users can add tests to it?

Yes, but not just add. We will also be providing test examples, data
loading application sample, shell scripts, etc. This can be pretty handy
thing to create project with all dependencies initialized and useful stuff.

--Yakov

Re: Testing Ignite Applications Locally

Posted by Dmitriy Setrakyan <ds...@apache.org>.
Love the idea. Let's add Testing Ignite Apps page on Readme. Denis, I don't
think we need many snippets, just a few.

As far as Maven archetype, Yakov, is the only purpose of it to load a
project, so users can add tests to it?

D.

On Fri, Aug 25, 2017 at 8:51 AM, Denis Magda <dm...@apache.org> wrote:

> Yasha,
>
> Sure, I’ll help from the documentation point but will need raw material
> from you, guys - test snippets, essential configuration parameters, etc.
>
> —
> Denis
>
> On Aug 25, 2017, at 8:30 AM, Yakov Zhdanov <yz...@apache.org> wrote:
>
> Guys,
>
> I want to discuss the subject again. It is pretty vivid that having wide
> set of local unit and simple integration tests most likely help to avoid
> many failures and bugs when going to server environment.
>
> I participated in many POC and I can say for sure - if developers are not
> implementing local tests then their application is broken. This is true for
> the entire industry. Why does anyone think that Ignite and distributed
> systems in general are exceptions here? Complexity added by distributed
> nature probably needs local tests even more.
>
> So, what Ignite already offers here and what can be done further?
>
> 1. Ignite offers ability to emulate cluster and even many cluster in a
> single VM. Let's create a page on readme.io explaining how to start
> topologies in a single VM and provide couple examples of unit tests for
> cache operations and, for example, queries. Denis Magda, can you help?
> (Yes, we don't have the page explaining how to test Ignite locally!)
>
> 2. Ignite has a large and rich set of tests in its code base. We can
> provide the link on the page at p1.
>
> 3. Let's create maven archetype for Ignite. So, executing the command [1]
> will bring me inited project with valid poms, sample batch scripts, sample
> Ignite configs, sample logger configuration and test sources folder
> containing several JUnits (!!).
>
> [1]  mvn archetype:generate \
>           -DinteractiveMode=false \
>           -DarchetypeGroupId=org.apache.ignite \
>           -DarchetypeArtifactId=ignite-app-archetype \
>           -DgroupId=org.sample \
>           -DartifactId=sampleapp \
>           -Dversion=1.0
>
> Please share your thoughts and we can file tickets to start moving.
>
> --Yakov
>
>
>

Re: Testing Ignite Applications Locally

Posted by Dmitriy Setrakyan <ds...@apache.org>.
Love the idea. Let's add Testing Ignite Apps page on Readme. Denis, I don't
think we need many snippets, just a few.

As far as Maven archetype, Yakov, is the only purpose of it to load a
project, so users can add tests to it?

D.

On Fri, Aug 25, 2017 at 8:51 AM, Denis Magda <dm...@apache.org> wrote:

> Yasha,
>
> Sure, I’ll help from the documentation point but will need raw material
> from you, guys - test snippets, essential configuration parameters, etc.
>
> —
> Denis
>
> On Aug 25, 2017, at 8:30 AM, Yakov Zhdanov <yz...@apache.org> wrote:
>
> Guys,
>
> I want to discuss the subject again. It is pretty vivid that having wide
> set of local unit and simple integration tests most likely help to avoid
> many failures and bugs when going to server environment.
>
> I participated in many POC and I can say for sure - if developers are not
> implementing local tests then their application is broken. This is true for
> the entire industry. Why does anyone think that Ignite and distributed
> systems in general are exceptions here? Complexity added by distributed
> nature probably needs local tests even more.
>
> So, what Ignite already offers here and what can be done further?
>
> 1. Ignite offers ability to emulate cluster and even many cluster in a
> single VM. Let's create a page on readme.io explaining how to start
> topologies in a single VM and provide couple examples of unit tests for
> cache operations and, for example, queries. Denis Magda, can you help?
> (Yes, we don't have the page explaining how to test Ignite locally!)
>
> 2. Ignite has a large and rich set of tests in its code base. We can
> provide the link on the page at p1.
>
> 3. Let's create maven archetype for Ignite. So, executing the command [1]
> will bring me inited project with valid poms, sample batch scripts, sample
> Ignite configs, sample logger configuration and test sources folder
> containing several JUnits (!!).
>
> [1]  mvn archetype:generate \
>           -DinteractiveMode=false \
>           -DarchetypeGroupId=org.apache.ignite \
>           -DarchetypeArtifactId=ignite-app-archetype \
>           -DgroupId=org.sample \
>           -DartifactId=sampleapp \
>           -Dversion=1.0
>
> Please share your thoughts and we can file tickets to start moving.
>
> --Yakov
>
>
>

Re: Testing Ignite Applications Locally

Posted by Denis Magda <dm...@apache.org>.
Yasha, 

Sure, I’ll help from the documentation point but will need raw material from you, guys - test snippets, essential configuration parameters, etc.

—
Denis

> On Aug 25, 2017, at 8:30 AM, Yakov Zhdanov <yz...@apache.org> wrote:
> 
> Guys,
> 
> I want to discuss the subject again. It is pretty vivid that having wide set of local unit and simple integration tests most likely help to avoid many failures and bugs when going to server environment.
> 
> I participated in many POC and I can say for sure - if developers are not implementing local tests then their application is broken. This is true for the entire industry. Why does anyone think that Ignite and distributed systems in general are exceptions here? Complexity added by distributed nature probably needs local tests even more.
> 
> So, what Ignite already offers here and what can be done further?
> 
> 1. Ignite offers ability to emulate cluster and even many cluster in a single VM. Let's create a page on readme.io <http://readme.io/> explaining how to start topologies in a single VM and provide couple examples of unit tests for cache operations and, for example, queries. Denis Magda, can you help? (Yes, we don't have the page explaining how to test Ignite locally!)
> 
> 2. Ignite has a large and rich set of tests in its code base. We can provide the link on the page at p1.
> 
> 3. Let's create maven archetype for Ignite. So, executing the command [1] will bring me inited project with valid poms, sample batch scripts, sample Ignite configs, sample logger configuration and test sources folder containing several JUnits (!!).
> 
> [1]  mvn archetype:generate \
>           -DinteractiveMode=false \
>           -DarchetypeGroupId=org.apache.ignite \
>           -DarchetypeArtifactId=ignite-app-archetype \
>           -DgroupId=org.sample \
>           -DartifactId=sampleapp \
>           -Dversion=1.0
> 
> Please share your thoughts and we can file tickets to start moving.
> 
> --Yakov


Re: Testing Ignite Applications Locally

Posted by Denis Magda <dm...@apache.org>.
Yasha, 

Sure, I’ll help from the documentation point but will need raw material from you, guys - test snippets, essential configuration parameters, etc.

—
Denis

> On Aug 25, 2017, at 8:30 AM, Yakov Zhdanov <yz...@apache.org> wrote:
> 
> Guys,
> 
> I want to discuss the subject again. It is pretty vivid that having wide set of local unit and simple integration tests most likely help to avoid many failures and bugs when going to server environment.
> 
> I participated in many POC and I can say for sure - if developers are not implementing local tests then their application is broken. This is true for the entire industry. Why does anyone think that Ignite and distributed systems in general are exceptions here? Complexity added by distributed nature probably needs local tests even more.
> 
> So, what Ignite already offers here and what can be done further?
> 
> 1. Ignite offers ability to emulate cluster and even many cluster in a single VM. Let's create a page on readme.io <http://readme.io/> explaining how to start topologies in a single VM and provide couple examples of unit tests for cache operations and, for example, queries. Denis Magda, can you help? (Yes, we don't have the page explaining how to test Ignite locally!)
> 
> 2. Ignite has a large and rich set of tests in its code base. We can provide the link on the page at p1.
> 
> 3. Let's create maven archetype for Ignite. So, executing the command [1] will bring me inited project with valid poms, sample batch scripts, sample Ignite configs, sample logger configuration and test sources folder containing several JUnits (!!).
> 
> [1]  mvn archetype:generate \
>           -DinteractiveMode=false \
>           -DarchetypeGroupId=org.apache.ignite \
>           -DarchetypeArtifactId=ignite-app-archetype \
>           -DgroupId=org.sample \
>           -DartifactId=sampleapp \
>           -Dversion=1.0
> 
> Please share your thoughts and we can file tickets to start moving.
> 
> --Yakov