[jira] [Commented] (HBASE-4459) HbaseObjectWritable code is a byte, we will eventually run out of codes
[ https://issues.apache.org/jira/browse/HBASE-4459?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13113136#comment-13113136 ] Ted Yu commented on HBASE-4459: --- +1 on making code of type short. > HbaseObjectWritable code is a byte, we will eventually run out of codes > --- > > Key: HBASE-4459 > URL: https://issues.apache.org/jira/browse/HBASE-4459 > Project: HBase > Issue Type: Bug > Components: io >Reporter: Jonathan Gray >Priority: Critical > Fix For: 0.94.0 > > > There are about 90 classes/codes in HbaseObjectWritable currently and > Byte.MAX_VALUE is 127. In addition, anyone wanting to add custom classes but > not break compatibility might want to leave a gap before using codes and > that's difficult in such limited space. > Eventually we should get rid of this pattern that makes compatibility > difficult (better client/server protocol handshake) but we should probably at > least bump this to a short for 0.94. -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (HBASE-4459) HbaseObjectWritable code is a byte, we will eventually run out of codes
[ https://issues.apache.org/jira/browse/HBASE-4459?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13113413#comment-13113413 ] Todd Lipcon commented on HBASE-4459: We probably have to worry that someone has stored HBaseObjectWritables somewhere persistent, in which case just making the type a short is not backwards-compatible. Perhaps we should make it a varint, which I believe will encode the same for any existing data, but would be multibyte-capable? > HbaseObjectWritable code is a byte, we will eventually run out of codes > --- > > Key: HBASE-4459 > URL: https://issues.apache.org/jira/browse/HBASE-4459 > Project: HBase > Issue Type: Bug > Components: io >Reporter: Jonathan Gray >Priority: Critical > Fix For: 0.94.0 > > > There are about 90 classes/codes in HbaseObjectWritable currently and > Byte.MAX_VALUE is 127. In addition, anyone wanting to add custom classes but > not break compatibility might want to leave a gap before using codes and > that's difficult in such limited space. > Eventually we should get rid of this pattern that makes compatibility > difficult (better client/server protocol handshake) but we should probably at > least bump this to a short for 0.94. -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (HBASE-4459) HbaseObjectWritable code is a byte, we will eventually run out of codes
[ https://issues.apache.org/jira/browse/HBASE-4459?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13116155#comment-13116155 ] dhruba borthakur commented on HBASE-4459: - @Todd: which "varint" are you referring to here? > HbaseObjectWritable code is a byte, we will eventually run out of codes > --- > > Key: HBASE-4459 > URL: https://issues.apache.org/jira/browse/HBASE-4459 > Project: HBase > Issue Type: Bug > Components: io >Reporter: Jonathan Gray >Priority: Critical > Fix For: 0.94.0 > > > There are about 90 classes/codes in HbaseObjectWritable currently and > Byte.MAX_VALUE is 127. In addition, anyone wanting to add custom classes but > not break compatibility might want to leave a gap before using codes and > that's difficult in such limited space. > Eventually we should get rid of this pattern that makes compatibility > difficult (better client/server protocol handshake) but we should probably at > least bump this to a short for 0.94. -- 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-4459) HbaseObjectWritable code is a byte, we will eventually run out of codes
[ https://issues.apache.org/jira/browse/HBASE-4459?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13116333#comment-13116333 ] Todd Lipcon commented on HBASE-4459: The scheme in WritableUtils.writeVInt looks like it's backwards-compatible for small positive bytes: {code} if (i >= -112 && i <= 127) { stream.writeByte((byte)i); return; } {code} > HbaseObjectWritable code is a byte, we will eventually run out of codes > --- > > Key: HBASE-4459 > URL: https://issues.apache.org/jira/browse/HBASE-4459 > Project: HBase > Issue Type: Bug > Components: io >Reporter: Jonathan Gray >Priority: Critical > Fix For: 0.94.0 > > > There are about 90 classes/codes in HbaseObjectWritable currently and > Byte.MAX_VALUE is 127. In addition, anyone wanting to add custom classes but > not break compatibility might want to leave a gap before using codes and > that's difficult in such limited space. > Eventually we should get rid of this pattern that makes compatibility > difficult (better client/server protocol handshake) but we should probably at > least bump this to a short for 0.94. -- 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-4459) HbaseObjectWritable code is a byte, we will eventually run out of codes
[ https://issues.apache.org/jira/browse/HBASE-4459?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13126312#comment-13126312 ] Ted Yu commented on HBASE-4459: --- So this means we can replace out.writeByte(code) in HBaseObjectWritable.writeClassCode() with WritableUtils.writeVInt Shall we pull this JIRA into 0.92 ? > HbaseObjectWritable code is a byte, we will eventually run out of codes > --- > > Key: HBASE-4459 > URL: https://issues.apache.org/jira/browse/HBASE-4459 > Project: HBase > Issue Type: Bug > Components: io >Reporter: Jonathan Gray >Priority: Critical > Fix For: 0.94.0 > > > There are about 90 classes/codes in HbaseObjectWritable currently and > Byte.MAX_VALUE is 127. In addition, anyone wanting to add custom classes but > not break compatibility might want to leave a gap before using codes and > that's difficult in such limited space. > Eventually we should get rid of this pattern that makes compatibility > difficult (better client/server protocol handshake) but we should probably at > least bump this to a short for 0.94. -- 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-4459) HbaseObjectWritable code is a byte, we will eventually run out of codes
[ https://issues.apache.org/jira/browse/HBASE-4459?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13126332#comment-13126332 ] Jonathan Gray commented on HBASE-4459: -- I'm fine with pulling into 0.92 since it doesn't break any compatibility. > HbaseObjectWritable code is a byte, we will eventually run out of codes > --- > > Key: HBASE-4459 > URL: https://issues.apache.org/jira/browse/HBASE-4459 > Project: HBase > Issue Type: Bug > Components: io >Reporter: Jonathan Gray >Priority: Critical > Fix For: 0.92.0 > > > There are about 90 classes/codes in HbaseObjectWritable currently and > Byte.MAX_VALUE is 127. In addition, anyone wanting to add custom classes but > not break compatibility might want to leave a gap before using codes and > that's difficult in such limited space. > Eventually we should get rid of this pattern that makes compatibility > difficult (better client/server protocol handshake) but we should probably at > least bump this to a short for 0.94. -- 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-4459) HbaseObjectWritable code is a byte, we will eventually run out of codes
[ https://issues.apache.org/jira/browse/HBASE-4459?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13126854#comment-13126854 ] Jonathan Gray commented on HBASE-4459: -- - Why is Queue added within the scope of this JIRA? Seems unrelated. - Can you remove the unnecessary import re-org at the top? - Can we have a unit test which shows the backwards compatibility of this? Thanks for working on this Ram. > HbaseObjectWritable code is a byte, we will eventually run out of codes > --- > > Key: HBASE-4459 > URL: https://issues.apache.org/jira/browse/HBASE-4459 > Project: HBase > Issue Type: Bug > Components: io >Reporter: Jonathan Gray >Assignee: ramkrishna.s.vasudevan >Priority: Critical > Fix For: 0.92.0 > > Attachments: 4459.txt > > > There are about 90 classes/codes in HbaseObjectWritable currently and > Byte.MAX_VALUE is 127. In addition, anyone wanting to add custom classes but > not break compatibility might want to leave a gap before using codes and > that's difficult in such limited space. > Eventually we should get rid of this pattern that makes compatibility > difficult (better client/server protocol handshake) but we should probably at > least bump this to a short for 0.94. -- 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-4459) HbaseObjectWritable code is a byte, we will eventually run out of codes
[ https://issues.apache.org/jira/browse/HBASE-4459?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13126864#comment-13126864 ] stack commented on HBASE-4459: -- What is this about? {code} +} else if (Queue.class.isAssignableFrom(declClass)) { + Queue queue = (Queue)instanceObj; + int length = queue.size(); + out.writeInt(length); + Object obj; + for (int i = 0; i < length; i++) { +obj = queue.remove(); +writeObject(out, obj, obj.getClass(), conf); + } {code} Is it necessary to this patch? And this: {code} +} else if (Queue.class.isAssignableFrom(declaredClass)) { + int length = in.readInt(); + instance = new ConcurrentLinkedQueue(); + for (int i = 0; i < length; i++) { +((Queue)instance).add(readObject(in, conf)); + } {code} Looks good Ram. Any chance of a test to prove it works the way it used to? > HbaseObjectWritable code is a byte, we will eventually run out of codes > --- > > Key: HBASE-4459 > URL: https://issues.apache.org/jira/browse/HBASE-4459 > Project: HBase > Issue Type: Bug > Components: io >Reporter: Jonathan Gray >Assignee: ramkrishna.s.vasudevan >Priority: Critical > Fix For: 0.92.0 > > Attachments: 4459.txt > > > There are about 90 classes/codes in HbaseObjectWritable currently and > Byte.MAX_VALUE is 127. In addition, anyone wanting to add custom classes but > not break compatibility might want to leave a gap before using codes and > that's difficult in such limited space. > Eventually we should get rid of this pattern that makes compatibility > difficult (better client/server protocol handshake) but we should probably at > least bump this to a short for 0.94. -- 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-4459) HbaseObjectWritable code is a byte, we will eventually run out of codes
[ https://issues.apache.org/jira/browse/HBASE-4459?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13131185#comment-13131185 ] stack commented on HBASE-4459: -- +1 > HbaseObjectWritable code is a byte, we will eventually run out of codes > --- > > Key: HBASE-4459 > URL: https://issues.apache.org/jira/browse/HBASE-4459 > Project: HBase > Issue Type: Bug > Components: io >Reporter: Jonathan Gray >Assignee: ramkrishna.s.vasudevan >Priority: Critical > Fix For: 0.92.0 > > Attachments: 4459-v2.patch.txt, 4459.txt > > > There are about 90 classes/codes in HbaseObjectWritable currently and > Byte.MAX_VALUE is 127. In addition, anyone wanting to add custom classes but > not break compatibility might want to leave a gap before using codes and > that's difficult in such limited space. > Eventually we should get rid of this pattern that makes compatibility > difficult (better client/server protocol handshake) but we should probably at > least bump this to a short for 0.94. -- 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-4459) HbaseObjectWritable code is a byte, we will eventually run out of codes
[ https://issues.apache.org/jira/browse/HBASE-4459?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13131870#comment-13131870 ] ramkrishna.s.vasudevan commented on HBASE-4459: --- Commited to trunk and 0.92 branch. Thanks for the review Stack and Jon. > HbaseObjectWritable code is a byte, we will eventually run out of codes > --- > > Key: HBASE-4459 > URL: https://issues.apache.org/jira/browse/HBASE-4459 > Project: HBase > Issue Type: Bug > Components: io >Reporter: Jonathan Gray >Assignee: ramkrishna.s.vasudevan >Priority: Critical > Fix For: 0.92.0 > > Attachments: 4459-v2.patch.txt, 4459.txt > > > There are about 90 classes/codes in HbaseObjectWritable currently and > Byte.MAX_VALUE is 127. In addition, anyone wanting to add custom classes but > not break compatibility might want to leave a gap before using codes and > that's difficult in such limited space. > Eventually we should get rid of this pattern that makes compatibility > difficult (better client/server protocol handshake) but we should probably at > least bump this to a short for 0.94. -- 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-4459) HbaseObjectWritable code is a byte, we will eventually run out of codes
[ https://issues.apache.org/jira/browse/HBASE-4459?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13132114#comment-13132114 ] Hudson commented on HBASE-4459: --- Integrated in HBase-TRUNK #2346 (See [https://builds.apache.org/job/HBase-TRUNK/2346/]) HBASE-4459 HbaseObjectWritable code is a byte, we will eventually run out of codes ramkrishna : Files : * /hbase/trunk/CHANGES.txt * /hbase/trunk/src/main/java/org/apache/hadoop/hbase/io/HbaseObjectWritable.java * /hbase/trunk/src/test/java/org/apache/hadoop/hbase/io/TestHbaseObjectWritable.java > HbaseObjectWritable code is a byte, we will eventually run out of codes > --- > > Key: HBASE-4459 > URL: https://issues.apache.org/jira/browse/HBASE-4459 > Project: HBase > Issue Type: Bug > Components: io >Reporter: Jonathan Gray >Assignee: ramkrishna.s.vasudevan >Priority: Critical > Fix For: 0.92.0 > > Attachments: 4459-v2.patch.txt, 4459.txt > > > There are about 90 classes/codes in HbaseObjectWritable currently and > Byte.MAX_VALUE is 127. In addition, anyone wanting to add custom classes but > not break compatibility might want to leave a gap before using codes and > that's difficult in such limited space. > Eventually we should get rid of this pattern that makes compatibility > difficult (better client/server protocol handshake) but we should probably at > least bump this to a short for 0.94. -- 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-4459) HbaseObjectWritable code is a byte, we will eventually run out of codes
[ https://issues.apache.org/jira/browse/HBASE-4459?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13132564#comment-13132564 ] Hudson commented on HBASE-4459: --- Integrated in HBase-0.92 #75 (See [https://builds.apache.org/job/HBase-0.92/75/]) HBASE-4459 HbaseObjectWritable code is a byte, we will eventually run out of codes ramkrishna : Files : * /hbase/branches/0.92/CHANGES.txt * /hbase/branches/0.92/src/main/java/org/apache/hadoop/hbase/io/HbaseObjectWritable.java * /hbase/branches/0.92/src/test/java/org/apache/hadoop/hbase/io/TestHbaseObjectWritable.java > HbaseObjectWritable code is a byte, we will eventually run out of codes > --- > > Key: HBASE-4459 > URL: https://issues.apache.org/jira/browse/HBASE-4459 > Project: HBase > Issue Type: Bug > Components: io >Reporter: Jonathan Gray >Assignee: ramkrishna.s.vasudevan >Priority: Critical > Fix For: 0.92.0 > > Attachments: 4459-v2.patch.txt, 4459.txt > > > There are about 90 classes/codes in HbaseObjectWritable currently and > Byte.MAX_VALUE is 127. In addition, anyone wanting to add custom classes but > not break compatibility might want to leave a gap before using codes and > that's difficult in such limited space. > Eventually we should get rid of this pattern that makes compatibility > difficult (better client/server protocol handshake) but we should probably at > least bump this to a short for 0.94. -- 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