[jira] [Commented] (HBASE-4616) Update hregion encoded name to reduce logic and prevent region collisions in META
[ https://issues.apache.org/jira/browse/HBASE-4616?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13237252#comment-13237252 ] Hadoop QA commented on HBASE-4616: -- -1 overall. Here are the results of testing the latest attachment http://issues.apache.org/jira/secure/attachment/12507978/HBASE-4616-v3.patch against trunk revision . +1 @author. The patch does not contain any @author tags. +1 tests included. The patch appears to include 41 new or modified tests. -1 patch. The patch command could not apply the patch. Console output: https://builds.apache.org/job/PreCommit-HBASE-Build/1285//console This message is automatically generated. Update hregion encoded name to reduce logic and prevent region collisions in META - Key: HBASE-4616 URL: https://issues.apache.org/jira/browse/HBASE-4616 Project: HBase Issue Type: Umbrella Reporter: Alex Newman Assignee: Alex Newman Attachments: HBASE-4616-v2.patch, HBASE-4616-v3.patch, HBASE-4616.patch -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (HBASE-4616) Update hregion encoded name to reduce logic and prevent region collisions in META
[ https://issues.apache.org/jira/browse/HBASE-4616?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13184542#comment-13184542 ] Alex Newman commented on HBASE-4616: https://reviews.apache.org/r/3466/ Update hregion encoded name to reduce logic and prevent region collisions in META - Key: HBASE-4616 URL: https://issues.apache.org/jira/browse/HBASE-4616 Project: HBase Issue Type: Umbrella Reporter: Alex Newman Assignee: Alex Newman Attachments: HBASE-4616-v2.patch, HBASE-4616-v3.patch, HBASE-4616.patch -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (HBASE-4616) Update hregion encoded name to reduce logic and prevent region collisions in META
[ https://issues.apache.org/jira/browse/HBASE-4616?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13184541#comment-13184541 ] Alex Newman commented on HBASE-4616: https://reviews.apache.org/r/3466/ Update hregion encoded name to reduce logic and prevent region collisions in META - Key: HBASE-4616 URL: https://issues.apache.org/jira/browse/HBASE-4616 Project: HBase Issue Type: Umbrella Reporter: Alex Newman Assignee: Alex Newman Attachments: HBASE-4616-v2.patch, HBASE-4616-v3.patch, HBASE-4616.patch -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (HBASE-4616) Update hregion encoded name to reduce logic and prevent region collisions in META
[ https://issues.apache.org/jira/browse/HBASE-4616?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13174935#comment-13174935 ] Alex Newman commented on HBASE-4616: On the moving of directories. We could easily remove the patch which changes the format of the id if we feel as though moving directories is a bad idea. Update hregion encoded name to reduce logic and prevent region collisions in META - Key: HBASE-4616 URL: https://issues.apache.org/jira/browse/HBASE-4616 Project: HBase Issue Type: Umbrella Reporter: Alex Newman Assignee: Alex Newman Attachments: HBASE-4616-v2.patch, HBASE-4616-v3.patch, HBASE-4616.patch -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (HBASE-4616) Update hregion encoded name to reduce logic and prevent region collisions in META
[ https://issues.apache.org/jira/browse/HBASE-4616?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13174934#comment-13174934 ] Alex Newman commented on HBASE-4616: So on the first part about using printable chars in for the last region. Consider the fact that ! is a valid table char as far as I know and comes before other printable chars on the ascii table so that's out. I am not a big fan of the table to int mapping as I think it provides for another level of complexity and it's own synchronization issues. Also, having to do a direct (hdfs) filesystem operation for adding or removing regions seems like a bad idea. After all opening files in hdfs takes like 200ms. It'd probably be better to have another table like meta/root for something like this. If your worried about using 29 chars consider it's most likely small when compared to the size of the hri/row key. If we really want to cut down on space we can just the 128bits of the md5 directly, it will make it even more difficult to read, but it will be compact. Pros to pulling the tablename out: Constant overhead for large tablenames More flexibility on what can be a tablename More deterministic overhead Cons: More difficult to debug Not what we do now Pros to md5 vs lookup table: One less table piece of state Easier to debug Tables from one cluster wont clobber tables from another Cons to the md5 approach: More key space overhead than a lookup table(although not with the binary approach) Update hregion encoded name to reduce logic and prevent region collisions in META - Key: HBASE-4616 URL: https://issues.apache.org/jira/browse/HBASE-4616 Project: HBase Issue Type: Umbrella Reporter: Alex Newman Assignee: Alex Newman Attachments: HBASE-4616-v2.patch, HBASE-4616-v3.patch, HBASE-4616.patch -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (HBASE-4616) Update hregion encoded name to reduce logic and prevent region collisions in META
[ https://issues.apache.org/jira/browse/HBASE-4616?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13175067#comment-13175067 ] Alex Newman commented on HBASE-4616: I really think these functions should be removed. It locks us into either having a metadata hit, or Having regionNames in which the tablename is embedded(reversible). After all there already is a getTableName, this static one just doesn't seem useful. === + public static byte [] getTableName(byte[] regionName, Configuration conf)$ This is ugly, but maybe its ok? You've deprecated it (but you need to point user elsewhere when you deprecate something). What you thinking? That it should just not be possible to get tablename from an HRI going forward? This is kinda ugly method anyways... no longer used I'd say so fine if its going away (I seem to remember it was written for some strange context where needed to find tablename walking filesystem but no cluster up). Ditto for the version that don't take a Configuration... but man, thats ugly creating a Configuration inside in the method. Needs WARNINGS in javadoc: DONT DO IT! Follow formatting of method opening as is done elsewhere in this file; the below is different: + private static boolean isLHSSplit(final byte[] regionName,$ + final int offset) throws IOException {$ The above method needs a bit of doc on what its about. And there should be a blank line after each method ... there is none here. The below method does not look right and should be deprecated anyways (Its returning region name? At least warn it don't work any more)? /**$ * Get current table name of the region$ + * Get the tablename of the region from the regionKey$ @return byte array of table name$ */$ public byte[] getTableName() {$ if (tableName == null || tableName.length == 0) {$ tableName = getTableName(getRegionName());$ + tableName = getRegionName();$ }$ return tableName;$ }$ Update hregion encoded name to reduce logic and prevent region collisions in META - Key: HBASE-4616 URL: https://issues.apache.org/jira/browse/HBASE-4616 Project: HBase Issue Type: Umbrella Reporter: Alex Newman Assignee: Alex Newman Attachments: HBASE-4616-v2.patch, HBASE-4616-v3.patch, HBASE-4616.patch -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (HBASE-4616) Update hregion encoded name to reduce logic and prevent region collisions in META
[ https://issues.apache.org/jira/browse/HBASE-4616?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13175109#comment-13175109 ] stack commented on HBASE-4616: -- You can't remove them w/o deprecating them first. On your other comments: What about my proposal that you narrow scope of this patch and attach the priority issue, removing get closestorbefore, and do uuid/md5'ing in another issue? '!' is not legal table char. Here is the function that tests legal characters: http://hbase.apache.org/xref/org/apache/hadoop/hbase/HTableDescriptor.html#278 Anything less than '-', the lowest allowable table character should do. ',' qualifies (just about) though it would have to be the character to designate the last region and we'd need another delimiter for non-end-regions... most chars are problematic but could use a '+' (I think) or a '#' -- but this'd be too ugly... need to think of something better. Agree on not doing int for table name; problematic when replicating not to mind the complexity it adds (as you outline above). I like your pros and cons table. Update hregion encoded name to reduce logic and prevent region collisions in META - Key: HBASE-4616 URL: https://issues.apache.org/jira/browse/HBASE-4616 Project: HBase Issue Type: Umbrella Reporter: Alex Newman Assignee: Alex Newman Attachments: HBASE-4616-v2.patch, HBASE-4616-v3.patch, HBASE-4616.patch -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (HBASE-4616) Update hregion encoded name to reduce logic and prevent region collisions in META
[ https://issues.apache.org/jira/browse/HBASE-4616?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13174518#comment-13174518 ] stack commented on HBASE-4616: -- Regards UUID, if its an md5 anyways, lets call it what it is. I tried to see if a hash that was smaller in size but it seems that even murmur hash v3 is 120 bits now. If md5, can get hash by doing 'md5sum tablename' on command line if have to; is there a uuid command-line tool so readily available? I was thinking too we could get base64 of the md5 so size in meta is less but thats probably more pain that its worth. Or, what would it take to keep a file of tablenames to int codes in the filesystem and use the zero-padded int code in .META. instead? All tables under value 10 would be catalog tables... .META. would be 0, etc. Could sit beside the hbase.version file at head of the filesystem; could call the file .hbase.tablenames.map or some such. UUID/md5 is nice in that it makes it so don't need this but they are wide compared to a short. Maybe UUID/md5 the way to go -- less complexity and the width is not really concern since we don't write tablename into keys (unless we are replicating I suppose; hmm... maybe UUID/md5 is safer because two clusters could have same code for different table names -- that'd get really confusing... if you stay w/ md5s, you have the same behavior we have now regards cross-dc and table names). I think we need to make a list of pros/cons removing tablename from meta still. In src/main/java/org/apache/hadoop/hbase/HRegionInfo.java why we import Using MetaReader inside in HRI is not on I'd say. Thats a base hbase class using a subpackage class that does client operations... HRI should be usable w/o need of a cluster/network. Ditto CatalogTracker. Dont do this.. Expand it: +import org.apache.hadoop.hbase.util.*; How is this new format going t play w/ old format? We have to convert all the old formats as part of migration into new format? What about the fact that the dir in the filesystem that holds region data is named for a hash of the HRI name? We can't rename all dirs in fs as part of migration? Or you think we should? You could add some javadoc here: * New region name format: - *lt;tablename,,lt;startkey,lt;regionIdTimestamp.lt;encodedName. + *lt;tablename,,lt;endkey,lt;regionIdTimestamp.lt;encodedName. * where, *lt;encodedName is a hex version of the MD5 hash of - *lt;tablename,lt;startkey,lt;regionIdTimestamp + *lt;tablename,lt;endkey,lt;regionIdTimestamp Isn't tablename the md5 of tablename now? What is this comment about? + // It should say, the tablename encoded in the region ends with 0x01, + // but the last region's tablename ends with 0x02 + public static final int END_OF_TABLE_NAME = 1; + public static final int END_OF_TABLE_NAME_FOR_EMPTY_ENDKEY = END_OF_TABLE_NAME + 1; Do you think these should be printable characters? Else, they'll show in terminal as a box or something? For example, if this end-of-tablename marker were a '.', and the last table had a ':', that'd sort properly and it wouldn't look so bad when you listed regions (it would be confusing having '.' for every region name but the last but less confusing that two unprintables that rendor one way for 1 and another for 2). Or you could have comma as end char and a period for the last region in a table (that makes a bit more 'sense') Lines like this are too long: +this.regionName = createRegionName(this.tableName, startKey, endKey, Long.toString(regionId).getBytes(), true); Fix your formatting in places like below: + boolean newFormat){ + // We need to be able to add a single byte easily to the regionName as we are building it up + // It's being used by appending delimiters and special markers. + +byte [] oneByte = new byte[1]; +//This cannot return any weird string chars as all uuid chars are a hex char. The first comment is too indented. There is a space between close paren and open of curly brace on function, etc. Use Bytes.toBytes instead of below if only for fact that its shorter statement: +byte[] uuidTableName = UUID.nameUUIDFromBytes(tableName).toString().getBytes(); If null, throw exception? Don't keep going? +int allocation = uuidTableName == null ? 2 : uuidTableName.length + 2;$ Explain why you are adding '2' in a comment? Why write +allocation += endKey == null ? 1 : endKey.length + 1; so? Why not as if (endKey == null) allocation += endKey.length; and then allocation += 1; // COMMENT EXPLAINING WHY THE +1? Yeah, if some of these items are null like id or tablename, it should be error? This don't seem necessary, the oneByte that is: + oneByte[0] = END_OF_TABLE_NAME_FOR_EMPTY_ENDKEY;$ Just put the END_OF_TABLE_NAME_FOR_EMPTY_ENDKEY into the byteArrayDataOutput.put(oneByte); Ditto
[jira] [Commented] (HBASE-4616) Update hregion encoded name to reduce logic and prevent region collisions in META
[ https://issues.apache.org/jira/browse/HBASE-4616?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13174592#comment-13174592 ] Zhihong Yu commented on HBASE-4616: --- bq. Why not as if (endKey == null) allocation += endKey.length; I think Stack meant: {code} if (endKey != null) allocation += endKey.length; {code} Update hregion encoded name to reduce logic and prevent region collisions in META - Key: HBASE-4616 URL: https://issues.apache.org/jira/browse/HBASE-4616 Project: HBase Issue Type: Umbrella Reporter: Alex Newman Assignee: Alex Newman Attachments: HBASE-4616-v2.patch, HBASE-4616-v3.patch, HBASE-4616.patch -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (HBASE-4616) Update hregion encoded name to reduce logic and prevent region collisions in META
[ https://issues.apache.org/jira/browse/HBASE-4616?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13174624#comment-13174624 ] stack commented on HBASE-4616: -- Yeah, what Zhihong said (Thanks Ted). One thought I had Alex was that we could narrow scope of this patch by not trying to hash table name to give it uniform length as part of this patch. Instead, just do removal of getClosestOrBefore first (to do this you'll need to swap start for end row). Hows that sound? For your last-region-in-table trick, you have a DELIMITER of ',' currently. Perhaps the last region has a ';', which sorts after ',' and is illegal as a tablename character (The comparators would have to look for ',' AND ';' to find the table/row boundary). Update hregion encoded name to reduce logic and prevent region collisions in META - Key: HBASE-4616 URL: https://issues.apache.org/jira/browse/HBASE-4616 Project: HBase Issue Type: Umbrella Reporter: Alex Newman Assignee: Alex Newman Attachments: HBASE-4616-v2.patch, HBASE-4616-v3.patch, HBASE-4616.patch -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (HBASE-4616) Update hregion encoded name to reduce logic and prevent region collisions in META
[ https://issues.apache.org/jira/browse/HBASE-4616?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13174625#comment-13174625 ] stack commented on HBASE-4616: -- If you go that route, we should change name of this JIRA or just abandon it and open a focused new issue instead. Update hregion encoded name to reduce logic and prevent region collisions in META - Key: HBASE-4616 URL: https://issues.apache.org/jira/browse/HBASE-4616 Project: HBase Issue Type: Umbrella Reporter: Alex Newman Assignee: Alex Newman Attachments: HBASE-4616-v2.patch, HBASE-4616-v3.patch, HBASE-4616.patch -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (HBASE-4616) Update hregion encoded name to reduce logic and prevent region collisions in META
[ https://issues.apache.org/jira/browse/HBASE-4616?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13172643#comment-13172643 ] Hadoop QA commented on HBASE-4616: -- -1 overall. Here are the results of testing the latest attachment http://issues.apache.org/jira/secure/attachment/12507978/HBASE-4616-v3.patch against trunk revision . +1 @author. The patch does not contain any @author tags. +1 tests included. The patch appears to include 41 new or modified tests. -1 javadoc. The javadoc tool appears to have generated -152 warning messages. +1 javac. The applied patch does not increase the total number of javac compiler warnings. -1 findbugs. The patch appears to introduce 77 new Findbugs (version 1.3.9) warnings. +1 release audit. The applied patch does not increase the total number of release audit warnings. -1 core tests. The patch failed these unit tests: org.apache.hadoop.hbase.replication.TestReplication org.apache.hadoop.hbase.replication.regionserver.TestReplicationSink Test results: https://builds.apache.org/job/PreCommit-HBASE-Build/552//testReport/ Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/552//artifact/trunk/patchprocess/newPatchFindbugsWarnings.html Console output: https://builds.apache.org/job/PreCommit-HBASE-Build/552//console This message is automatically generated. Update hregion encoded name to reduce logic and prevent region collisions in META - Key: HBASE-4616 URL: https://issues.apache.org/jira/browse/HBASE-4616 Project: HBase Issue Type: Umbrella Reporter: Alex Newman Assignee: Alex Newman Attachments: HBASE-4616-v2.patch, HBASE-4616-v3.patch, HBASE-4616.patch -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (HBASE-4616) Update hregion encoded name to reduce logic and prevent region collisions in META
[ https://issues.apache.org/jira/browse/HBASE-4616?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13172642#comment-13172642 ] Zhihong Yu commented on HBASE-4616: --- {code} public byte[] getTableName() { if (tableName == null || tableName.length == 0) { tableName = getRegionName(); {code} Is the above code right ? In: {code} public static byte [] getTableName(byte[] regionName, Configuration conf) {code} InterruptedException should be placed on the same line as IOException catalogTracker.stop() should be in finally block. There shouldn't be a space between l and right brace: {code} if (region == null ){ {code} Update hregion encoded name to reduce logic and prevent region collisions in META - Key: HBASE-4616 URL: https://issues.apache.org/jira/browse/HBASE-4616 Project: HBase Issue Type: Umbrella Reporter: Alex Newman Assignee: Alex Newman Attachments: HBASE-4616-v2.patch, HBASE-4616-v3.patch, HBASE-4616.patch -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (HBASE-4616) Update hregion encoded name to reduce logic and prevent region collisions in META
[ https://issues.apache.org/jira/browse/HBASE-4616?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13172653#comment-13172653 ] Alex Newman commented on HBASE-4616: That block of code is absolutely not right. Let me see what I did there. Update hregion encoded name to reduce logic and prevent region collisions in META - Key: HBASE-4616 URL: https://issues.apache.org/jira/browse/HBASE-4616 Project: HBase Issue Type: Umbrella Reporter: Alex Newman Assignee: Alex Newman Attachments: HBASE-4616-v2.patch, HBASE-4616-v3.patch, HBASE-4616.patch -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (HBASE-4616) Update hregion encoded name to reduce logic and prevent region collisions in META
[ https://issues.apache.org/jira/browse/HBASE-4616?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13172811#comment-13172811 ] Alex Newman commented on HBASE-4616: I tried to break them up but that might not buy us anything. I'll keep the unified patch up to date as that seems the easiest to review. Update hregion encoded name to reduce logic and prevent region collisions in META - Key: HBASE-4616 URL: https://issues.apache.org/jira/browse/HBASE-4616 Project: HBase Issue Type: Umbrella Reporter: Alex Newman Assignee: Alex Newman Attachments: HBASE-4616-v2.patch, HBASE-4616-v3.patch, HBASE-4616.patch -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (HBASE-4616) Update hregion encoded name to reduce logic and prevent region collisions in META
[ https://issues.apache.org/jira/browse/HBASE-4616?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13169518#comment-13169518 ] Alex Newman commented on HBASE-4616: @Zhihong Yu This is because we haven't taken care of migration yet. Stack promised he would help me out. @Stack perhaps I could drop over at su or something like that so we could plan the migration? Update hregion encoded name to reduce logic and prevent region collisions in META - Key: HBASE-4616 URL: https://issues.apache.org/jira/browse/HBASE-4616 Project: HBase Issue Type: Umbrella Reporter: Alex Newman Assignee: Alex Newman Attachments: HBASE-4616-v2.patch, HBASE-4616.patch -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (HBASE-4616) Update hregion encoded name to reduce logic and prevent region collisions in META
[ https://issues.apache.org/jira/browse/HBASE-4616?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13169945#comment-13169945 ] Hadoop QA commented on HBASE-4616: -- -1 overall. Here are the results of testing the latest attachment http://issues.apache.org/jira/secure/attachment/12507381/HBASE-4616-v2.patch against trunk revision . +1 @author. The patch does not contain any @author tags. +1 tests included. The patch appears to include 39 new or modified tests. -1 javadoc. The javadoc tool appears to have generated -152 warning messages. +1 javac. The applied patch does not increase the total number of javac compiler warnings. -1 findbugs. The patch appears to introduce 76 new Findbugs (version 1.3.9) warnings. +1 release audit. The applied patch does not increase the total number of release audit warnings. -1 core tests. The patch failed these unit tests: org.apache.hadoop.hbase.regionserver.TestSplitTransactionOnCluster org.apache.hadoop.hbase.client.TestMetaMigrationRemovingHTD org.apache.hadoop.hbase.client.TestAdmin Test results: https://builds.apache.org/job/PreCommit-HBASE-Build/512//testReport/ Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/512//artifact/trunk/patchprocess/newPatchFindbugsWarnings.html Console output: https://builds.apache.org/job/PreCommit-HBASE-Build/512//console This message is automatically generated. Update hregion encoded name to reduce logic and prevent region collisions in META - Key: HBASE-4616 URL: https://issues.apache.org/jira/browse/HBASE-4616 Project: HBase Issue Type: Umbrella Reporter: Alex Newman Assignee: Alex Newman Attachments: HBASE-4616-v2.patch, HBASE-4616.patch -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (HBASE-4616) Update hregion encoded name to reduce logic and prevent region collisions in META
[ https://issues.apache.org/jira/browse/HBASE-4616?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13168719#comment-13168719 ] Alex Newman commented on HBASE-4616: I am going to move to three patches so this patch should be considered deprecated. Update hregion encoded name to reduce logic and prevent region collisions in META - Key: HBASE-4616 URL: https://issues.apache.org/jira/browse/HBASE-4616 Project: HBase Issue Type: Umbrella Reporter: Alex Newman Assignee: Alex Newman Attachments: HBASE-4616.patch -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (HBASE-4616) Update hregion encoded name to reduce logic and prevent region collisions in META
[ https://issues.apache.org/jira/browse/HBASE-4616?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13168833#comment-13168833 ] stack commented on HBASE-4616: -- I'm talking about this: '...toString().getBytes();' I suppose if its uuid, yes, bytes are ascii so not an issue. bq. In an upcoming patch I clarified the javadoc Hows that work? I'm to aggregate the patches in my head or you are going to make an aggregated one? Good stuff. Update hregion encoded name to reduce logic and prevent region collisions in META - Key: HBASE-4616 URL: https://issues.apache.org/jira/browse/HBASE-4616 Project: HBase Issue Type: Umbrella Reporter: Alex Newman Assignee: Alex Newman Attachments: HBASE-4616.patch -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (HBASE-4616) Update hregion encoded name to reduce logic and prevent region collisions in META
[ https://issues.apache.org/jira/browse/HBASE-4616?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13168940#comment-13168940 ] Alex Newman commented on HBASE-4616: Created a combined patch for qa Update hregion encoded name to reduce logic and prevent region collisions in META - Key: HBASE-4616 URL: https://issues.apache.org/jira/browse/HBASE-4616 Project: HBase Issue Type: Umbrella Reporter: Alex Newman Assignee: Alex Newman Attachments: HBASE-2616-v2.patch, HBASE-4616.patch -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (HBASE-4616) Update hregion encoded name to reduce logic and prevent region collisions in META
[ https://issues.apache.org/jira/browse/HBASE-4616?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13168953#comment-13168953 ] Zhihong Yu commented on HBASE-4616: --- There is error in the name of the latest patch - it should be 4616. TestOfflineMetaRebuildBase failed with: {code} Caused by: java.lang.RuntimeException: Master not initialized after 200 seconds at org.apache.hadoop.hbase.util.JVMClusterUtil.startup(JVMClusterUtil.java:206) at org.apache.hadoop.hbase.LocalHBaseCluster.startup(LocalHBaseCluster.java:420) at org.apache.hadoop.hbase.MiniHBaseCluster.init(MiniHBaseCluster.java:196) {code} Update hregion encoded name to reduce logic and prevent region collisions in META - Key: HBASE-4616 URL: https://issues.apache.org/jira/browse/HBASE-4616 Project: HBase Issue Type: Umbrella Reporter: Alex Newman Assignee: Alex Newman Attachments: HBASE-2616-v2.patch, HBASE-4616.patch -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (HBASE-4616) Update hregion encoded name to reduce logic and prevent region collisions in META
[ https://issues.apache.org/jira/browse/HBASE-4616?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13160164#comment-13160164 ] Alex Newman commented on HBASE-4616: Sounds great, I got some great feedback @Ted everything you said is great. I'll add that to my list. Some additional things we discussed which I agree with We shouldn't use the term tablets only region change getendoftabelrow to getstoprow or something like that. Furthermore, Ryan suggested a test where we have one meta row which looks like abc, foo, 123 abc, foo\x00, 123 and verify the sort order. Update hregion encoded name to reduce logic and prevent region collisions in META - Key: HBASE-4616 URL: https://issues.apache.org/jira/browse/HBASE-4616 Project: HBase Issue Type: Umbrella Reporter: Alex Newman Assignee: Alex Newman Attachments: HBASE-4616.patch -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (HBASE-4616) Update hregion encoded name to reduce logic and prevent region collisions in META
[ https://issues.apache.org/jira/browse/HBASE-4616?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13159582#comment-13159582 ] Alex Newman commented on HBASE-4616: I figured I would post what I have to get feedback. There are still some things to complete. - Meta migration - Fixing the coprocessor tests - Add additional unit tests But i figured it's better than subbing. Update hregion encoded name to reduce logic and prevent region collisions in META - Key: HBASE-4616 URL: https://issues.apache.org/jira/browse/HBASE-4616 Project: HBase Issue Type: Umbrella Reporter: Alex Newman Assignee: Alex Newman Attachments: 0001-Changed-regioninfo-format-to-use-endKey-instead-of-s.patch, 0002-Verify-start-and-end-key-are-contained-in-the-encode.patch, 0003-Moved-to-a-uuid-tablename.patch -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (HBASE-4616) Update hregion encoded name to reduce logic and prevent region collisions in META
[ https://issues.apache.org/jira/browse/HBASE-4616?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13159676#comment-13159676 ] Ted Yu commented on HBASE-4616: --- Where is MetaSearchRow defined ? What's the difference between MetaSearchRow.getStartSearchRow(tableName, null) and MetaSearchRow.getStartSearchRow(tableName, HConstants.EMPTY_BYTE_ARRAY) ? Update hregion encoded name to reduce logic and prevent region collisions in META - Key: HBASE-4616 URL: https://issues.apache.org/jira/browse/HBASE-4616 Project: HBase Issue Type: Umbrella Reporter: Alex Newman Assignee: Alex Newman Attachments: HBASE-4616.patch -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (HBASE-4616) Update hregion encoded name to reduce logic and prevent region collisions in META
[ https://issues.apache.org/jira/browse/HBASE-4616?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13159694#comment-13159694 ] Ted Yu commented on HBASE-4616: --- In HRegionInfo.java: {code} public static final int END_OF_TABLE_TABLE_NAME = END_OF_TABLE_NAME + 1; {code} I think END_OF_TABLE_NAME_FOR_EMPTY_ENDKEY would be a better name. In createRegionName(): {code} if (id != null || id.length 0 ) { {code} should be used above. Update hregion encoded name to reduce logic and prevent region collisions in META - Key: HBASE-4616 URL: https://issues.apache.org/jira/browse/HBASE-4616 Project: HBase Issue Type: Umbrella Reporter: Alex Newman Assignee: Alex Newman Attachments: HBASE-4616.patch -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (HBASE-4616) Update hregion encoded name to reduce logic and prevent region collisions in META
[ https://issues.apache.org/jira/browse/HBASE-4616?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13159761#comment-13159761 ] Ted Yu commented on HBASE-4616: --- In SplitTransaction.java, getDaughterRegionIdTimestamp() is removed. I think we should take care of clock skew. Also, using hri.getRegionId() - 1 as Id for daughter region Ids is not intuitive. Update hregion encoded name to reduce logic and prevent region collisions in META - Key: HBASE-4616 URL: https://issues.apache.org/jira/browse/HBASE-4616 Project: HBase Issue Type: Umbrella Reporter: Alex Newman Assignee: Alex Newman Attachments: HBASE-4616.patch -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (HBASE-4616) Update hregion encoded name to reduce logic and prevent region collisions in META
[ https://issues.apache.org/jira/browse/HBASE-4616?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13130298#comment-13130298 ] Alex Newman commented on HBASE-4616: I am going to combine these tasks into one task. This will reduce potential double work v.v meta migration. Update hregion encoded name to reduce logic and prevent region collisions in META - Key: HBASE-4616 URL: https://issues.apache.org/jira/browse/HBASE-4616 Project: HBase Issue Type: Umbrella Reporter: Alex Newman Assignee: Alex Newman -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira