You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@hbase.apache.org by Talat Uyarer <ta...@uyarer.com> on 2015/01/05 21:48:35 UTC

Hbase-client's dependecies can not be resolved correctly by IVY

When I added hbase-client as a dependency in Nutch's ivy.xml.

<dependency org="org.apache.hbase" name="hbase-client"
rev="0.98.8-hadoop2" conf="*->default">

Ivy can not resolve hbase-common and hbase-annotations in compile
scope rather than hbase-protocol. It sees these dependencies in test
scope and map to runtime and master scope. they looks like below in
hbase-client resolved
~/.ivy2/cache/org.apache.hbase/hbase-client/ivy-0.98.8-hadoop2.xml
file :

<dependency org="org.apache.hbase" name="hbase-annotations"
rev="0.98.8-hadoop2" force="true" conf="test->runtime(*),master(*)"/>
<dependency org="org.apache.hbase" name="hbase-annotations"
rev="0.98.8-hadoop2" force="true" conf="test->runtime(*),master(*)">
  <artifact name="hbase-annotations" type="test-jar" ext="jar" conf=""
m:classifier="tests"/>
</dependency>
<dependency org="org.apache.hbase" name="hbase-common"
rev="0.98.8-hadoop2" force="true" conf="test->runtime(*),master(*)"/>
<dependency org="org.apache.hbase" name="hbase-common"
rev="0.98.8-hadoop2" force="true" conf="test->runtime(*),master(*)">
  <artifact name="hbase-common" type="test-jar" ext="jar" conf=""
m:classifier="tests"/>
</dependency>
<dependency org="org.apache.hbase" name="hbase-protocol"
rev="0.98.8-hadoop2" force="true"
conf="compile->compile(*),master(*);runtime->runtime(*)"/>

Not only Hbase-client. Other Hbase modules have same problem. Do you
have any idea ?

Talat

Re: Hbase-client's dependecies can not be resolved correctly by IVY

Posted by Ted Yu <yu...@gmail.com>.
I cloned your repo and made this change:

diff --git a/ivy/ivy.xml b/ivy/ivy.xml
index 5ca3960..8e92213 100644
--- a/ivy/ivy.xml
+++ b/ivy/ivy.xml
@@ -124,6 +124,7 @@
     <dependency org="org.apache.gora" name="gora-hbase" rev="0.6-SNAPSHOT"
conf="*->default"/>
     <!-- IVY has a bug IVY-1505-->
     <dependency org="org.apache.hbase" name="hbase-common"
rev="0.98.8-hadoop2" conf="*->default"/>
+    <dependency org="org.apache.hbase" name="hbase-client"
rev="0.98.8-hadoop2" conf="*->default"/>
     <dependency org="org.apache.hbase" name="hbase-annotations"
rev="0.98.8-hadoop2" conf="*->default"/>

     <!-- Uncomment this to use Accumulo as Gora backend. -->

Using this command: ant compile-core (which passed), I saw the following in
~/.ivy2/cache/org.apache.hbase/hbase-client/ivy-0.98.8-hadoop2.xml :

    <dependency org="org.apache.hbase" name="hbase-protocol"
rev="0.98.8-hadoop2" force="true"
conf="compile->compile(*),master(*);runtime->runtime(*)"/>

FYI

On Mon, Jan 5, 2015 at 11:56 PM, Talat Uyarer <ta...@uyarer.com> wrote:

