hbase-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From NNever <nnever...@gmail.com>
Subject Re: HBase Client API: Why does HTable.get(get).getValue() return null if more than one family is added to the get instance?
Date Mon, 11 Jun 2012 01:37:00 GMT
Hi Desert,
I try your code on 0.94.0, it works fine. Is there any detail you not list
above or maybe there exist some JIRAs fixed this bug for 0.92.2?
Can someone get this test run on 0.92.2 and give the result?

Regards,
NN

2012/6/11 Desert R. <desert_rose_170@hotmail.com>

>
> 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: harsh@cloudera.com
> > 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: user@hbase.apache.org
> >
> > 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. <desert_rose_170@hotmail.com>
> 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
>
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message