[ 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)