You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hbase.apache.org by "ryan rawson (JIRA)" <ji...@apache.org> on 2009/06/18 08:11:07 UTC
[jira] Updated: (HBASE-1541) Scanning multiple column families in
the presence of deleted families results in bad scans
[ https://issues.apache.org/jira/browse/HBASE-1541?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
ryan rawson updated HBASE-1541:
-------------------------------
Description:
This unit test fails:
{noformat}
public void testScanner_DeleteOneFamilyNotAnother() throws IOException {
byte [] tableName = Bytes.toBytes("test_table");
byte [] fam1 = Bytes.toBytes("columnA");
byte [] fam2 = Bytes.toBytes("columnB");
initHRegion(tableName, getName(), fam1, fam2);
byte [] rowA = Bytes.toBytes("rowA");
byte [] rowB = Bytes.toBytes("rowB");
byte [] value = Bytes.toBytes("value");
Delete delete = new Delete(rowA);
delete.deleteFamily(fam1);
region.delete(delete, null, true);
// now create data.
Put put = new Put(rowA);
put.add(fam2, null, value);
region.put(put);
put = new Put(rowB);
put.add(fam1, null, value);
put.add(fam2, null, value);
region.put(put);
Scan scan = new Scan();
scan.addFamily(fam1).addFamily(fam2);
InternalScanner s = region.getScanner(scan);
List<KeyValue> results = new ArrayList<KeyValue>();
s.next(results);
assertTrue(Bytes.equals(rowA, results.get(0).getRow()));
results.clear();
s.next(results);
assertTrue(Bytes.equals(rowB, results.get(0).getRow()));
}
{noformat}
was:
This unit test fails:
public void testScanner_DeleteOneFamilyNotAnother() throws IOException {
byte [] tableName = Bytes.toBytes("test_table");
byte [] fam1 = Bytes.toBytes("columnA");
byte [] fam2 = Bytes.toBytes("columnB");
initHRegion(tableName, getName(), fam1, fam2);
byte [] rowA = Bytes.toBytes("rowA");
byte [] rowB = Bytes.toBytes("rowB");
byte [] value = Bytes.toBytes("value");
Delete delete = new Delete(rowA);
delete.deleteFamily(fam1);
region.delete(delete, null, true);
// now create data.
Put put = new Put(rowA);
put.add(fam2, null, value);
region.put(put);
put = new Put(rowB);
put.add(fam1, null, value);
put.add(fam2, null, value);
region.put(put);
Scan scan = new Scan();
scan.addFamily(fam1).addFamily(fam2);
InternalScanner s = region.getScanner(scan);
List<KeyValue> results = new ArrayList<KeyValue>();
s.next(results);
assertTrue(Bytes.equals(rowA, results.get(0).getRow()));
results.clear();
s.next(results);
assertTrue(Bytes.equals(rowB, results.get(0).getRow()));
}
> Scanning multiple column families in the presence of deleted families results in bad scans
> ------------------------------------------------------------------------------------------
>
> Key: HBASE-1541
> URL: https://issues.apache.org/jira/browse/HBASE-1541
> Project: Hadoop HBase
> Issue Type: Bug
> Affects Versions: 0.20.0
> Reporter: ryan rawson
> Fix For: 0.20.0
>
>
> This unit test fails:
> {noformat}
> public void testScanner_DeleteOneFamilyNotAnother() throws IOException {
> byte [] tableName = Bytes.toBytes("test_table");
> byte [] fam1 = Bytes.toBytes("columnA");
> byte [] fam2 = Bytes.toBytes("columnB");
> initHRegion(tableName, getName(), fam1, fam2);
> byte [] rowA = Bytes.toBytes("rowA");
> byte [] rowB = Bytes.toBytes("rowB");
> byte [] value = Bytes.toBytes("value");
> Delete delete = new Delete(rowA);
> delete.deleteFamily(fam1);
> region.delete(delete, null, true);
> // now create data.
> Put put = new Put(rowA);
> put.add(fam2, null, value);
> region.put(put);
> put = new Put(rowB);
> put.add(fam1, null, value);
> put.add(fam2, null, value);
> region.put(put);
> Scan scan = new Scan();
> scan.addFamily(fam1).addFamily(fam2);
> InternalScanner s = region.getScanner(scan);
> List<KeyValue> results = new ArrayList<KeyValue>();
> s.next(results);
> assertTrue(Bytes.equals(rowA, results.get(0).getRow()));
> results.clear();
> s.next(results);
> assertTrue(Bytes.equals(rowB, results.get(0).getRow()));
> }
> {noformat}
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.