> Hi Ted,
>
> I use custom Nutch 2.x branch. I work for upgrading Nutch 2.x from
> "hadoop 1.x and hbase 0.94" to "hadoop 2.x Hbase 0.98." Actually 2.x
> branch of Nutch depends Gora. Hbase-client is transitive dependency
> for Nutch's Gora dependecy. However there is no different using direct
> or using as a transitive dependency. They have same problem. You can
> test with my Nutch fork.[1] Before compiling please delete this lines
> [2] [3]. BTW You can create a dump ivy project for testing. IMHO Ivy
> has some problem with Hbase's poms
>
> I do not understand your second question. Can you explain little bit ?
>
> Thanks
>
> [1] https://github.com/talatuyarer/nutch
> [2] https://github.com/talatuyarer/nutch/blob/2.x/ivy/ivy.xml#L126
> [3] https://github.com/talatuyarer/nutch/blob/2.x/ivy/ivy.xml#L127
>
> 2015-01-05 23:51 GMT+02:00 Ted Yu <yu...@gmail.com>:
> > Which branch of Nutch are you using ?
> >
> > Can you give the command line you used ?
> >
> > Thanks
> >
> > On Mon, Jan 5, 2015 at 12:48 PM, Talat Uyarer <ta...@uyarer.com> wrote:
> >
> >> When I added hbase-client as a dependency in Nutch's ivy.xml.
> >>
> >> <dependency org="org.apache.hbase" name="hbase-client"
> >> rev="0.98.8-hadoop2" conf="*->default">
> >>
> >> Ivy can not resolve hbase-common and hbase-annotations in compile
> >> scope rather than hbase-protocol. It sees these dependencies in test
> >> scope and map to runtime and master scope. they looks like below in
> >> hbase-client resolved
> >> ~/.ivy2/cache/org.apache.hbase/hbase-client/ivy-0.98.8-hadoop2.xml
> >> file :
> >>
> >> <dependency org="org.apache.hbase" name="hbase-annotations"
> >> rev="0.98.8-hadoop2" force="true" conf="test->runtime(*),master(*)"/>
> >> <dependency org="org.apache.hbase" name="hbase-annotations"
> >> rev="0.98.8-hadoop2" force="true" conf="test->runtime(*),master(*)">
> >>   <artifact name="hbase-annotations" type="test-jar" ext="jar" conf=""
> >> m:classifier="tests"/>
> >> </dependency>
> >> <dependency org="org.apache.hbase" name="hbase-common"
> >> rev="0.98.8-hadoop2" force="true" conf="test->runtime(*),master(*)"/>
> >> <dependency org="org.apache.hbase" name="hbase-common"
> >> rev="0.98.8-hadoop2" force="true" conf="test->runtime(*),master(*)">
> >>   <artifact name="hbase-common" type="test-jar" ext="jar" conf=""
> >> m:classifier="tests"/>
> >> </dependency>
> >> <dependency org="org.apache.hbase" name="hbase-protocol"
> >> rev="0.98.8-hadoop2" force="true"
> >> conf="compile->compile(*),master(*);runtime->runtime(*)"/>
> >>
> >> Not only Hbase-client. Other Hbase modules have same problem. Do you
> >> have any idea ?
> >>
> >> Talat
> >>
>
>
>
> --
> Talat UYARER
> Websitesi: http://talat.uyarer.com
> Twitter: http://twitter.com/talatuyarer
> Linkedin: http://tr.linkedin.com/pub/talat-uyarer/10/142/304
>

Re: Hbase-client's dependecies can not be resolved correctly by IVY

Posted by Talat Uyarer <ta...@uyarer.com>.
Hi Ted,

I use custom Nutch 2.x branch. I work for upgrading Nutch 2.x from
"hadoop 1.x and hbase 0.94" to "hadoop 2.x Hbase 0.98." Actually 2.x
branch of Nutch depends Gora. Hbase-client is transitive dependency
for Nutch's Gora dependecy. However there is no different using direct
or using as a transitive dependency. They have same problem. You can
test with my Nutch fork.[1] Before compiling please delete this lines
[2] [3]. BTW You can create a dump ivy project for testing. IMHO Ivy
has some problem with Hbase's poms

I do not understand your second question. Can you explain little bit ?

Thanks

[1] https://github.com/talatuyarer/nutch
[2] https://github.com/talatuyarer/nutch/blob/2.x/ivy/ivy.xml#L126
[3] https://github.com/talatuyarer/nutch/blob/2.x/ivy/ivy.xml#L127

