You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ignite.apache.org by Denis Mekhanikov <dm...@gmail.com> on 2019/02/19 16:38:15 UTC

UriDeploymentSpi and GAR files

Hi!

There is a feature in Ignite called DeploymentSpi [1], that allows adding
and changing implementation of compute tasks without nodes' downtime.
The only usable implementation right now is UriDeploymentSpi [2], which
lets you provide classes of compute tasks packaged as an archive of a
special form. And this special form is the worst part.
GAR file is just like a JAR, but with some additional meta info. It may
contain an XML with description of tasks, a checksum and also dependencies.

We barely have any tools to build these files, and they can be replaced
with simple uber-JARs.
The only tool we have right now is IgniteDeploymentGarAntTask, which is not
documented anywhere, and it's supposed to be used from a long-forgotten
Apache Ant build system.

I don't think we need this file format. How about we deprecate and remove
it and make UriDeploymentSpi support plain JARs?

[1] https://apacheignite.readme.io/docs/deployment-spi
[2]
https://ignite.apache.org/releases/latest/javadoc/org/apache/ignite/spi/deployment/uri/UriDeploymentSpi.html

Denis

Re: UriDeploymentSpi and GAR files

Posted by Ilya Kasnacheev <il...@gmail.com>.
Hello!

This looked sensible to me so I went forward and merged this change.

Regards,
-- 
Ilya Kasnacheev


пн, 25 мар. 2019 г. в 17:59, Denis Mekhanikov <dm...@gmail.com>:

> Folks,
>
> I prepared a patch for the second ticket:
> https://github.com/apache/ignite/pull/6177
> Ilya is concerned, that if you had some JAR files, lying next to your GARs
> in a repository, which is referred to over UriDeploymentSpi, then these
> JARs will now be loaded as well. So, this is a behaviour change.
> I don't think, that this is really a problem. I don't see a simple solution
> to this, that wouldn't require an API change. And a complex change would be
> an overkill here.
> Loading what's located in the repository is pretty natural, so you
> shouldn't be surprised, when JARs start loading after an Ignite version
> upgrade.
>
> What do you think?
>
> Denis
>
> чт, 21 февр. 2019 г. в 17:48, Denis Mekhanikov <dm...@gmail.com>:
>
> > I created the following tickets:
> >
> > https://issues.apache.org/jira/browse/IGNITE-11379 – drop support of
> GARs
> > https://issues.apache.org/jira/browse/IGNITE-11380 – support JARs
> > https://issues.apache.org/jira/browse/IGNITE-11381 – document ignite.xml
> > file format.
> >
> > Denis
> >
> > ср, 20 февр. 2019 г. в 12:30, Nikolay Izhikov <ni...@apache.org>:
> >
> >> Hello, Denis.
> >>
> >> > This XML may contain task descriptors, but I couldn't find any
> >> documentation on this format.
> >> > This information can be provided in simple JAR files with the same
> file
> >> structure.
> >>
> >> I support you proposal. Let's:
> >>
> >> 1. Support jar files instead of gar.
> >> 2. Write down documentation about XML config format.
> >> 3. Provide some examples.
> >>
> >> Can you crate a tickets for it?
> >>
> >>
> >> ср, 20 февр. 2019 г. в 11:49, Denis Mekhanikov <dm...@gmail.com>:
> >>
> >> > Denis,
> >> >
> >> > This XML may contain task descriptors, but I couldn't find any
> >> > documentation on this format.
> >> > Also it may contain a userVersion [1] parameter, which can be used to
> >> force
> >> > tasks redeployment in some cases.
> >> >
> >> > This information can be provided in simple JAR files with the same
> file
> >> > structure.
> >> > There is no need to confuse people and require their packages to have
> a
> >> GAR
> >> > extension.
> >> >
> >> > Also if you don't specify the task descriptors, then all tasks in the
> >> file
> >> > will be registered.
> >> > So, I doubt, that anybody will bother specifying the descriptors. XML
> is
> >> > not very user-friendly.
> >> > This piece of configuration doesn't seem necessary to me.
> >> >
> >> > [1]
> >> >
> >> >
> >>
> https://apacheignite.readme.io/docs/deployment-modes#section-un-deployment-and-user-versions
> >> >
> >> > Denis
> >> >
> >> > ср, 20 февр. 2019 г. в 01:35, Denis Magda <dm...@apache.org>:
> >> >
> >> > > Denis,
> >> > >
> >> > > What was the purpose of having XML and other files within the GARs?
> >> Guess
> >> > > it was somehow versioning related - you might have several tasks of
> >> the
> >> > > same class but different versions running in a cluster.
> >> > >
> >> > > -
> >> > > Denis
> >> > >
> >> > >
> >> > > On Tue, Feb 19, 2019 at 8:40 AM Ilya Kasnacheev <
> >> > ilya.kasnacheev@gmail.com
> >> > > >
> >> > > wrote:
> >> > >
> >> > > > Hello!
> >> > > >
> >> > > > Yes, I think we should accept plain JARs if anybody needs this at
> >> all.
> >> > > > Might still keep meta info support for compatibility.
> >> > > >
> >> > > > Regards,
> >> > > > --
> >> > > > Ilya Kasnacheev
> >> > > >
> >> > > >
> >> > > > вт, 19 февр. 2019 г. в 19:38, Denis Mekhanikov <
> >> dmekhanikov@gmail.com
> >> > >:
> >> > > >
> >> > > > > Hi!
> >> > > > >
> >> > > > > There is a feature in Ignite called DeploymentSpi [1], that
> allows
> >> > > adding
> >> > > > > and changing implementation of compute tasks without nodes'
> >> downtime.
> >> > > > > The only usable implementation right now is UriDeploymentSpi
> [2],
> >> > which
> >> > > > > lets you provide classes of compute tasks packaged as an archive
> >> of a
> >> > > > > special form. And this special form is the worst part.
> >> > > > > GAR file is just like a JAR, but with some additional meta info.
> >> It
> >> > may
> >> > > > > contain an XML with description of tasks, a checksum and also
> >> > > > dependencies.
> >> > > > >
> >> > > > > We barely have any tools to build these files, and they can be
> >> > replaced
> >> > > > > with simple uber-JARs.
> >> > > > > The only tool we have right now is IgniteDeploymentGarAntTask,
> >> which
> >> > is
> >> > > > not
> >> > > > > documented anywhere, and it's supposed to be used from a
> >> > long-forgotten
> >> > > > > Apache Ant build system.
> >> > > > >
> >> > > > > I don't think we need this file format. How about we deprecate
> and
> >> > > remove
> >> > > > > it and make UriDeploymentSpi support plain JARs?
> >> > > > >
> >> > > > > [1] https://apacheignite.readme.io/docs/deployment-spi
> >> > > > > [2]
> >> > > > >
> >> > > > >
> >> > > >
> >> > >
> >> >
> >>
> https://ignite.apache.org/releases/latest/javadoc/org/apache/ignite/spi/deployment/uri/UriDeploymentSpi.html
> >> > > > >
> >> > > > > Denis
> >> > > > >
> >> > > >
> >> > >
> >> >
> >>
> >
>

