accumulo-notifications mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Aaron Kimball (JIRA)" <>
Subject [jira] [Created] (ACCUMULO-2437) Cannot create splits with MSBit set in MSByte via API
Date Fri, 07 Mar 2014 06:32:42 GMT
Aaron Kimball created ACCUMULO-2437:

             Summary: Cannot create splits with MSBit set in MSByte via API 
                 Key: ACCUMULO-2437
             Project: Accumulo
          Issue Type: Bug
    Affects Versions: 1.5.1
            Reporter: Aaron Kimball

I cannot create a table with 256 evenly-sliced splits using the API. I believe due to the
fact that Text can only hold valid Unicode characters, the following only generates 129 splits:

    TableOperations tableOps = connector.tableOperations();
    TreeSet<Text> splits = new TreeSet<Text>();
    for (int i = 0; i < 256; i++) { 
      byte[] bytes = { (byte) i };
      String theStr = new String(bytes);
      splits.add(new Text(theStr));
    tableOps.addSplits(TABLE_NAME, splits);

Using {{getsplits}} in the shell, I see the highest split be 0x7F; while we can use byte values
0x80 through 0xFF as leading bytes in row keys, the use of {{Text}} in the {{addSplits()}}
method makes these invalid strings to split on.

This message was sent by Atlassian JIRA

View raw message