2015-01-05 23:51 GMT+02:00 Ted Yu <yu...@gmail.com>:
> Which branch of Nutch are you using ?
>
> Can you give the command line you used ?
>
> Thanks
>
> On Mon, Jan 5, 2015 at 12:48 PM, Talat Uyarer <ta...@uyarer.com> wrote:
>
>> When I added hbase-client as a dependency in Nutch's ivy.xml.
>>
>> <dependency org="org.apache.hbase" name="hbase-client"
>> rev="0.98.8-hadoop2" conf="*->default">
>>
>> Ivy can not resolve hbase-common and hbase-annotations in compile
>> scope rather than hbase-protocol. It sees these dependencies in test
>> scope and map to runtime and master scope. they looks like below in
>> hbase-client resolved
>> ~/.ivy2/cache/org.apache.hbase/hbase-client/ivy-0.98.8-hadoop2.xml
>> file :
>>
>> <dependency org="org.apache.hbase" name="hbase-annotations"
>> rev="0.98.8-hadoop2" force="true" conf="test->runtime(*),master(*)"/>
>> <dependency org="org.apache.hbase" name="hbase-annotations"
>> rev="0.98.8-hadoop2" force="true" conf="test->runtime(*),master(*)">
>>   <artifact name="hbase-annotations" type="test-jar" ext="jar" conf=""
>> m:classifier="tests"/>
>> </dependency>
>> <dependency org="org.apache.hbase" name="hbase-common"
>> rev="0.98.8-hadoop2" force="true" conf="test->runtime(*),master(*)"/>
>> <dependency org="org.apache.hbase" name="hbase-common"
>> rev="0.98.8-hadoop2" force="true" conf="test->runtime(*),master(*)">
>>   <artifact name="hbase-common" type="test-jar" ext="jar" conf=""
>> m:classifier="tests"/>
>> </dependency>
>> <dependency org="org.apache.hbase" name="hbase-protocol"
>> rev="0.98.8-hadoop2" force="true"
>> conf="compile->compile(*),master(*);runtime->runtime(*)"/>
>>
>> Not only Hbase-client. Other Hbase modules have same problem. Do you
>> have any idea ?
>>
>> Talat
>>



-- 
Talat UYARER
Websitesi: http://talat.uyarer.com
Twitter: http://twitter.com/talatuyarer
Linkedin: http://tr.linkedin.com/pub/talat-uyarer/10/142/304

Re: Hbase-client's dependecies can not be resolved correctly by IVY

Posted by Ted Yu <yu...@gmail.com>.
Which branch of Nutch are you using ?

Can you give the command line you used ?

Thanks

On Mon, Jan 5, 2015 at 12:48 PM, Talat Uyarer <ta...@uyarer.com> wrote:

> When I added hbase-client as a dependency in Nutch's ivy.xml.
>
> <dependency org="org.apache.hbase" name="hbase-client"
> rev="0.98.8-hadoop2" conf="*->default">
>
> Ivy can not resolve hbase-common and hbase-annotations in compile
> scope rather than hbase-protocol. It sees these dependencies in test
> scope and map to runtime and master scope. they looks like below in
> hbase-client resolved
> ~/.ivy2/cache/org.apache.hbase/hbase-client/ivy-0.98.8-hadoop2.xml
> file :
>
> <dependency org="org.apache.hbase" name="hbase-annotations"
> rev="0.98.8-hadoop2" force="true" conf="test->runtime(*),master(*)"/>
> <dependency org="org.apache.hbase" name="hbase-annotations"
> rev="0.98.8-hadoop2" force="true" conf="test->runtime(*),master(*)">
>   <artifact name="hbase-annotations" type="test-jar" ext="jar" conf=""
> m:classifier="tests"/>
> </dependency>
> <dependency org="org.apache.hbase" name="hbase-common"
> rev="0.98.8-hadoop2" force="true" conf="test->runtime(*),master(*)"/>
> <dependency org="org.apache.hbase" name="hbase-common"
> rev="0.98.8-hadoop2" force="true" conf="test->runtime(*),master(*)">
>   <artifact name="hbase-common" type="test-jar" ext="jar" conf=""
> m:classifier="tests"/>
> </dependency>
> <dependency org="org.apache.hbase" name="hbase-protocol"
> rev="0.98.8-hadoop2" force="true"
> conf="compile->compile(*),master(*);runtime->runtime(*)"/>
>
> Not only Hbase-client. Other Hbase modules have same problem. Do you
> have any idea ?
>
> Talat
>