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/09/16 10:09:20 UTC

[jira] [Updated] (IGNITE-3914) Hadoop: Move HadoopClassLoader to core module.

     [ https://issues.apache.org/jira/browse/IGNITE-3914?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Vladimir Ozerov updated IGNITE-3914:
------------------------------------
    Description: 
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}}.
5) As a last step - simply move {{HadoopClassLoader}} to the same package in {{core}} module as it doesn't have external dependencies any more.

  was:
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}}.


> 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}}.
> 5) As a last step - simply move {{HadoopClassLoader}} to the same package in {{core}} module as it doesn't have external dependencies any more.



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