Re: UriDeploymentSpi and GAR files
Hello! This looked sensible to me so I went forward and merged this change. Regards, -- Ilya Kasnacheev пн, 25 мар. 2019 г. в 17:59, Denis Mekhanikov : > 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 : > > > 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 : > > > >> 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 : > >> > >> > 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 : > >> > > >> > > 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.kasnach...@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 < > >> dmekhani...@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] > >> > > > > > >> > > > > > >> > > > > >> > > > >> > > >> >
Re: UriDeploymentSpi and GAR files
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 : > 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 : > >> 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 : >> >> > 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 : >> > >> > > 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.kasnach...@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 < >> dmekhani...@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
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 : > 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 : > > > 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 : > > > > > 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.kasnach...@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 < > dmekhani...@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
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 : > 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 : > > > 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.kasnach...@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 >: > > > > > > > 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
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 : > 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 > > 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 : > > > > > 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
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 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 : > > > 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
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 : > 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 >
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