Re: UriDeploymentSpi and GAR files

Posted by Denis Mekhanikov <dm...@gmail.com>.
Folks,

I prepared a patch for the second ticket:
https://github.com/apache/ignite/pull/6177
Ilya is concerned, that if you had some JAR files, lying next to your GARs
in a repository, which is referred to over UriDeploymentSpi, then these
JARs will now be loaded as well. So, this is a behaviour change.
I don't think, that this is really a problem. I don't see a simple solution
to this, that wouldn't require an API change. And a complex change would be
an overkill here.
Loading what's located in the repository is pretty natural, so you
shouldn't be surprised, when JARs start loading after an Ignite version
upgrade.

What do you think?

Denis

чт, 21 февр. 2019 г. в 17:48, Denis Mekhanikov <dm...@gmail.com>:

> I created the following tickets:
>
> https://issues.apache.org/jira/browse/IGNITE-11379 – drop support of GARs
> https://issues.apache.org/jira/browse/IGNITE-11380 – support JARs
> https://issues.apache.org/jira/browse/IGNITE-11381 – document ignite.xml
> file format.
>
> Denis
>
> ср, 20 февр. 2019 г. в 12:30, Nikolay Izhikov <ni...@apache.org>:
>
>> Hello, Denis.
>>
>> > This XML may contain task descriptors, but I couldn't find any
>> documentation on this format.
>> > This information can be provided in simple JAR files with the same file
>> structure.
>>
>> I support you proposal. Let's:
>>
>> 1. Support jar files instead of gar.
>> 2. Write down documentation about XML config format.
>> 3. Provide some examples.
>>
>> Can you crate a tickets for it?
>>
>>
>> ср, 20 февр. 2019 г. в 11:49, Denis Mekhanikov <dm...@gmail.com>:
>>
>> > Denis,
>> >
>> > This XML may contain task descriptors, but I couldn't find any
>> > documentation on this format.
>> > Also it may contain a userVersion [1] parameter, which can be used to
>> force
>> > tasks redeployment in some cases.
>> >
>> > This information can be provided in simple JAR files with the same file
>> > structure.
>> > There is no need to confuse people and require their packages to have a
>> GAR
>> > extension.
>> >
>> > Also if you don't specify the task descriptors, then all tasks in the
>> file
>> > will be registered.
>> > So, I doubt, that anybody will bother specifying the descriptors. XML is
>> > not very user-friendly.
>> > This piece of configuration doesn't seem necessary to me.
>> >
>> > [1]
>> >
>> >
>> https://apacheignite.readme.io/docs/deployment-modes#section-un-deployment-and-user-versions
>> >
>> > Denis
>> >
>> > ср, 20 февр. 2019 г. в 01:35, Denis Magda <dm...@apache.org>:
>> >
>> > > Denis,
>> > >
>> > > What was the purpose of having XML and other files within the GARs?
>> Guess
>> > > it was somehow versioning related - you might have several tasks of
>> the
>> > > same class but different versions running in a cluster.
>> > >
>> > > -
>> > > Denis
>> > >
>> > >
>> > > On Tue, Feb 19, 2019 at 8:40 AM Ilya Kasnacheev <
>> > ilya.kasnacheev@gmail.com
>> > > >
>> > > wrote:
>> > >
>> > > > Hello!
>> > > >
>> > > > Yes, I think we should accept plain JARs if anybody needs this at
>> all.
>> > > > Might still keep meta info support for compatibility.
>> > > >
>> > > > Regards,
>> > > > --
>> > > > Ilya Kasnacheev
>> > > >
>> > > >
>> > > > вт, 19 февр. 2019 г. в 19:38, Denis Mekhanikov <
>> dmekhanikov@gmail.com
>> > >:
>> > > >
>> > > > > Hi!
>> > > > >
>> > > > > There is a feature in Ignite called DeploymentSpi [1], that allows
>> > > adding
>> > > > > and changing implementation of compute tasks without nodes'
>> downtime.
>> > > > > The only usable implementation right now is UriDeploymentSpi [2],
>> > which
>> > > > > lets you provide classes of compute tasks packaged as an archive
>> of a
>> > > > > special form. And this special form is the worst part.
>> > > > > GAR file is just like a JAR, but with some additional meta info.
>> It
>> > may
>> > > > > contain an XML with description of tasks, a checksum and also
>> > > > dependencies.
>> > > > >
>> > > > > We barely have any tools to build these files, and they can be
>> > replaced
>> > > > > with simple uber-JARs.
>> > > > > The only tool we have right now is IgniteDeploymentGarAntTask,
>> which
>> > is
>> > > > not
>> > > > > documented anywhere, and it's supposed to be used from a
>> > long-forgotten
>> > > > > Apache Ant build system.
>> > > > >
>> > > > > I don't think we need this file format. How about we deprecate and
>> > > remove
>> > > > > it and make UriDeploymentSpi support plain JARs?
>> > > > >
>> > > > > [1] https://apacheignite.readme.io/docs/deployment-spi
>> > > > > [2]
>> > > > >
>> > > > >
>> > > >
>> > >
>> >
>> https://ignite.apache.org/releases/latest/javadoc/org/apache/ignite/spi/deployment/uri/UriDeploymentSpi.html
>> > > > >
>> > > > > Denis
>> > > > >
>> > > >
>> > >
>> >
>>
>

