[ 
https://issues.apache.org/jira/browse/IGNITE-6069?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16426036#comment-16426036
 ] 

Dmitriy Setrakyan edited comment on IGNITE-6069 at 4/4/18 7:16 PM:
-------------------------------------------------------------------

I do not think it makes sense to have multiple versions of service co-exist in 
the same cluster. The right approach is to send all new requests to the new 
instance and undeploy the old service instance when it finished serving all 
existing requests.

This will create a small temporary window when the new and the old service 
instances are both active, but I think it is a correct approach from the user 
standpoint.

Also, it seems that services will have to be deployed within their own 
class-loader, to avoid class conflicts. We use a similar approach for the 
compute tasks, so we should just borrow from that implementation.


was (Author: dsetrakyan):
I do not think it makes sense to have multiple versions of service co-exist in 
the same cluster. The right approach is to send all new requests to the new 
instance and undeploy the old service instance when it finished serving all 
existing requests.

This will create a small temporary window when the new and the old service 
instances are both active, but I think it is a correct approach from the user 
standpoint.

Also, it seems that services will have to be deployed within their own 
class-loader, to avoid class conflicts. We use a similar approach for the 
compute tasks.

> Service versioning
> ------------------
>
>                 Key: IGNITE-6069
>                 URL: https://issues.apache.org/jira/browse/IGNITE-6069
>             Project: Ignite
>          Issue Type: New Feature
>          Components: general
>    Affects Versions: 2.1
>            Reporter: Ilya Lantukh
>            Assignee: Ilya Lantukh
>            Priority: Major
>
> Make services upgradable -again-. 
> Main points:
> - compute binary type ID by (classname + version)
> - use serialVersionUuid as version ( ?)
> - all service instances with the same name must have the same version
> - make ServiceProxy aware of versions and upgrade process, pause requests 
> while service is being upgraded
> - extend Service interface (UpgradableService?) - add ability to collect 
> state of previous version before start.
> Once the feature is implemented, it has to be documented extensively. The 
> ticket must not be closed until this happens.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to