[
https://issues.apache.org/jira/browse/IGNITE-3580?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=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)