Re: UriDeploymentSpi and GAR files

Posted by Denis Mekhanikov <dm...@gmail.com>.
I created the following tickets:

https://issues.apache.org/jira/browse/IGNITE-11379 – drop support of GARs
https://issues.apache.org/jira/browse/IGNITE-11380 – support JARs
https://issues.apache.org/jira/browse/IGNITE-11381 – document ignite.xml
file format.

Denis

ср, 20 февр. 2019 г. в 12:30, Nikolay Izhikov <ni...@apache.org>:

> Hello, Denis.
>
> > This XML may contain task descriptors, but I couldn't find any
> documentation on this format.
> > This information can be provided in simple JAR files with the same file
> structure.
>
> I support you proposal. Let's:
>
> 1. Support jar files instead of gar.
> 2. Write down documentation about XML config format.
> 3. Provide some examples.
>
> Can you crate a tickets for it?
>
>
> ср, 20 февр. 2019 г. в 11:49, Denis Mekhanikov <dm...@gmail.com>:
>
> > Denis,
> >
> > This XML may contain task descriptors, but I couldn't find any
> > documentation on this format.
> > Also it may contain a userVersion [1] parameter, which can be used to
> force
> > tasks redeployment in some cases.
> >
> > This information can be provided in simple JAR files with the same file
> > structure.
> > There is no need to confuse people and require their packages to have a
> GAR
> > extension.
> >
> > Also if you don't specify the task descriptors, then all tasks in the
> file
> > will be registered.
> > So, I doubt, that anybody will bother specifying the descriptors. XML is
> > not very user-friendly.
> > This piece of configuration doesn't seem necessary to me.
> >
> > [1]
> >
> >
> https://apacheignite.readme.io/docs/deployment-modes#section-un-deployment-and-user-versions
> >
> > Denis
> >
> > ср, 20 февр. 2019 г. в 01:35, Denis Magda <dm...@apache.org>:
> >
> > > Denis,
> > >
> > > What was the purpose of having XML and other files within the GARs?
> Guess
> > > it was somehow versioning related - you might have several tasks of the
> > > same class but different versions running in a cluster.
> > >
> > > -
> > > Denis
> > >
> > >
> > > On Tue, Feb 19, 2019 at 8:40 AM Ilya Kasnacheev <
> > ilya.kasnacheev@gmail.com
> > > >
> > > wrote:
> > >
> > > > Hello!
> > > >
> > > > Yes, I think we should accept plain JARs if anybody needs this at
> all.
> > > > Might still keep meta info support for compatibility.
> > > >
> > > > Regards,
> > > > --
> > > > Ilya Kasnacheev
> > > >
> > > >
> > > > вт, 19 февр. 2019 г. в 19:38, Denis Mekhanikov <
> dmekhanikov@gmail.com
> > >:
> > > >
> > > > > Hi!
> > > > >
> > > > > There is a feature in Ignite called DeploymentSpi [1], that allows
> > > adding
> > > > > and changing implementation of compute tasks without nodes'
> downtime.
> > > > > The only usable implementation right now is UriDeploymentSpi [2],
> > which
> > > > > lets you provide classes of compute tasks packaged as an archive
> of a
> > > > > special form. And this special form is the worst part.
> > > > > GAR file is just like a JAR, but with some additional meta info. It
> > may
> > > > > contain an XML with description of tasks, a checksum and also
> > > > dependencies.
> > > > >
> > > > > We barely have any tools to build these files, and they can be
> > replaced
> > > > > with simple uber-JARs.
> > > > > The only tool we have right now is IgniteDeploymentGarAntTask,
> which
> > is
> > > > not
> > > > > documented anywhere, and it's supposed to be used from a
> > long-forgotten
> > > > > Apache Ant build system.
> > > > >
> > > > > I don't think we need this file format. How about we deprecate and
> > > remove
> > > > > it and make UriDeploymentSpi support plain JARs?
> > > > >
> > > > > [1] https://apacheignite.readme.io/docs/deployment-spi
> > > > > [2]
> > > > >
> > > > >
> > > >
> > >
> >
> https://ignite.apache.org/releases/latest/javadoc/org/apache/ignite/spi/deployment/uri/UriDeploymentSpi.html
> > > > >
> > > > > Denis
> > > > >
> > > >
> > >
> >
>

