[
https://issues.apache.org/jira/browse/CAMEL-7249?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13931564#comment-13931564
]
ASF GitHub Bot commented on CAMEL-7249:
---------------------------------------
GitHub user grgrzybek opened a pull request:
https://github.com/apache/camel/pull/110
[CAMEL-7249] camel-hdfs2 component
Finally I've managed to adapt camel-hdfs component to work with
hadoop-2.3.0 libraries.
Thanks to Jean-Baptiste Onofré for providing hadoop-client-2.3.0 OSGi
bundle. It'd be hard to use OSGi bundle per hadoop-*.jar artifact because of
split packages. So aggregate `hadoop-client` is ok.
Information:
* Generally camel-hdfs2 component is repackaged version of camel-hdfs
component with Maven dependencies switched to hadoop-common:2.3.0 and
hadoop-hdfs:2.3.0
* Some deprecated API usage was replaced by 2.3.0 equivalents
* This component works in OSGi environment (e.g., inside Apache Karaf) both
as classic bundle and blueprint definition
* There are some quirks related to OSGi:
* - Hadoop uses `java.util.ServiceLocator` to find filesystem
implementations, so some static code initialization must be performed to
replace this mechanism (works both in pure OSGi and Blueprint container)
* - `Import-Package` is not just a list generated by *maven-bundle-plugin*
- it must be adjusted to contain all packages reachable by reflection (e.g.
`org.apache.hadoop.hdfs*`)
* - I didn't touch some bundle versions in parent POM and instead I used
hardcoded versions for example in AVRO in
`platforms/karaf/features/src/main/resources/features.xml`, as the one used in
parent POM requires OSGi package `sun.misc`
* - I had to tweak `org.osgi.framework.system.packages.extra` property in
`camel-itest-osgi/**/itest/karaf/config.properties` to contain Xerces packages
* The documentation must be added for new component
You can merge this pull request into a Git repository by running:
$ git pull https://github.com/grgrzybek/camel CAMEL-7249
Alternatively you can review and apply these changes as the patch at:
https://github.com/apache/camel/pull/110.patch
To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:
This closes #110
----
commit af7661abb98b85658c35974bb914aae6602365a4
Author: Grzegorz Grzybek <[email protected]>
Date: 2014-03-10T14:05:43Z
[CAMEL-7249] Working version of camel-hdfs2 component
* All unit tests works fine.
* Usage of all deprecated APIs changed.
* hdfs://localhost tests work (@Ignored - they require external hdfs
system)
commit 0b9b3531e4a4bfe82492e3037eb36381ad0b1865
Author: Grzegorz Grzybek <[email protected]>
Date: 2014-03-11T18:29:30Z
[CAMEL-7249] Working OSGi tests for camel-hdfs2
There are some issues with this implementation:
* Import-Packages for `camel-hdfs2` are not just the ones generated by
maven-bundle plugin. They must contain some packages reachable only by
reflection (different FileSystem implementations)
* There is problem with using java.util.ServiceLoader inside OSGi and
Hadoop 2
uses ServiceLoader to discover different FileSystem implementations. For
OSGi
(especially blueprint container) we have to use a hack to populate STATIC
cache
* `camel-hdfs2` feature contains some hardcoded versions and for e.g., AVRO
a
downgraded one (1.7.5_1 requires `sun.misc` package - this changed however
since SMX4-1709)
* org.osgi.framework.system.packages.extra property in
camel-itest-osgi/**/itest/karaf/config.properties was added with xerces
packages
* documentation has to be added describing hadoop2 specific configuration
inside
OSGi - this changed since hadoop 1.2.1 (using java.util.ServiceLoader)
commit 2131dce4d8df10ec207d74f160e926dd74f068c5
Author: Grzegorz Grzybek <[email protected]>
Date: 2014-03-12T07:05:36Z
[CAMEL-7249] Working camel-itest-karaf for camel-hdfs2
commit cd101646c688206f73adac68352d14d264287b30
Author: Grzegorz Grzybek <[email protected]>
Date: 2014-03-12T08:54:29Z
[CAMEL-7249] Working blueprint tests
All itests now work both with LOCAL and HDFS filesystems
----
> Upgrade Camel-HDFS component to be compatible with Apache Hadoop 2.x
> --------------------------------------------------------------------
>
> Key: CAMEL-7249
> URL: https://issues.apache.org/jira/browse/CAMEL-7249
> Project: Camel
> Issue Type: New Feature
> Reporter: Grzegorz Grzybek
> Assignee: Grzegorz Grzybek
>
> Currently camel-hdfs depends on hadoop-core:1.2.1. Make (working name)
> {{camel-hdfs2}} component using newest (hadoop 2.3.0) libraries.
--
This message was sent by Atlassian JIRA
(v6.2#6252)