See https://issues.apache.org/jira/browse/HBASE-6200
On Mon, Jun 11, 2012 at 11:23 AM, Desert R. <[email protected]> wrote: > > I tried with 0.94 now. I added the htablePool to simulate my other > multi-thread environment. Here's the code: http://pastebin.com/7TBA1XGh > If line 70 is commented it returns not null. Am I doing something wrong? >> From: [email protected] >> Date: Mon, 11 Jun 2012 09:37:00 +0800 >> 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 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. <[email protected]> >> >> > >> > 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 >> > >> > >