Re: UriDeploymentSpi and GAR files

Posted by Nikolay Izhikov <ni...@apache.org>.
Hello, Denis.

> This XML may contain task descriptors, but I couldn't find any
documentation on this format.
> This information can be provided in simple JAR files with the same file
structure.

I support you proposal. Let's:

1. Support jar files instead of gar.
2. Write down documentation about XML config format.
3. Provide some examples.

Can you crate a tickets for it?


ср, 20 февр. 2019 г. в 11:49, Denis Mekhanikov <dm...@gmail.com>:

> Denis,
>
> This XML may contain task descriptors, but I couldn't find any
> documentation on this format.
> Also it may contain a userVersion [1] parameter, which can be used to force
> tasks redeployment in some cases.
>
> This information can be provided in simple JAR files with the same file
> structure.
> There is no need to confuse people and require their packages to have a GAR
> extension.
>
> Also if you don't specify the task descriptors, then all tasks in the file
> will be registered.
> So, I doubt, that anybody will bother specifying the descriptors. XML is
> not very user-friendly.
> This piece of configuration doesn't seem necessary to me.
>
> [1]
>
> https://apacheignite.readme.io/docs/deployment-modes#section-un-deployment-and-user-versions
>
> Denis
>
> ср, 20 февр. 2019 г. в 01:35, Denis Magda <dm...@apache.org>:
>
> > Denis,
> >
> > What was the purpose of having XML and other files within the GARs? Guess
> > it was somehow versioning related - you might have several tasks of the
> > same class but different versions running in a cluster.
> >
> > -
> > Denis
> >
> >
> > On Tue, Feb 19, 2019 at 8:40 AM Ilya Kasnacheev <
> ilya.kasnacheev@gmail.com
> > >
> > wrote:
> >
> > > Hello!
> > >
> > > Yes, I think we should accept plain JARs if anybody needs this at all.
> > > Might still keep meta info support for compatibility.
> > >
> > > Regards,
> > > --
> > > Ilya Kasnacheev
> > >
> > >
> > > вт, 19 февр. 2019 г. в 19:38, Denis Mekhanikov <dmekhanikov@gmail.com
> >:
> > >
> > > > Hi!
> > > >
> > > > There is a feature in Ignite called DeploymentSpi [1], that allows
> > adding
> > > > and changing implementation of compute tasks without nodes' downtime.
> > > > The only usable implementation right now is UriDeploymentSpi [2],
> which
> > > > lets you provide classes of compute tasks packaged as an archive of a
> > > > special form. And this special form is the worst part.
> > > > GAR file is just like a JAR, but with some additional meta info. It
> may
> > > > contain an XML with description of tasks, a checksum and also
> > > dependencies.
> > > >
> > > > We barely have any tools to build these files, and they can be
> replaced
> > > > with simple uber-JARs.
> > > > The only tool we have right now is IgniteDeploymentGarAntTask, which
> is
> > > not
> > > > documented anywhere, and it's supposed to be used from a
> long-forgotten
> > > > Apache Ant build system.
> > > >
> > > > I don't think we need this file format. How about we deprecate and
> > remove
> > > > it and make UriDeploymentSpi support plain JARs?
> > > >
> > > > [1] https://apacheignite.readme.io/docs/deployment-spi
> > > > [2]
> > > >
> > > >
> > >
> >
> https://ignite.apache.org/releases/latest/javadoc/org/apache/ignite/spi/deployment/uri/UriDeploymentSpi.html
> > > >
> > > > Denis
> > > >
> > >
> >
>

