Sorry about my previous non-accurate description. Instead of 'family1' and 
'family2' I used 'facebook_notify' (qualifier-less) and 'facebook' (with 2 
qualifiers). After I read your post, I replaced the column 'facebook' by 
'tweeter', a similar column that I have with 2 qualifiers also, and everything 
worked fine.
So, the problem happens when I do it like this:

HTable htable = new HTable(config, TABLE_NAME);
Get get = new Get(Bytes.toBytes("x"));
get.addFamily(Bytes.toBytes("facebook_notify"));
get.addFamily(Bytes.toBytes("facebook"));
if(htable.get(get).getValue(Bytes.toBytes("facebook_notify"), 
Bytes.toBytes("")) == null)
  log.debug("Value is null!");

which still returns null. 
I'm using version 0.92.2. Any idea?

> From: [email protected]
> Date: Mon, 11 Jun 2012 00:15:17 +0530
> Subject: Re: HBase Client API: Why does HTable.get(get).getValue() return 
> null if more than one family is added to the get instance?
> To: [email protected]
> 
> Hi,
> 
> Am unable to reproduce this on 0.90.6 at least. What version are you using?
> 
> Regardless of "get.addFamily(Bytes.toBytes("family2"));" being present
> or not, I do not receive a null.
> 
> Original table scan (of a table 't'), to match your qualifier-less f1 family:
> 
>  x   column=f1:, timestamp=1339353441608, value=value
> 
> And then again tried with a qualifier-added f2 family column:
> 
>  x   column=f1:, timestamp=1339353441608, value=value
>  x   column=f2:x, timestamp=1339353614689, value=value
> 
> With both these data sets am still unable to get the null returns. I
> only get a null if I instead comment the
> "get.addFamily(Bytes.toBytes("family1"));" family1 line, which is
> expected.
> 
> Can you also detail out the steps you did to check this? Did you
> recreate rows/tables between tests?
> 
> On Sun, Jun 10, 2012 at 9:20 PM, Desert R. <[email protected]> 
> wrote:
> >
> > Hi,
> >
> >
> >
> >
> >
> >
> >        I have a table with 2 column families. The column 'family1'
> > has no qualifiers, and the row 'x' has the value \xFF. If I do the
> > following
> >
> > HTable htable = new HTable(config, TABLE_NAME);
> > Get get = new Get(Bytes.toBytes("x"));
> > get.addFamily(Bytes.toBytes("family1"));
> > if(htable.get(get).getValue(Bytes.toBytes("family1"), Bytes.toBytes("")) == 
> > null)
> >  log.debug("Value is null!");
> >
> >
> > the method getValue() returns not null (as expected). But if I add other 
> > family:
> >
> > HTable htable = new HTable(config, TABLE_NAME);
> > Get get = new Get(Bytes.toBytes("x"));
> > get.addFamily(Bytes.toBytes("family1"));
> > get.addFamily(Bytes.toBytes("family2"));
> > if(htable.get(get).getValue(Bytes.toBytes("family1"), Bytes.toBytes("")) == 
> > null)
> >  log.debug("Value is null!");
> >
> >
> > I get a null. Why does this happen?
> 
> 
> 
> -- 
> Harsh J
                                          

Reply via email to