You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "Dmitriy Setrakyan (JIRA)" <ji...@apache.org> on 2018/04/04 19:16:00 UTC

[jira] [Commented] (IGNITE-6069) Service versioning

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

Dmitriy Setrakyan commented on IGNITE-6069:
-------------------------------------------

I do not think it makes sense to have multiple versions of service operate at the same time. 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 versions 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)