DUE TO SPAM, SIGN-UP IS DISABLED. Goto Selfserve wiki signup and request an account.
DUE TO SPAM, SIGN-UP IS DISABLED. Goto Selfserve wiki signup and request an account.
...
| ID | IEP-144 | ||||||||
| Author | |||||||||
| Sponsor | |||||||||
| Created | 20.02.2026 | ||||||||
| Status |
|
| Table of Contents |
|---|
Ignite provide many ways to execute user provided code:
...
We must reinvent the way Ignite loads user classes to fill the gap.
It proposed to add new entity to Ignite - IgniteClassPath.
...
| Code Block |
|---|
$ ./control.sh --ignite-classpath create --name superapp_v1 --files ./my-app-v1.jar,./grpc-context-1.19.0.jar,./error_prone_annotations-2.1.3.jar $ ./control.sh --ignite-classpath remove --name superapp_v0 $ ./control.sh --system-view IGNITE_CLASSPATHES |
| Code Block |
|---|
Ignite ignite = ...
IgniteCompute compute = ignite.compute(ignite.cluster().forServers());
// Running compute with the provided jars.
compute.withClasspath("superapp_v1").() -> {
MyLibClass libClass = MyLibClass.getInstance();
// other code.
};
ServiceConfiguration serviceCfg = new ServiceConfiguration();
serviceCfg.setName("mysuperappService_v1");
serviceCfg.setService(new MySuperappServiceImpl());
serviceCfg.setIgniteClasspath("mysuperapp_v1");
ignite.services().deploy(serviceCfg); |
Provides a special tool - spark-submit to deploy and execute jobs inside cluster.
It supports --jars argument to list jar files required by job. (1)
J2EE spec itself provide a clear way to:
Provides an options to specify job classpath during starttime.
...
$ ./bin/flink run -C /path/to/dependency.jar -c com.example.MyJob my-flink-job.jar
We assume that p2p and deployment SPI will be removed from Ignite.
Users may want to recompile and refresh classes without changing (remove, create) existing IgniteClassPath during development or hotfix.
Currently, we don't have plans to support this kind of scenario.
We assume the following user scenarios:
With this approach, we can update applications without any outages.
// Links to discussions on the devlist, if applicable.
// Links or report with relevant JIRA tickets.