[2.9.0]Entryprocessor cannot be hot deployed properly via UriDeploymentSpi

classic Classic list List threaded Threaded
8 messages Options
18624049226 18624049226
Reply | Threaded
Open this post in threaded view
|

[2.9.0]Entryprocessor cannot be hot deployed properly via UriDeploymentSpi

Hi community,

Entryprocessor cannot be hot deployed properly via UriDeploymentSpi,the
operation steps are as follows:

1.put jar in the specified folder of uriList;

2.Use example-deploy.xml,start two ignite nodes;

3.Use the DeployClient to deploy the service named "deployService";

4.Execute the test through ThickClientTest, and the result is correct;

5.Modify the code of DeployServiceImpl and DeployEntryProcessor, for
example, change "Hello" to "Hi", then repackage it and put it into the
specified folder of uriList;

6.Redeploy services by RedeployClient;

7.Execute the test again through ThickClientTest, and the result is
incorrect,we will find that if the Entryprocessor accessed by the
service is on another node, the Entryprocessor uses the old version of
the class definition.



ignite-deploy.zip (9K) Download Attachment
18624049226 18624049226
Reply | Threaded
Open this post in threaded view
|

Re: [2.9.0]Entryprocessor cannot be hot deployed properly via UriDeploymentSpi

Any further conclusions?

在 2020/11/6 上午11:00, 18624049226 写道:

> Hi community,
>
> Entryprocessor cannot be hot deployed properly via
> UriDeploymentSpi,the operation steps are as follows:
>
> 1.put jar in the specified folder of uriList;
>
> 2.Use example-deploy.xml,start two ignite nodes;
>
> 3.Use the DeployClient to deploy the service named "deployService";
>
> 4.Execute the test through ThickClientTest, and the result is correct;
>
> 5.Modify the code of DeployServiceImpl and DeployEntryProcessor, for
> example, change "Hello" to "Hi", then repackage it and put it into the
> specified folder of uriList;
>
> 6.Redeploy services by RedeployClient;
>
> 7.Execute the test again through ThickClientTest, and the result is
> incorrect,we will find that if the Entryprocessor accessed by the
> service is on another node, the Entryprocessor uses the old version of
> the class definition.
>
>

ilya.kasnacheev ilya.kasnacheev
Reply | Threaded
Open this post in threaded view
|

Re: [2.9.0]Entryprocessor cannot be hot deployed properly via UriDeploymentSpi

Hello!

Did that work under 2.8? Can you check

If it wasn't, then maybe it is not implemented in the first place. If it is a regression, we could try to address that.

Regards.
--
Ilya Kasnacheev


ср, 11 нояб. 2020 г. в 05:55, 18624049226 <[hidden email]>:
Any further conclusions?

在 2020/11/6 上午11:00, 18624049226 写道:
> Hi community,
>
> Entryprocessor cannot be hot deployed properly via
> UriDeploymentSpi,the operation steps are as follows:
>
> 1.put jar in the specified folder of uriList;
>
> 2.Use example-deploy.xml,start two ignite nodes;
>
> 3.Use the DeployClient to deploy the service named "deployService";
>
> 4.Execute the test through ThickClientTest, and the result is correct;
>
> 5.Modify the code of DeployServiceImpl and DeployEntryProcessor, for
> example, change "Hello" to "Hi", then repackage it and put it into the
> specified folder of uriList;
>
> 6.Redeploy services by RedeployClient;
>
> 7.Execute the test again through ThickClientTest, and the result is
> incorrect,we will find that if the Entryprocessor accessed by the
> service is on another node, the Entryprocessor uses the old version of
> the class definition.
>
>

18624049226 18624049226
Reply | Threaded
Open this post in threaded view
|

Re: [2.9.0]Entryprocessor cannot be hot deployed properly via UriDeploymentSpi

Hi Ilya,

This issue exists in both versions 2.8 and 2.8.1.

在 2020/11/11 下午10:05, Ilya Kasnacheev 写道:
Hello!

Did that work under 2.8? Can you check

If it wasn't, then maybe it is not implemented in the first place. If it is a regression, we could try to address that.

Regards.
--
Ilya Kasnacheev


ср, 11 нояб. 2020 г. в 05:55, 18624049226 <[hidden email]>:
Any further conclusions?