Re: UriDeploymentSpi and GAR files

Posted by Denis Mekhanikov <dm...@gmail.com>.
Denis,

This XML may contain task descriptors, but I couldn't find any
documentation on this format.
Also it may contain a userVersion [1] parameter, which can be used to force
tasks redeployment in some cases.

This information can be provided in simple JAR files with the same file
structure.
There is no need to confuse people and require their packages to have a GAR
extension.

Also if you don't specify the task descriptors, then all tasks in the file
will be registered.
So, I doubt, that anybody will bother specifying the descriptors. XML is
not very user-friendly.
This piece of configuration doesn't seem necessary to me.

[1]
https://apacheignite.readme.io/docs/deployment-modes#section-un-deployment-and-user-versions

Denis

ср, 20 февр. 2019 г. в 01:35, Denis Magda <dm...@apache.org>:

> Denis,
>
> What was the purpose of having XML and other files within the GARs? Guess
> it was somehow versioning related - you might have several tasks of the
> same class but different versions running in a cluster.
>
> -
> Denis
>
>
> On Tue, Feb 19, 2019 at 8:40 AM Ilya Kasnacheev <ilya.kasnacheev@gmail.com
> >
> wrote:
>
> > Hello!
> >
> > Yes, I think we should accept plain JARs if anybody needs this at all.
> > Might still keep meta info support for compatibility.
> >
> > Regards,
> > --
> > Ilya Kasnacheev
> >
> >
> > вт, 19 февр. 2019 г. в 19:38, Denis Mekhanikov <dm...@gmail.com>:
> >
> > > Hi!
> > >
> > > There is a feature in Ignite called DeploymentSpi [1], that allows
> adding
> > > and changing implementation of compute tasks without nodes' downtime.
> > > The only usable implementation right now is UriDeploymentSpi [2], which
> > > lets you provide classes of compute tasks packaged as an archive of a
> > > special form. And this special form is the worst part.
> > > GAR file is just like a JAR, but with some additional meta info. It may
> > > contain an XML with description of tasks, a checksum and also
> > dependencies.
> > >
> > > We barely have any tools to build these files, and they can be replaced
> > > with simple uber-JARs.
> > > The only tool we have right now is IgniteDeploymentGarAntTask, which is
> > not
> > > documented anywhere, and it's supposed to be used from a long-forgotten
> > > Apache Ant build system.
> > >
> > > I don't think we need this file format. How about we deprecate and
> remove
> > > it and make UriDeploymentSpi support plain JARs?
> > >
> > > [1] https://apacheignite.readme.io/docs/deployment-spi
> > > [2]
> > >
> > >
> >
> https://ignite.apache.org/releases/latest/javadoc/org/apache/ignite/spi/deployment/uri/UriDeploymentSpi.html
> > >
> > > Denis
> > >
> >
>

