You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "Vladimir Ozerov (JIRA)" <ji...@apache.org> on 2016/08/04 06:39:20 UTC

[jira] [Commented] (IGNITE-3580) IGFS: Allow IGFS tasks execution on machines where IGFS is not configured.

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

Vladimir Ozerov commented on IGNITE-3580:
-----------------------------------------

To achieve this we must do the following:
1) Complete IGNITE-3625 first. This way we will always be ready to derive meta and data cache names from IGFS name.

2) {{IgfsMetaManager}} and {{IgfsDataManager}} will become shared. That is, they must be placed directly into {{IgfsProcessor}}. Now they are placed inside {{IgfsContext}} (i.e. they belong to concrete IGFS instance for now).

3) We need to introduce some value object which will store the following data: kernal context, meta cache name, data cache name, client flag. E.g.:
{code}
class IgfsOperationContext {
    GridKernalContext ctx;
    String metaCacheName;
    String dataCacheName;
    boolean client;
}
{code}

4) This context will be passed to all {{IgfsDataManager}} and {{IgfsMetaManager}} operations.

5) Each {{IgfsImpl}} instance will create their own {{IgfsOperationContext}} on start. 

6) Each client operation will create this context when task is received on the server node as follows (pseudocode):
{code}
IgfsOperationContext createContext(GridKernalContext ctx, String igfsName) {
    String metaCacheName = IgfsUtils.metaCacheName(igfsName); // IGNITE-3625
    String dataCacheName = IgfsUtils.metaCacheName(igfsName); // IGNITE-3625
    boolean client = false; // Task are routed only to server nodes, so client flag is always false.

    return new IgfsOpeartionContext(ctx, metaCacheName, dataCacheName, client);
}
{code}


> IGFS: Allow IGFS tasks execution on machines where IGFS is not configured.
> --------------------------------------------------------------------------
>
>                 Key: IGNITE-3580
>                 URL: https://issues.apache.org/jira/browse/IGNITE-3580
>             Project: Ignite
>          Issue Type: Task
>          Components: IGFS
>    Affects Versions: 1.6
>            Reporter: Vladimir Ozerov
>            Assignee: Taras Ledkov
>            Priority: Critical
>             Fix For: 1.8
>
>
> Currently user has to configure IGFS on all nodes where data and meta caches reside. Otherwise, he will not be able to execute metadata and data updates on these machines.
> This requirement is synthetic. No reason to force user doing this. Instead, all required tasks can be executed on data nodes without IGFS started on them. Need to refactor IGFS to allow this.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)