在 2020/11/6 上午11:00, 18624049226 写道:
> Hi community,
>
> Entryprocessor cannot be hot deployed properly via
> UriDeploymentSpi,the operation steps are as follows:
>
> 1.put jar in the specified folder of uriList;
>
> 2.Use example-deploy.xml,start two ignite nodes;
>
> 3.Use the DeployClient to deploy the service named "deployService";
>
> 4.Execute the test through ThickClientTest, and the result is correct;
>
> 5.Modify the code of DeployServiceImpl and DeployEntryProcessor, for
> example, change "Hello" to "Hi", then repackage it and put it into the
> specified folder of uriList;
>
> 6.Redeploy services by RedeployClient;
>
> 7.Execute the test again through ThickClientTest, and the result is
> incorrect,we will find that if the Entryprocessor accessed by the
> service is on another node, the Entryprocessor uses the old version of
> the class definition.
>
>

ilya.kasnacheev ilya.kasnacheev
Reply | Threaded
Open this post in threaded view
|

Re: [2.9.0]Entryprocessor cannot be hot deployed properly via UriDeploymentSpi

Hello!

Did you try changing user version between deployments?


Regards,
--
Ilya Kasnacheev


чт, 12 нояб. 2020 г. в 12:07, 18624049226 <[hidden email]>:

Hi Ilya,

This issue exists in both versions 2.8 and 2.8.1.

在 2020/11/11 下午10:05, Ilya Kasnacheev 写道:
Hello!

Did that work under 2.8? Can you check

If it wasn't, then maybe it is not implemented in the first place. If it is a regression, we could try to address that.

Regards.
--
Ilya Kasnacheev


ср, 11 нояб. 2020 г. в 05:55, 18624049226 <[hidden email]>:
Any further conclusions?

在 2020/11/6 上午11:00, 18624049226 写道:
> Hi community,
>
> Entryprocessor cannot be hot deployed properly via
> UriDeploymentSpi,the operation steps are as follows:
>
> 1.put jar in the specified folder of uriList;
>
> 2.Use example-deploy.xml,start two ignite nodes;
>
> 3.Use the DeployClient to deploy the service named "deployService";
>
> 4.Execute the test through ThickClientTest, and the result is correct;
>
> 5.Modify the code of DeployServiceImpl and DeployEntryProcessor, for
> example, change "Hello" to "Hi", then repackage it and put it into the
> specified folder of uriList;
>
> 6.Redeploy services by RedeployClient;
>
> 7.Execute the test again through ThickClientTest, and the result is
> incorrect,we will find that if the Entryprocessor accessed by the
> service is on another node, the Entryprocessor uses the old version of
> the class definition.
>
>

18624049226 18624049226
Reply | Threaded
Open this post in threaded view
|

Re: [2.9.0]Entryprocessor cannot be hot deployed properly via UriDeploymentSpi

Hi Ilya,

Updating the user version does not affect this issue.

Adjusting the deploymentMode parameter also has no effect on this issue.

在 2020/11/12 下午7:39, Ilya Kasnacheev 写道:
Hello!

Did you try changing user version between deployments?


Regards,
--
Ilya Kasnacheev


чт, 12 нояб. 2020 г. в 12:07, 18624049226 <[hidden email]>:

Hi Ilya,

This issue exists in both versions 2.8 and 2.8.1.

在 2020/11/11 下午10:05, Ilya Kasnacheev 写道:
Hello!

Did that work under 2.8? Can you check

If it wasn't, then maybe it is not implemented in the first place. If it is a regression, we could try to address that.

Regards.
--
Ilya Kasnacheev


ср, 11 нояб. 2020 г. в 05:55, 18624049226 <[hidden email]>:
Any further conclusions?

在 2020/11/6 上午11:00, 18624049226 写道:
> Hi community,
>
> Entryprocessor cannot be hot deployed properly via
> UriDeploymentSpi,the operation steps are as follows:
>
> 1.put jar in the specified folder of uriList;
>
> 2.Use example-deploy.xml,start two ignite nodes;
>
> 3.Use the DeployClient to deploy the service named "deployService";
>
> 4.Execute the test through ThickClientTest, and the result is correct;
>
> 5.Modify the code of DeployServiceImpl and DeployEntryProcessor, for
> example, change "Hello" to "Hi", then repackage it and put it into the
> specified folder of uriList;
>
> 6.Redeploy services by RedeployClient;
>
> 7.Execute the test again through ThickClientTest, and the result is
> incorrect,we will find that if the Entryprocessor accessed by the
> service is on another node, the Entryprocessor uses the old version of
> the class definition.
>
>

ilya.kasnacheev ilya.kasnacheev
Reply | Threaded
Open this post in threaded view
|

Re: [2.9.0]Entryprocessor cannot be hot deployed properly via UriDeploymentSpi

Hello!

