hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Eugene Morozov (JIRA)" <j...@apache.org>
Subject [jira] [Created] (HBASE-6861) HFileOutputFormat set TIMERANGE wrongly
Date Fri, 21 Sep 2012 22:36:08 GMT
Eugene Morozov created HBASE-6861:

             Summary: HFileOutputFormat set TIMERANGE wrongly
                 Key: HBASE-6861
                 URL: https://issues.apache.org/jira/browse/HBASE-6861
             Project: HBase
          Issue Type: Bug
            Reporter: Eugene Morozov
            Priority: Minor

In case if timestamps for KeyValues specified differently for different column families, then
TIMERANGEs of both HFiles would be wrong.

Example (in pseudo code): my reducer has a condition
if (condition ) {
  keyValue = new KeyValue(.., CF1, .., timestamp, ..);
} else {
  keyValue = new KeyValue(.., CF2, .., ..); // <- no timestamp
context.write( keyValue );

These two keyValues would be written into two different HFiles.
But the code, which is actually write do the following:

  // we now have the proper HLog writer. full steam ahead

Basically, two HFiles shares the same instance of trt (TimeRangeTracker), which leads to the
same TIMERANGEs of both of them. Which is definitely incorrect, because first HFile must have
TIMERANGE=timestamp...timestamp, cause we do not write any other timestamps there. And another
HFile must have TIMERANGE=now...now by same meaning.

This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

View raw message