[ 
https://issues.apache.org/jira/browse/HBASE-11376?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14039600#comment-14039600
 ] 

Enis Soztutar commented on HBASE-11376:
---------------------------------------

I think the problem is that LTT creates splits using the HexStringSplit which 
is fine for LTT because it uses md5 prefixed row keys: 
{code}
    public byte[] getDeterministicUniqueKey(long keyBase) {
      return LoadTestKVGenerator.md5PrefixedKey(keyBase).getBytes();
    }
{code}

And HexStringSplit: 
{code}
  /**
   * HexStringSplit is a well-known {@link SplitAlgorithm} for choosing region
   * boundaries. The format of a HexStringSplit region boundary is the ASCII
   * representation of an MD5 checksum, or any other uniformly distributed
   * hexadecimal value. Row are hex-encoded long values in the range
   * <b>"00000000" => "FFFFFFFF"</b> and are left-padded with zeros to keep the
   * same order lexicographically as if they were binary.
   *
   * Since this split algorithm uses hex strings as keys, it is easy to read &
   * write in the shell but takes up more space and may be non-intuitive.
   */
{code}

While in ITBLL, we want splits to be  generated using UniformSplit rather than 
HexStringSplit. I think it should be better if you create a patch which creates 
the table pre-split using the UniformSplit, and not change the key format from 
the generator. 

{code}
  /**
   * A SplitAlgorithm that divides the space of possible keys evenly. Useful
   * when the keys are approximately uniform random bytes (e.g. hashes). Rows
   * are raw byte values in the range <b>00 => FF</b> and are right-padded with
   * zeros to keep the same memcmp() order. This is the natural algorithm to use
   * for a byte[] environment and saves space, but is not necessarily the
   * easiest for readability.
   */
  public static class UniformSplit implements SplitAlgorithm {
{code}

> IntegrationTestBigLinkedList's Generator tool does not generate keys 
> belonging to all regions in a large table.
> ---------------------------------------------------------------------------------------------------------------
>
>                 Key: HBASE-11376
>                 URL: https://issues.apache.org/jira/browse/HBASE-11376
>             Project: HBase
>          Issue Type: Improvement
>            Reporter: Vandana Ayyalasomayajula
>            Assignee: Vandana Ayyalasomayajula
>            Priority: Minor
>         Attachments: HBASE-11376_1.patch, HBASE-11376_2.patch
>
>
> When IntegrationTestBigLinkedList's generator tool is used to generate keys 
> to a large table ( 2200 regions), only some regions have keys and others are 
> empty. It would be good to generate keys to all the regions of the table. 



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to