I suggest filing a feature request ticket against Apache Ignite JIRA. Best if you provide some reproducer project.


You can also try some hybrid approach, such as firing a compute task from the entry processor, that would be hot redeployed properly.

Regards,
--
Ilya Kasnacheev


чт, 12 нояб. 2020 г. в 15:46, 18624049226 <[hidden email]>:

Hi Ilya,

Updating the user version does not affect this issue.

Adjusting the deploymentMode parameter also has no effect on this issue.

在 2020/11/12 下午7:39, Ilya Kasnacheev 写道:
Hello!

Did you try changing user version between deployments?


Regards,
--
Ilya Kasnacheev


чт, 12 нояб. 2020 г. в 12:07, 18624049226 <[hidden email]>:

Hi Ilya,

This issue exists in both versions 2.8 and 2.8.1.

在 2020/11/11 下午10:05, Ilya Kasnacheev 写道:
Hello!

Did that work under 2.8? Can you check

If it wasn't, then maybe it is not implemented in the first place. If it is a regression, we could try to address that.

Regards.
--
Ilya Kasnacheev


ср, 11 нояб. 2020 г. в 05:55, 18624049226 <[hidden email]>:
Any further conclusions?

在 2020/11/6 上午11:00, 18624049226 写道:
> Hi community,
>
> Entryprocessor cannot be hot deployed properly via
> UriDeploymentSpi,the operation steps are as follows:
>
> 1.put jar in the specified folder of uriList;
>
> 2.Use example-deploy.xml,start two ignite nodes;
>
> 3.Use the DeployClient to deploy the service named "deployService";
>
> 4.Execute the test through ThickClientTest, and the result is correct;
>
> 5.Modify the code of DeployServiceImpl and DeployEntryProcessor, for
> example, change "Hello" to "Hi", then repackage it and put it into the
> specified folder of uriList;
>
> 6.Redeploy services by RedeployClient;
>
> 7.Execute the test again through ThickClientTest, and the result is
> incorrect,we will find that if the Entryprocessor accessed by the
> service is on another node, the Entryprocessor uses the old version of
> the class definition.
>
>

18624049226 18624049226
Reply | Threaded
Open this post in threaded view
|

Re: [2.9.0]Entryprocessor cannot be hot deployed properly via UriDeploymentSpi

Hi Ilya,

https://issues.apache.org/jira/browse/IGNITE-13679


在 2020/11/12 下午9:41, Ilya Kasnacheev 写道:
Hello!

I suggest filing a feature request ticket against Apache Ignite JIRA. Best if you provide some reproducer project.


You can also try some hybrid approach, such as firing a compute task from the entry processor, that would be hot redeployed properly.

Regards,
--
Ilya Kasnacheev


чт, 12 нояб. 2020 г. в 15:46, 18624049226 <[hidden email]>:

Hi Ilya,

Updating the user version does not affect this issue.

Adjusting the deploymentMode parameter also has no effect on this issue.

在 2020/11/12 下午7:39, Ilya Kasnacheev 写道:
Hello!

Did you try changing user version between deployments?


Regards,
--
Ilya Kasnacheev


чт, 12 нояб. 2020 г. в 12:07, 18624049226 <[hidden email]>:

Hi Ilya,

This issue exists in both versions 2.8 and 2.8.1.

在 2020/11/11 下午10:05, Ilya Kasnacheev 写道:
Hello!

Did that work under 2.8? Can you check

If it wasn't, then maybe it is not implemented in the first place. If it is a regression, we could try to address that.

Regards.
--
Ilya Kasnacheev


ср, 11 нояб. 2020 г. в 05:55, 18624049226 <[hidden email]>:
Any further conclusions?

在 2020/11/6 上午11:00, 18624049226 写道:
> Hi community,
>
> Entryprocessor cannot be hot deployed properly via
> UriDeploymentSpi,the operation steps are as follows:
>
> 1.put jar in the specified folder of uriList;
>
> 2.Use example-deploy.xml,start two ignite nodes;
>
> 3.Use the DeployClient to deploy the service named "deployService";
>
> 4.Execute the test through ThickClientTest, and the result is correct;
>
> 5.Modify the code of DeployServiceImpl and DeployEntryProcessor, for
> example, change "Hello" to "Hi", then repackage it and put it into the
> specified folder of uriList;
>
> 6.Redeploy services by RedeployClient;
>
> 7.Execute the test again through ThickClientTest, and the result is
> incorrect,we will find that if the Entryprocessor accessed by the
> service is on another node, the Entryprocessor uses the old version of
> the class definition.
>
>