Vladimir Ozerov created IGNITE-3914:
---------------------------------------

             Summary: Hadoop: Move HadoopClassLoader to core module.
                 Key: IGNITE-3914
                 URL: https://issues.apache.org/jira/browse/IGNITE-3914
             Project: Ignite
          Issue Type: Sub-task
          Components: hadoop
    Affects Versions: 1.7
            Reporter: Vladimir Ozerov
            Assignee: Ivan Veselovsky
             Fix For: 1.8


Implementation plan:

1) We will use notion of "helper". See {{IgfsHelper}} interface as example to 
get used to existing code base.
2) {{HadoopClassLoaderUtils}} must be converted to an interface 
{{HadoopHelper}}. It will have 4 methods - current {{public static}} methods.
3) There will be two implementations - {{HadoopNoopHelper}} and 
{{HadoopHelperImpl}}. The first will be located in {{core}} module, the second 
one in {{hadoop}} module.
4) {{HadoopHelper}} is wired up with {{GridKernalContextImpl}} in the same way 
as it is done for {{IgfsHelper}}. The only difference is that we will 
instantiate {{HadoopHelperImpl}} if Hadoop module is in the classpath. See 
other components initialization logic for reference.
5) {{HadoopClassLoader}} will accept helper in constructor. This will require 
some refactoring to places where it is used (4 currently). The only problematic 
place is {{HadoopV2Job}}.



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

Reply via email to