Re: UriDeploymentSpi and GAR files

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

What was the purpose of having XML and other files within the GARs? Guess
it was somehow versioning related - you might have several tasks of the
same class but different versions running in a cluster.

-
Denis


On Tue, Feb 19, 2019 at 8:40 AM Ilya Kasnacheev <il...@gmail.com>
wrote:

> Hello!
>
> Yes, I think we should accept plain JARs if anybody needs this at all.
> Might still keep meta info support for compatibility.
>
> Regards,
> --
> Ilya Kasnacheev
>
>
> вт, 19 февр. 2019 г. в 19:38, Denis Mekhanikov <dm...@gmail.com>:
>
> > Hi!
> >
> > There is a feature in Ignite called DeploymentSpi [1], that allows adding
> > and changing implementation of compute tasks without nodes' downtime.
> > The only usable implementation right now is UriDeploymentSpi [2], which
> > lets you provide classes of compute tasks packaged as an archive of a
> > special form. And this special form is the worst part.
> > GAR file is just like a JAR, but with some additional meta info. It may
> > contain an XML with description of tasks, a checksum and also
> dependencies.
> >
> > We barely have any tools to build these files, and they can be replaced
> > with simple uber-JARs.
> > The only tool we have right now is IgniteDeploymentGarAntTask, which is
> not
> > documented anywhere, and it's supposed to be used from a long-forgotten
> > Apache Ant build system.
> >
> > I don't think we need this file format. How about we deprecate and remove
> > it and make UriDeploymentSpi support plain JARs?
> >
> > [1] https://apacheignite.readme.io/docs/deployment-spi
> > [2]
> >
> >
> https://ignite.apache.org/releases/latest/javadoc/org/apache/ignite/spi/deployment/uri/UriDeploymentSpi.html
> >
> > Denis
> >
>

Re: UriDeploymentSpi and GAR files

Posted by Ilya Kasnacheev <il...@gmail.com>.
Hello!

Yes, I think we should accept plain JARs if anybody needs this at all.
Might still keep meta info support for compatibility.

Regards,
-- 
Ilya Kasnacheev


вт, 19 февр. 2019 г. в 19:38, Denis Mekhanikov <dm...@gmail.com>:

> Hi!
>
> There is a feature in Ignite called DeploymentSpi [1], that allows adding
> and changing implementation of compute tasks without nodes' downtime.
> The only usable implementation right now is UriDeploymentSpi [2], which
> lets you provide classes of compute tasks packaged as an archive of a
> special form. And this special form is the worst part.
> GAR file is just like a JAR, but with some additional meta info. It may
> contain an XML with description of tasks, a checksum and also dependencies.
>
> We barely have any tools to build these files, and they can be replaced
> with simple uber-JARs.
> The only tool we have right now is IgniteDeploymentGarAntTask, which is not
> documented anywhere, and it's supposed to be used from a long-forgotten
> Apache Ant build system.
>
> I don't think we need this file format. How about we deprecate and remove
> it and make UriDeploymentSpi support plain JARs?
>
> [1] https://apacheignite.readme.io/docs/deployment-spi
> [2]
>
> https://ignite.apache.org/releases/latest/javadoc/org/apache/ignite/spi/deployment/uri/UriDeploymentSpi.html
>
> Denis
>