[jira] [Commented] (HBASE-9359) Convert KeyValue to Cell in hbase-client module - Result/Put/Delete, ColumnInterpreter
[ https://issues.apache.org/jira/browse/HBASE-9359?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13762834#comment-13762834 ] Nicolas Liochon commented on HBASE-9359: [~ram_krish] yes. Convert KeyValue to Cell in hbase-client module - Result/Put/Delete, ColumnInterpreter -- Key: HBASE-9359 URL: https://issues.apache.org/jira/browse/HBASE-9359 Project: HBase Issue Type: Sub-task Components: Client Affects Versions: 0.95.2 Reporter: Jonathan Hsieh Assignee: Jonathan Hsieh Fix For: 0.98.0, 0.96.0 Attachments: hbase-9334-9359.v4.patch, hbase-9359-9334.v5.patch, hbase-9359-9334.v6.patch, hbase-9359.patch, hbase-9359.v2.patch, hbase-9359.v3.patch, hbase-9359.v5.patch, hbase-9359.v6.patch This path is the second half of eliminating KeyValue from the client interfaces. This percolated through quite a bit. -- 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
[jira] [Commented] (HBASE-9359) Convert KeyValue to Cell in hbase-client module - Result/Put/Delete, ColumnInterpreter
[ https://issues.apache.org/jira/browse/HBASE-9359?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13763355#comment-13763355 ] Jonathan Hsieh commented on HBASE-9359: --- With the update in HBASE-9477 and with my ycsb pom dependent on my hbase-client 0.97.0-SNAPSHOT it seems to builds fine. Convert KeyValue to Cell in hbase-client module - Result/Put/Delete, ColumnInterpreter -- Key: HBASE-9359 URL: https://issues.apache.org/jira/browse/HBASE-9359 Project: HBase Issue Type: Sub-task Components: Client Affects Versions: 0.95.2 Reporter: Jonathan Hsieh Assignee: Jonathan Hsieh Fix For: 0.98.0, 0.96.0 Attachments: hbase-9334-9359.v4.patch, hbase-9359-9334.v5.patch, hbase-9359-9334.v6.patch, hbase-9359.patch, hbase-9359.v2.patch, hbase-9359.v3.patch, hbase-9359.v5.patch, hbase-9359.v6.patch This path is the second half of eliminating KeyValue from the client interfaces. This percolated through quite a bit. -- 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
[jira] [Commented] (HBASE-9359) Convert KeyValue to Cell in hbase-client module - Result/Put/Delete, ColumnInterpreter
[ https://issues.apache.org/jira/browse/HBASE-9359?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13763358#comment-13763358 ] Jonathan Hsieh commented on HBASE-9359: --- [~nkeywal] bq. BTW, it seems a KeyValue survived in WALEdit? This class being public through the coprocessors I only looked at hbase-common and hbase-client. Coprocs are in hbase-regionserver -- I didn't get everything in there and i believe it is understood to still be flexible. (normal clients shouldn't touch waledits.) File a follow on for that? Convert KeyValue to Cell in hbase-client module - Result/Put/Delete, ColumnInterpreter -- Key: HBASE-9359 URL: https://issues.apache.org/jira/browse/HBASE-9359 Project: HBase Issue Type: Sub-task Components: Client Affects Versions: 0.95.2 Reporter: Jonathan Hsieh Assignee: Jonathan Hsieh Fix For: 0.98.0, 0.96.0 Attachments: hbase-9334-9359.v4.patch, hbase-9359-9334.v5.patch, hbase-9359-9334.v6.patch, hbase-9359.patch, hbase-9359.v2.patch, hbase-9359.v3.patch, hbase-9359.v5.patch, hbase-9359.v6.patch This path is the second half of eliminating KeyValue from the client interfaces. This percolated through quite a bit. -- 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
[jira] [Commented] (HBASE-9359) Convert KeyValue to Cell in hbase-client module - Result/Put/Delete, ColumnInterpreter
[ https://issues.apache.org/jira/browse/HBASE-9359?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13763339#comment-13763339 ] Nicolas Liochon commented on HBASE-9359: BTW, it seems a KeyValue survived in WALEdit? This class being public through the coprocessors. Convert KeyValue to Cell in hbase-client module - Result/Put/Delete, ColumnInterpreter -- Key: HBASE-9359 URL: https://issues.apache.org/jira/browse/HBASE-9359 Project: HBase Issue Type: Sub-task Components: Client Affects Versions: 0.95.2 Reporter: Jonathan Hsieh Assignee: Jonathan Hsieh Fix For: 0.98.0, 0.96.0 Attachments: hbase-9334-9359.v4.patch, hbase-9359-9334.v5.patch, hbase-9359-9334.v6.patch, hbase-9359.patch, hbase-9359.v2.patch, hbase-9359.v3.patch, hbase-9359.v5.patch, hbase-9359.v6.patch This path is the second half of eliminating KeyValue from the client interfaces. This percolated through quite a bit. -- 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
[jira] [Commented] (HBASE-9359) Convert KeyValue to Cell in hbase-client module - Result/Put/Delete, ColumnInterpreter
[ https://issues.apache.org/jira/browse/HBASE-9359?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13763369#comment-13763369 ] Nicolas Liochon commented on HBASE-9359: bq. File a follow on for that? Done. Convert KeyValue to Cell in hbase-client module - Result/Put/Delete, ColumnInterpreter -- Key: HBASE-9359 URL: https://issues.apache.org/jira/browse/HBASE-9359 Project: HBase Issue Type: Sub-task Components: Client Affects Versions: 0.95.2 Reporter: Jonathan Hsieh Assignee: Jonathan Hsieh Fix For: 0.98.0, 0.96.0 Attachments: hbase-9334-9359.v4.patch, hbase-9359-9334.v5.patch, hbase-9359-9334.v6.patch, hbase-9359.patch, hbase-9359.v2.patch, hbase-9359.v3.patch, hbase-9359.v5.patch, hbase-9359.v6.patch This path is the second half of eliminating KeyValue from the client interfaces. This percolated through quite a bit. -- 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
[jira] [Commented] (HBASE-9359) Convert KeyValue to Cell in hbase-client module - Result/Put/Delete, ColumnInterpreter
[ https://issues.apache.org/jira/browse/HBASE-9359?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13762113#comment-13762113 ] Jonathan Hsieh commented on HBASE-9359: --- Originally came from discussion on HBASE-9334 but is mostly relevant to the HBASE-9359 part of the commit. [~nkeywal]: {quote} I may miss something obvious, but I understand that the goal of this change is to require a recompile but not modification of the client app (Recompile of client apps likely needed after this change.). But with this change: public KeyValue[] raw() { === public Cell[] raw() { A client which was calling 'raw' must now be changed to use 'Cell', no? Incidentally, it seems not possible to write a client that would work with 2 versions of HBase (i.e. modifying the client, but beeing able to compile the modified client with a previous version of HBase). I'm having the issue because I port the ycsb benchmark. It depends on raw. Lastly, audience parameter for 'cell' is private, but as it appears in a public interface I think it should be public... {quote} Good catch on the InterfaceAudience for Cell -- that should be updated. I'll file and commit that. The release notes here highlight the minor changes need to be done to applications -- change KeyValue to Cell, change ListKeyValue to ListCell. [~sershe]: {quote} +1 on fixing to not break compat... this is not the first time recently something was broken like that (getFamilyMap, then HBASE_CLASSPATH), can we use normal deprecation route to avoid breaking things. Jonathan Hsieh what do you think should be done? Would the above patch be easy to fix up? {quote} I think adding parts of the old api back is possible but it will incur some non-trivial performance cost -- generally we'll need to use KeyValueUtil.ensureKeyValue in many places and will also need to make copy conversions of ListKeyValue to ListCell and KeyValue[] to Cell[]. See some of the gymnastics in place for Coprocs and Filters. We've been updating apps/systems dependent on hbase (some flume connectors, hive) and it has been annoying but straight forward. There are several cases already where we have broken compat where we are not going to be able to restore the old api (some were due to writable-protobuf conversion such as HBASE-7215). In this patch I've added some of the most popular convenience methods to Cell as deprecated to minimize pain (#getRow, #getQualifier, #getFamily, #getValue). I think adding some of the other more popular ones is reasonable but adding everythign back is not. (a perf degraded #raw seems like a candidate now, as well as a rename of the interface to #rawCells()). Did ycsb encounter any other conversion pains? Other suggestions? Convert KeyValue to Cell in hbase-client module - Result/Put/Delete, ColumnInterpreter -- Key: HBASE-9359 URL: https://issues.apache.org/jira/browse/HBASE-9359 Project: HBase Issue Type: Sub-task Components: Client Affects Versions: 0.95.2 Reporter: Jonathan Hsieh Assignee: Jonathan Hsieh Fix For: 0.98.0, 0.96.0 Attachments: hbase-9334-9359.v4.patch, hbase-9359-9334.v5.patch, hbase-9359-9334.v6.patch, hbase-9359.patch, hbase-9359.v2.patch, hbase-9359.v3.patch, hbase-9359.v5.patch, hbase-9359.v6.patch This path is the second half of eliminating KeyValue from the client interfaces. This percolated through quite a bit. -- 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
[jira] [Commented] (HBASE-9359) Convert KeyValue to Cell in hbase-client module - Result/Put/Delete, ColumnInterpreter
[ https://issues.apache.org/jira/browse/HBASE-9359?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13762161#comment-13762161 ] Jonathan Hsieh commented on HBASE-9359: --- So we should rename the Cell raw() to Cell rawCells() and provide a deprecated and inefficient KeyValue[] raw() method. For one dependent system we were talking about backporting parts of the cell api back to 0.94's kv (#getValueArray, #getRowArray, #getFamilyArray, #getColumArray) so that a conversion could be done in 0.94 in a way that is mostly ready work in 0.96. If [~lhofhansl] is amenable to that I could get that done hopefully in the next week. Convert KeyValue to Cell in hbase-client module - Result/Put/Delete, ColumnInterpreter -- Key: HBASE-9359 URL: https://issues.apache.org/jira/browse/HBASE-9359 Project: HBase Issue Type: Sub-task Components: Client Affects Versions: 0.95.2 Reporter: Jonathan Hsieh Assignee: Jonathan Hsieh Fix For: 0.98.0, 0.96.0 Attachments: hbase-9334-9359.v4.patch, hbase-9359-9334.v5.patch, hbase-9359-9334.v6.patch, hbase-9359.patch, hbase-9359.v2.patch, hbase-9359.v3.patch, hbase-9359.v5.patch, hbase-9359.v6.patch This path is the second half of eliminating KeyValue from the client interfaces. This percolated through quite a bit. -- 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
[jira] [Commented] (HBASE-9359) Convert KeyValue to Cell in hbase-client module - Result/Put/Delete, ColumnInterpreter
[ https://issues.apache.org/jira/browse/HBASE-9359?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13762139#comment-13762139 ] Nicolas Liochon commented on HBASE-9359: The issue I have with ycsb is that I would like to keep the compatibility with the previous hbase versions. I can do with two connectors, but it's not great. As well, I think it's representative of a simple client (while writable are a little bit less simple, as it means you're writing a filter). KeyValue is not deprecated in 0.94: we're going directly from standard to non existent. Note that I don't advocate so much for doing a deprecate in 0.96 and a delete in 0.98: as we want to have two close releases it's more work without much benefits. It would be interesting if someone could write his code in 0.94 in a way that won't break in 0.96. But even for something as simple as raw(), I'm not sure it's possible. I don't know how many applications out there are *not* using the API impacted by protobuf but *are* impacted by the KeyValue removal. If ycsb is the only one, it's an easy decision... Convert KeyValue to Cell in hbase-client module - Result/Put/Delete, ColumnInterpreter -- Key: HBASE-9359 URL: https://issues.apache.org/jira/browse/HBASE-9359 Project: HBase Issue Type: Sub-task Components: Client Affects Versions: 0.95.2 Reporter: Jonathan Hsieh Assignee: Jonathan Hsieh Fix For: 0.98.0, 0.96.0 Attachments: hbase-9334-9359.v4.patch, hbase-9359-9334.v5.patch, hbase-9359-9334.v6.patch, hbase-9359.patch, hbase-9359.v2.patch, hbase-9359.v3.patch, hbase-9359.v5.patch, hbase-9359.v6.patch This path is the second half of eliminating KeyValue from the client interfaces. This percolated through quite a bit. -- 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
[jira] [Commented] (HBASE-9359) Convert KeyValue to Cell in hbase-client module - Result/Put/Delete, ColumnInterpreter
[ https://issues.apache.org/jira/browse/HBASE-9359?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13762299#comment-13762299 ] Sergey Shelukhin commented on HBASE-9359: - +1 for rawCells solution... can we also do something similar for list(). Aside from ycsb it also breaks hive HBase handler. Convert KeyValue to Cell in hbase-client module - Result/Put/Delete, ColumnInterpreter -- Key: HBASE-9359 URL: https://issues.apache.org/jira/browse/HBASE-9359 Project: HBase Issue Type: Sub-task Components: Client Affects Versions: 0.95.2 Reporter: Jonathan Hsieh Assignee: Jonathan Hsieh Fix For: 0.98.0, 0.96.0 Attachments: hbase-9334-9359.v4.patch, hbase-9359-9334.v5.patch, hbase-9359-9334.v6.patch, hbase-9359.patch, hbase-9359.v2.patch, hbase-9359.v3.patch, hbase-9359.v5.patch, hbase-9359.v6.patch This path is the second half of eliminating KeyValue from the client interfaces. This percolated through quite a bit. -- 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
[jira] [Commented] (HBASE-9359) Convert KeyValue to Cell in hbase-client module - Result/Put/Delete, ColumnInterpreter
[ https://issues.apache.org/jira/browse/HBASE-9359?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13762276#comment-13762276 ] Lars Hofhansl commented on HBASE-9359: -- That would be additional API on an internal class; that should be 100% backward compatible. Fine with me :) Presumable in 0.94 these all would just return the one byte[] backing the KeyValue, right? Convert KeyValue to Cell in hbase-client module - Result/Put/Delete, ColumnInterpreter -- Key: HBASE-9359 URL: https://issues.apache.org/jira/browse/HBASE-9359 Project: HBase Issue Type: Sub-task Components: Client Affects Versions: 0.95.2 Reporter: Jonathan Hsieh Assignee: Jonathan Hsieh Fix For: 0.98.0, 0.96.0 Attachments: hbase-9334-9359.v4.patch, hbase-9359-9334.v5.patch, hbase-9359-9334.v6.patch, hbase-9359.patch, hbase-9359.v2.patch, hbase-9359.v3.patch, hbase-9359.v5.patch, hbase-9359.v6.patch This path is the second half of eliminating KeyValue from the client interfaces. This percolated through quite a bit. -- 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
[jira] [Commented] (HBASE-9359) Convert KeyValue to Cell in hbase-client module - Result/Put/Delete, ColumnInterpreter
[ https://issues.apache.org/jira/browse/HBASE-9359?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13762322#comment-13762322 ] Jonathan Hsieh commented on HBASE-9359: --- [~lhofhansl]: bq. Presumable in 0.94 these all would just return the one byte[] backing the KeyValue, right? Roughly what we would do is add have #get\*Array (where \* is Row,Value,Family,Column) return #getBuffer() (the single base pointer), and also add corresponding #get*Offset and #get\*Length methods with the calculated offsets for the others. In the 0.96 version I believe the KeyValue Cell essentially does this and for the PrefixTreeCell implementation it would return potentially shared base pointer with the same length but a get\*Offset of 0. Convert KeyValue to Cell in hbase-client module - Result/Put/Delete, ColumnInterpreter -- Key: HBASE-9359 URL: https://issues.apache.org/jira/browse/HBASE-9359 Project: HBase Issue Type: Sub-task Components: Client Affects Versions: 0.95.2 Reporter: Jonathan Hsieh Assignee: Jonathan Hsieh Fix For: 0.98.0, 0.96.0 Attachments: hbase-9334-9359.v4.patch, hbase-9359-9334.v5.patch, hbase-9359-9334.v6.patch, hbase-9359.patch, hbase-9359.v2.patch, hbase-9359.v3.patch, hbase-9359.v5.patch, hbase-9359.v6.patch This path is the second half of eliminating KeyValue from the client interfaces. This percolated through quite a bit. -- 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
[jira] [Commented] (HBASE-9359) Convert KeyValue to Cell in hbase-client module - Result/Put/Delete, ColumnInterpreter
[ https://issues.apache.org/jira/browse/HBASE-9359?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13762302#comment-13762302 ] Sergey Shelukhin commented on HBASE-9359: - Hmm, wrt deprecated/inefficient. What is the official method of doing efficient Cell writes and reads? I was relucatant to change the handler because cell methods would seem to require copies. Should CellCodec be used? Convert KeyValue to Cell in hbase-client module - Result/Put/Delete, ColumnInterpreter -- Key: HBASE-9359 URL: https://issues.apache.org/jira/browse/HBASE-9359 Project: HBase Issue Type: Sub-task Components: Client Affects Versions: 0.95.2 Reporter: Jonathan Hsieh Assignee: Jonathan Hsieh Fix For: 0.98.0, 0.96.0 Attachments: hbase-9334-9359.v4.patch, hbase-9359-9334.v5.patch, hbase-9359-9334.v6.patch, hbase-9359.patch, hbase-9359.v2.patch, hbase-9359.v3.patch, hbase-9359.v5.patch, hbase-9359.v6.patch This path is the second half of eliminating KeyValue from the client interfaces. This percolated through quite a bit. -- 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
[jira] [Commented] (HBASE-9359) Convert KeyValue to Cell in hbase-client module - Result/Put/Delete, ColumnInterpreter
[ https://issues.apache.org/jira/browse/HBASE-9359?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13762367#comment-13762367 ] stack commented on HBASE-9359: -- Is it not common in ycsb land to have different connectors for different client versions? (I presume that is what is going on when you get ycsb and it lists different versions of the bundled connectors). bq. So we should rename the Cell raw() to Cell rawCells() and provide a deprecated and inefficient KeyValue[] raw() method. +1 on this. bq. For one dependent system we were talking about backporting parts of the cell api back to 0.94's kv (#getValueArray, #getRowArray, #getFamilyArray, #getColumArray) so that a conversion could be done in 0.94 in a way that is mostly ready work in 0.96. I see little value in this: i.e. have user upgrade to recent 0.94 (pain), change your client api in 0.94 (pain), then you can go to 0.96 w/ small change. bq. Should CellCodec be used? This requires copies also. Can be optionally encoded and/or compressed though. Convert KeyValue to Cell in hbase-client module - Result/Put/Delete, ColumnInterpreter -- Key: HBASE-9359 URL: https://issues.apache.org/jira/browse/HBASE-9359 Project: HBase Issue Type: Sub-task Components: Client Affects Versions: 0.95.2 Reporter: Jonathan Hsieh Assignee: Jonathan Hsieh Fix For: 0.98.0, 0.96.0 Attachments: hbase-9334-9359.v4.patch, hbase-9359-9334.v5.patch, hbase-9359-9334.v6.patch, hbase-9359.patch, hbase-9359.v2.patch, hbase-9359.v3.patch, hbase-9359.v5.patch, hbase-9359.v6.patch This path is the second half of eliminating KeyValue from the client interfaces. This percolated through quite a bit. -- 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
[jira] [Commented] (HBASE-9359) Convert KeyValue to Cell in hbase-client module - Result/Put/Delete, ColumnInterpreter
[ https://issues.apache.org/jira/browse/HBASE-9359?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13762324#comment-13762324 ] Enis Soztutar commented on HBASE-9359: -- My understanding is that it is not a huge deal to force small changes to the clients, but the problem is those changes won't be compatible with 0.94 code base. Thus each client has to either update and drop support for 0.94, or have shim layer for HBase. Both of these will cause us big headaches I believe. Convert KeyValue to Cell in hbase-client module - Result/Put/Delete, ColumnInterpreter -- Key: HBASE-9359 URL: https://issues.apache.org/jira/browse/HBASE-9359 Project: HBase Issue Type: Sub-task Components: Client Affects Versions: 0.95.2 Reporter: Jonathan Hsieh Assignee: Jonathan Hsieh Fix For: 0.98.0, 0.96.0 Attachments: hbase-9334-9359.v4.patch, hbase-9359-9334.v5.patch, hbase-9359-9334.v6.patch, hbase-9359.patch, hbase-9359.v2.patch, hbase-9359.v3.patch, hbase-9359.v5.patch, hbase-9359.v6.patch This path is the second half of eliminating KeyValue from the client interfaces. This percolated through quite a bit. -- 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
[jira] [Commented] (HBASE-9359) Convert KeyValue to Cell in hbase-client module - Result/Put/Delete, ColumnInterpreter
[ https://issues.apache.org/jira/browse/HBASE-9359?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13762332#comment-13762332 ] Jonathan Hsieh commented on HBASE-9359: --- [~sershe] the 0.96 mechanism I saw most commonly used in the unit tests was the KV#getValue, KV#getRow, KV#getColumn, and KV#getFamily methods. These all allocate new buffers and make copies. In the 0.96 interface of Cell, I added these methods with the same semantics but marked as deprecated (since it is inefficient). In 0.96 I've also added CellUtil#getValueArray, CellUtil#getRowArray, CellUtil#getColumnArray, and CellUtil#getFAmilyArray which have the byte allocate and copying semantics. Applications concerned about performance (avoiding copies when references will do) over legibility would have to be pointer aware could read directly from the Cell#get*Array (careful, this actually acts more like a pointer than an array, and is assumed but not enforced to be immutable) using Cell#get*Offset as a index into the pointer and Cell#get*Length as a bounds check. Convert KeyValue to Cell in hbase-client module - Result/Put/Delete, ColumnInterpreter -- Key: HBASE-9359 URL: https://issues.apache.org/jira/browse/HBASE-9359 Project: HBase Issue Type: Sub-task Components: Client Affects Versions: 0.95.2 Reporter: Jonathan Hsieh Assignee: Jonathan Hsieh Fix For: 0.98.0, 0.96.0 Attachments: hbase-9334-9359.v4.patch, hbase-9359-9334.v5.patch, hbase-9359-9334.v6.patch, hbase-9359.patch, hbase-9359.v2.patch, hbase-9359.v3.patch, hbase-9359.v5.patch, hbase-9359.v6.patch This path is the second half of eliminating KeyValue from the client interfaces. This percolated through quite a bit. -- 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
[jira] [Commented] (HBASE-9359) Convert KeyValue to Cell in hbase-client module - Result/Put/Delete, ColumnInterpreter
[ https://issues.apache.org/jira/browse/HBASE-9359?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13762333#comment-13762333 ] Jonathan Hsieh commented on HBASE-9359: --- Also, I haven't looked at CellCodec yet. Convert KeyValue to Cell in hbase-client module - Result/Put/Delete, ColumnInterpreter -- Key: HBASE-9359 URL: https://issues.apache.org/jira/browse/HBASE-9359 Project: HBase Issue Type: Sub-task Components: Client Affects Versions: 0.95.2 Reporter: Jonathan Hsieh Assignee: Jonathan Hsieh Fix For: 0.98.0, 0.96.0 Attachments: hbase-9334-9359.v4.patch, hbase-9359-9334.v5.patch, hbase-9359-9334.v6.patch, hbase-9359.patch, hbase-9359.v2.patch, hbase-9359.v3.patch, hbase-9359.v5.patch, hbase-9359.v6.patch This path is the second half of eliminating KeyValue from the client interfaces. This percolated through quite a bit. -- 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
[jira] [Commented] (HBASE-9359) Convert KeyValue to Cell in hbase-client module - Result/Put/Delete, ColumnInterpreter
[ https://issues.apache.org/jira/browse/HBASE-9359?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13762452#comment-13762452 ] Sergey Shelukhin commented on HBASE-9359: - So what's the non-copy way? Should we write the codec or CellUtil method that would secretly cast Cell to KeyValue if it is one (which is always, in 96) and only do the copy otherwise? Convert KeyValue to Cell in hbase-client module - Result/Put/Delete, ColumnInterpreter -- Key: HBASE-9359 URL: https://issues.apache.org/jira/browse/HBASE-9359 Project: HBase Issue Type: Sub-task Components: Client Affects Versions: 0.95.2 Reporter: Jonathan Hsieh Assignee: Jonathan Hsieh Fix For: 0.98.0, 0.96.0 Attachments: hbase-9334-9359.v4.patch, hbase-9359-9334.v5.patch, hbase-9359-9334.v6.patch, hbase-9359.patch, hbase-9359.v2.patch, hbase-9359.v3.patch, hbase-9359.v5.patch, hbase-9359.v6.patch This path is the second half of eliminating KeyValue from the client interfaces. This percolated through quite a bit. -- 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
[jira] [Commented] (HBASE-9359) Convert KeyValue to Cell in hbase-client module - Result/Put/Delete, ColumnInterpreter
[ https://issues.apache.org/jira/browse/HBASE-9359?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13762461#comment-13762461 ] Jonathan Hsieh commented on HBASE-9359: --- The secret cast method exists -- it is KeyValueUtil.ensureKeyValue(Cell). The problem has to do with generic aggregate types with a type parameter. For example this code in in invalid: {code} ListCell foo == ...; ListKeyValue bar = foo; // compile time fail. {code} Essentially the inefficiency come with a copy necessary for doing this. {code} ListCell foo == ...; ListKeyValue bar = foo; // no good. see [1] {code} [1] https://issues.apache.org/jira/browse/HBASE-9359?focusedCommentId=13752906page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-13752906 Convert KeyValue to Cell in hbase-client module - Result/Put/Delete, ColumnInterpreter -- Key: HBASE-9359 URL: https://issues.apache.org/jira/browse/HBASE-9359 Project: HBase Issue Type: Sub-task Components: Client Affects Versions: 0.95.2 Reporter: Jonathan Hsieh Assignee: Jonathan Hsieh Fix For: 0.98.0, 0.96.0 Attachments: hbase-9334-9359.v4.patch, hbase-9359-9334.v5.patch, hbase-9359-9334.v6.patch, hbase-9359.patch, hbase-9359.v2.patch, hbase-9359.v3.patch, hbase-9359.v5.patch, hbase-9359.v6.patch This path is the second half of eliminating KeyValue from the client interfaces. This percolated through quite a bit. -- 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
[jira] [Commented] (HBASE-9359) Convert KeyValue to Cell in hbase-client module - Result/Put/Delete, ColumnInterpreter
[ https://issues.apache.org/jira/browse/HBASE-9359?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13762463#comment-13762463 ] Sergey Shelukhin commented on HBASE-9359: - KeyValueCodec I guess Convert KeyValue to Cell in hbase-client module - Result/Put/Delete, ColumnInterpreter -- Key: HBASE-9359 URL: https://issues.apache.org/jira/browse/HBASE-9359 Project: HBase Issue Type: Sub-task Components: Client Affects Versions: 0.95.2 Reporter: Jonathan Hsieh Assignee: Jonathan Hsieh Fix For: 0.98.0, 0.96.0 Attachments: hbase-9334-9359.v4.patch, hbase-9359-9334.v5.patch, hbase-9359-9334.v6.patch, hbase-9359.patch, hbase-9359.v2.patch, hbase-9359.v3.patch, hbase-9359.v5.patch, hbase-9359.v6.patch This path is the second half of eliminating KeyValue from the client interfaces. This percolated through quite a bit. -- 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
[jira] [Commented] (HBASE-9359) Convert KeyValue to Cell in hbase-client module - Result/Put/Delete, ColumnInterpreter
[ https://issues.apache.org/jira/browse/HBASE-9359?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13762681#comment-13762681 ] ramkrishna.s.vasudevan commented on HBASE-9359: --- So you mean this issue? {code} Am getting this now [ERROR] /home/ram/ycsb/YCSB/hbase/src/main/java/com/yahoo/ycsb/db/HBaseClient.java:[181,26] incompatible types [ERROR] found : org.apache.hadoop.hbase.Cell [ERROR] required: org.apache.hadoop.hbase.KeyValue [ERROR] /home/ram/ycsb/YCSB/hbase/src/main/java/com/yahoo/ycsb/db/HBaseClient.java:[255,41] incompatible types [ERROR] found : org.apache.hadoop.hbase.Cell [ERROR] required: org.apache.hadoop.hbase.KeyValue {code} this is what am getting while trying to compile ycsb with latest code. Convert KeyValue to Cell in hbase-client module - Result/Put/Delete, ColumnInterpreter -- Key: HBASE-9359 URL: https://issues.apache.org/jira/browse/HBASE-9359 Project: HBase Issue Type: Sub-task Components: Client Affects Versions: 0.95.2 Reporter: Jonathan Hsieh Assignee: Jonathan Hsieh Fix For: 0.98.0, 0.96.0 Attachments: hbase-9334-9359.v4.patch, hbase-9359-9334.v5.patch, hbase-9359-9334.v6.patch, hbase-9359.patch, hbase-9359.v2.patch, hbase-9359.v3.patch, hbase-9359.v5.patch, hbase-9359.v6.patch This path is the second half of eliminating KeyValue from the client interfaces. This percolated through quite a bit. -- 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
[jira] [Commented] (HBASE-9359) Convert KeyValue to Cell in hbase-client module - Result/Put/Delete, ColumnInterpreter
[ https://issues.apache.org/jira/browse/HBASE-9359?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13754469#comment-13754469 ] Jonathan Hsieh commented on HBASE-9359: --- v6 applies cleanly to 0.95/0.96. Convert KeyValue to Cell in hbase-client module - Result/Put/Delete, ColumnInterpreter -- Key: HBASE-9359 URL: https://issues.apache.org/jira/browse/HBASE-9359 Project: HBase Issue Type: Sub-task Components: Client Affects Versions: 0.95.2 Reporter: Jonathan Hsieh Assignee: Jonathan Hsieh Fix For: 0.98.0, 0.96.0 Attachments: hbase-9334-9359.v4.patch, hbase-9359-9334.v5.patch, hbase-9359-9334.v6.patch, hbase-9359.patch, hbase-9359.v2.patch, hbase-9359.v3.patch, hbase-9359.v5.patch, hbase-9359.v6.patch This path is the second half of eliminating KeyValue from the client interfaces. This percolated through quite a bit. -- 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
[jira] [Commented] (HBASE-9359) Convert KeyValue to Cell in hbase-client module - Result/Put/Delete, ColumnInterpreter
[ https://issues.apache.org/jira/browse/HBASE-9359?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13754470#comment-13754470 ] Hadoop QA commented on HBASE-9359: -- {color:green}+1 overall{color}. Here are the results of testing the latest attachment http://issues.apache.org/jira/secure/attachment/12600739/hbase-9359-9334.v6.patch against trunk revision . {color:green}+1 @author{color}. The patch does not contain any @author tags. {color:green}+1 tests included{color}. The patch appears to include 231 new or modified tests. {color:green}+1 hadoop1.0{color}. The patch compiles against the hadoop 1.0 profile. {color:green}+1 hadoop2.0{color}. The patch compiles against the hadoop 2.0 profile. {color:green}+1 javadoc{color}. The javadoc tool did not generate any warning messages. {color:green}+1 javac{color}. The applied patch does not increase the total number of javac compiler warnings. {color:green}+1 findbugs{color}. The patch does not introduce any new Findbugs (version 1.3.9) warnings. {color:green}+1 release audit{color}. The applied patch does not increase the total number of release audit warnings. {color:green}+1 lineLengths{color}. The patch does not introduce lines longer than 100 {color:green}+1 site{color}. The mvn site goal succeeds with this patch. {color:green}+1 core tests{color}. The patch passed unit tests in . Test results: https://builds.apache.org/job/PreCommit-HBASE-Build/6979//testReport/ Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/6979//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-prefix-tree.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/6979//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-client.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/6979//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-common.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/6979//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-protocol.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/6979//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-server.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/6979//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-hadoop1-compat.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/6979//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-examples.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/6979//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-hadoop-compat.html Console output: https://builds.apache.org/job/PreCommit-HBASE-Build/6979//console This message is automatically generated. Convert KeyValue to Cell in hbase-client module - Result/Put/Delete, ColumnInterpreter -- Key: HBASE-9359 URL: https://issues.apache.org/jira/browse/HBASE-9359 Project: HBase Issue Type: Sub-task Components: Client Affects Versions: 0.95.2 Reporter: Jonathan Hsieh Assignee: Jonathan Hsieh Fix For: 0.98.0, 0.96.0 Attachments: hbase-9334-9359.v4.patch, hbase-9359-9334.v5.patch, hbase-9359-9334.v6.patch, hbase-9359.patch, hbase-9359.v2.patch, hbase-9359.v3.patch, hbase-9359.v5.patch, hbase-9359.v6.patch This path is the second half of eliminating KeyValue from the client interfaces. This percolated through quite a bit. -- 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
[jira] [Commented] (HBASE-9359) Convert KeyValue to Cell in hbase-client module - Result/Put/Delete, ColumnInterpreter
[ https://issues.apache.org/jira/browse/HBASE-9359?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13754519#comment-13754519 ] Hadoop QA commented on HBASE-9359: -- {color:red}-1 overall{color}. Here are the results of testing the latest attachment http://issues.apache.org/jira/secure/attachment/12600739/hbase-9359-9334.v6.patch against trunk revision . {color:green}+1 @author{color}. The patch does not contain any @author tags. {color:green}+1 tests included{color}. The patch appears to include 231 new or modified tests. {color:green}+1 hadoop1.0{color}. The patch compiles against the hadoop 1.0 profile. {color:green}+1 hadoop2.0{color}. The patch compiles against the hadoop 2.0 profile. {color:green}+1 javadoc{color}. The javadoc tool did not generate any warning messages. {color:green}+1 javac{color}. The applied patch does not increase the total number of javac compiler warnings. {color:red}-1 findbugs{color}. The patch appears to cause Findbugs (version 1.3.9) to fail. {color:green}+1 release audit{color}. The applied patch does not increase the total number of release audit warnings. {color:green}+1 lineLengths{color}. The patch does not introduce lines longer than 100 {color:green}+1 site{color}. The mvn site goal succeeds with this patch. {color:green}+1 core tests{color}. The patch passed unit tests in . Test results: https://builds.apache.org/job/PreCommit-HBASE-Build/6982//testReport/ Console output: https://builds.apache.org/job/PreCommit-HBASE-Build/6982//console This message is automatically generated. Convert KeyValue to Cell in hbase-client module - Result/Put/Delete, ColumnInterpreter -- Key: HBASE-9359 URL: https://issues.apache.org/jira/browse/HBASE-9359 Project: HBase Issue Type: Sub-task Components: Client Affects Versions: 0.95.2 Reporter: Jonathan Hsieh Assignee: Jonathan Hsieh Fix For: 0.98.0, 0.96.0 Attachments: hbase-9334-9359.v4.patch, hbase-9359-9334.v5.patch, hbase-9359-9334.v6.patch, hbase-9359.patch, hbase-9359.v2.patch, hbase-9359.v3.patch, hbase-9359.v5.patch, hbase-9359.v6.patch This path is the second half of eliminating KeyValue from the client interfaces. This percolated through quite a bit. -- 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
[jira] [Commented] (HBASE-9359) Convert KeyValue to Cell in hbase-client module - Result/Put/Delete, ColumnInterpreter
[ https://issues.apache.org/jira/browse/HBASE-9359?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13755206#comment-13755206 ] Hudson commented on HBASE-9359: --- SUCCESS: Integrated in hbase-0.95 #511 (See [https://builds.apache.org/job/hbase-0.95/511/]) HBASE-9334 Convert KeyValue to Cell in hbase-client module - Filters HBASE-9359 Convert KeyValue to Cell in hbase-client module - Result/Put/Delete, ColumnInterpreter (jmhsieh: rev 1519076) * /hbase/branches/0.95/hbase-client/src/main/java/org/apache/hadoop/hbase/Coprocessor.java * /hbase/branches/0.95/hbase-client/src/main/java/org/apache/hadoop/hbase/client/ClientScanner.java * /hbase/branches/0.95/hbase-client/src/main/java/org/apache/hadoop/hbase/client/Delete.java * /hbase/branches/0.95/hbase-client/src/main/java/org/apache/hadoop/hbase/client/Get.java * /hbase/branches/0.95/hbase-client/src/main/java/org/apache/hadoop/hbase/client/Put.java * /hbase/branches/0.95/hbase-client/src/main/java/org/apache/hadoop/hbase/client/Result.java * /hbase/branches/0.95/hbase-client/src/main/java/org/apache/hadoop/hbase/client/ScannerCallable.java * /hbase/branches/0.95/hbase-client/src/main/java/org/apache/hadoop/hbase/client/coprocessor/BigDecimalColumnInterpreter.java * /hbase/branches/0.95/hbase-client/src/main/java/org/apache/hadoop/hbase/client/coprocessor/LongColumnInterpreter.java * /hbase/branches/0.95/hbase-client/src/main/java/org/apache/hadoop/hbase/coprocessor/ColumnInterpreter.java * /hbase/branches/0.95/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/ColumnCountGetFilter.java * /hbase/branches/0.95/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/ColumnPaginationFilter.java * /hbase/branches/0.95/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/ColumnPrefixFilter.java * /hbase/branches/0.95/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/ColumnRangeFilter.java * /hbase/branches/0.95/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/CompareFilter.java * /hbase/branches/0.95/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/DependentColumnFilter.java * /hbase/branches/0.95/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/FamilyFilter.java * /hbase/branches/0.95/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/Filter.java * /hbase/branches/0.95/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/FilterBase.java * /hbase/branches/0.95/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/FilterList.java * /hbase/branches/0.95/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/FilterWrapper.java * /hbase/branches/0.95/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/FirstKeyOnlyFilter.java * /hbase/branches/0.95/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/FirstKeyValueMatchingQualifiersFilter.java * /hbase/branches/0.95/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/FuzzyRowFilter.java * /hbase/branches/0.95/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/KeyOnlyFilter.java * /hbase/branches/0.95/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/MultipleColumnPrefixFilter.java * /hbase/branches/0.95/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/NullComparator.java * /hbase/branches/0.95/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/ParseFilter.java * /hbase/branches/0.95/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/QualifierFilter.java * /hbase/branches/0.95/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/RandomRowFilter.java * /hbase/branches/0.95/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/RowFilter.java * /hbase/branches/0.95/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/SingleColumnValueExcludeFilter.java * /hbase/branches/0.95/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/SingleColumnValueFilter.java * /hbase/branches/0.95/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/SkipFilter.java * /hbase/branches/0.95/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/TimestampsFilter.java * /hbase/branches/0.95/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/ValueFilter.java * /hbase/branches/0.95/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/WhileMatchFilter.java * /hbase/branches/0.95/hbase-client/src/test/java/org/apache/hadoop/hbase/ipc/TestPayloadCarryingRpcController.java * /hbase/branches/0.95/hbase-common/src/main/java/org/apache/hadoop/hbase/Cell.java * /hbase/branches/0.95/hbase-common/src/main/java/org/apache/hadoop/hbase/CellUtil.java * /hbase/branches/0.95/hbase-common/src/main/java/org/apache/hadoop/hbase/KeyValue.java * /hbase/branches/0.95/hbase-common/src/main/java/org/apache/hadoop/hbase/KeyValueTestUtil.java * /hbase/branches/0.95/hbase-common/src/main/java/org/apache/hadoop/hbase/io/encoding/EncodedDataBlock.java *
[jira] [Commented] (HBASE-9359) Convert KeyValue to Cell in hbase-client module - Result/Put/Delete, ColumnInterpreter
[ https://issues.apache.org/jira/browse/HBASE-9359?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13755230#comment-13755230 ] Hudson commented on HBASE-9359: --- SUCCESS: Integrated in HBase-TRUNK #4452 (See [https://builds.apache.org/job/HBase-TRUNK/4452/]) HBASE-9334 Convert KeyValue to Cell in hbase-client module - Filters HBASE-9359 Convert KeyValue to Cell in hbase-client module - Result/Put/Delete, ColumnInterpreter (jmhsieh: rev 1519077) * /hbase/trunk/hbase-client/src/main/java/org/apache/hadoop/hbase/Coprocessor.java * /hbase/trunk/hbase-client/src/main/java/org/apache/hadoop/hbase/client/ClientScanner.java * /hbase/trunk/hbase-client/src/main/java/org/apache/hadoop/hbase/client/Delete.java * /hbase/trunk/hbase-client/src/main/java/org/apache/hadoop/hbase/client/Get.java * /hbase/trunk/hbase-client/src/main/java/org/apache/hadoop/hbase/client/Put.java * /hbase/trunk/hbase-client/src/main/java/org/apache/hadoop/hbase/client/Result.java * /hbase/trunk/hbase-client/src/main/java/org/apache/hadoop/hbase/client/ScannerCallable.java * /hbase/trunk/hbase-client/src/main/java/org/apache/hadoop/hbase/client/coprocessor/AggregationClient.java * /hbase/trunk/hbase-client/src/main/java/org/apache/hadoop/hbase/client/coprocessor/BigDecimalColumnInterpreter.java * /hbase/trunk/hbase-client/src/main/java/org/apache/hadoop/hbase/client/coprocessor/LongColumnInterpreter.java * /hbase/trunk/hbase-client/src/main/java/org/apache/hadoop/hbase/coprocessor/ColumnInterpreter.java * /hbase/trunk/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/ColumnCountGetFilter.java * /hbase/trunk/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/ColumnPaginationFilter.java * /hbase/trunk/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/ColumnPrefixFilter.java * /hbase/trunk/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/ColumnRangeFilter.java * /hbase/trunk/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/CompareFilter.java * /hbase/trunk/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/DependentColumnFilter.java * /hbase/trunk/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/FamilyFilter.java * /hbase/trunk/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/Filter.java * /hbase/trunk/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/FilterBase.java * /hbase/trunk/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/FilterList.java * /hbase/trunk/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/FilterWrapper.java * /hbase/trunk/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/FirstKeyOnlyFilter.java * /hbase/trunk/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/FirstKeyValueMatchingQualifiersFilter.java * /hbase/trunk/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/FuzzyRowFilter.java * /hbase/trunk/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/KeyOnlyFilter.java * /hbase/trunk/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/MultipleColumnPrefixFilter.java * /hbase/trunk/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/NullComparator.java * /hbase/trunk/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/ParseFilter.java * /hbase/trunk/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/QualifierFilter.java * /hbase/trunk/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/RandomRowFilter.java * /hbase/trunk/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/RowFilter.java * /hbase/trunk/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/SingleColumnValueExcludeFilter.java * /hbase/trunk/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/SingleColumnValueFilter.java * /hbase/trunk/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/SkipFilter.java * /hbase/trunk/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/TimestampsFilter.java * /hbase/trunk/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/ValueFilter.java * /hbase/trunk/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/WhileMatchFilter.java * /hbase/trunk/hbase-client/src/test/java/org/apache/hadoop/hbase/ipc/TestPayloadCarryingRpcController.java * /hbase/trunk/hbase-common/src/main/java/org/apache/hadoop/hbase/Cell.java * /hbase/trunk/hbase-common/src/main/java/org/apache/hadoop/hbase/CellUtil.java * /hbase/trunk/hbase-common/src/main/java/org/apache/hadoop/hbase/KeyValue.java * /hbase/trunk/hbase-common/src/main/java/org/apache/hadoop/hbase/KeyValueTestUtil.java * /hbase/trunk/hbase-common/src/main/java/org/apache/hadoop/hbase/io/encoding/EncodedDataBlock.java * /hbase/trunk/hbase-examples/src/main/java/org/apache/hadoop/hbase/coprocessor/example/BulkDeleteEndpoint.java * /hbase/trunk/hbase-examples/src/main/java/org/apache/hadoop/hbase/coprocessor/example/RowCountEndpoint.java *
[jira] [Commented] (HBASE-9359) Convert KeyValue to Cell in hbase-client module - Result/Put/Delete, ColumnInterpreter
[ https://issues.apache.org/jira/browse/HBASE-9359?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13755285#comment-13755285 ] Hudson commented on HBASE-9359: --- SUCCESS: Integrated in hbase-0.95-on-hadoop2 #283 (See [https://builds.apache.org/job/hbase-0.95-on-hadoop2/283/]) HBASE-9334 Convert KeyValue to Cell in hbase-client module - Filters HBASE-9359 Convert KeyValue to Cell in hbase-client module - Result/Put/Delete, ColumnInterpreter (jmhsieh: rev 1519076) * /hbase/branches/0.95/hbase-client/src/main/java/org/apache/hadoop/hbase/Coprocessor.java * /hbase/branches/0.95/hbase-client/src/main/java/org/apache/hadoop/hbase/client/ClientScanner.java * /hbase/branches/0.95/hbase-client/src/main/java/org/apache/hadoop/hbase/client/Delete.java * /hbase/branches/0.95/hbase-client/src/main/java/org/apache/hadoop/hbase/client/Get.java * /hbase/branches/0.95/hbase-client/src/main/java/org/apache/hadoop/hbase/client/Put.java * /hbase/branches/0.95/hbase-client/src/main/java/org/apache/hadoop/hbase/client/Result.java * /hbase/branches/0.95/hbase-client/src/main/java/org/apache/hadoop/hbase/client/ScannerCallable.java * /hbase/branches/0.95/hbase-client/src/main/java/org/apache/hadoop/hbase/client/coprocessor/BigDecimalColumnInterpreter.java * /hbase/branches/0.95/hbase-client/src/main/java/org/apache/hadoop/hbase/client/coprocessor/LongColumnInterpreter.java * /hbase/branches/0.95/hbase-client/src/main/java/org/apache/hadoop/hbase/coprocessor/ColumnInterpreter.java * /hbase/branches/0.95/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/ColumnCountGetFilter.java * /hbase/branches/0.95/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/ColumnPaginationFilter.java * /hbase/branches/0.95/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/ColumnPrefixFilter.java * /hbase/branches/0.95/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/ColumnRangeFilter.java * /hbase/branches/0.95/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/CompareFilter.java * /hbase/branches/0.95/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/DependentColumnFilter.java * /hbase/branches/0.95/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/FamilyFilter.java * /hbase/branches/0.95/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/Filter.java * /hbase/branches/0.95/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/FilterBase.java * /hbase/branches/0.95/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/FilterList.java * /hbase/branches/0.95/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/FilterWrapper.java * /hbase/branches/0.95/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/FirstKeyOnlyFilter.java * /hbase/branches/0.95/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/FirstKeyValueMatchingQualifiersFilter.java * /hbase/branches/0.95/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/FuzzyRowFilter.java * /hbase/branches/0.95/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/KeyOnlyFilter.java * /hbase/branches/0.95/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/MultipleColumnPrefixFilter.java * /hbase/branches/0.95/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/NullComparator.java * /hbase/branches/0.95/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/ParseFilter.java * /hbase/branches/0.95/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/QualifierFilter.java * /hbase/branches/0.95/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/RandomRowFilter.java * /hbase/branches/0.95/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/RowFilter.java * /hbase/branches/0.95/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/SingleColumnValueExcludeFilter.java * /hbase/branches/0.95/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/SingleColumnValueFilter.java * /hbase/branches/0.95/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/SkipFilter.java * /hbase/branches/0.95/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/TimestampsFilter.java * /hbase/branches/0.95/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/ValueFilter.java * /hbase/branches/0.95/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/WhileMatchFilter.java * /hbase/branches/0.95/hbase-client/src/test/java/org/apache/hadoop/hbase/ipc/TestPayloadCarryingRpcController.java * /hbase/branches/0.95/hbase-common/src/main/java/org/apache/hadoop/hbase/Cell.java * /hbase/branches/0.95/hbase-common/src/main/java/org/apache/hadoop/hbase/CellUtil.java * /hbase/branches/0.95/hbase-common/src/main/java/org/apache/hadoop/hbase/KeyValue.java * /hbase/branches/0.95/hbase-common/src/main/java/org/apache/hadoop/hbase/KeyValueTestUtil.java * /hbase/branches/0.95/hbase-common/src/main/java/org/apache/hadoop/hbase/io/encoding/EncodedDataBlock.java *
[jira] [Commented] (HBASE-9359) Convert KeyValue to Cell in hbase-client module - Result/Put/Delete, ColumnInterpreter
[ https://issues.apache.org/jira/browse/HBASE-9359?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13755318#comment-13755318 ] Hudson commented on HBASE-9359: --- SUCCESS: Integrated in HBase-TRUNK-on-Hadoop-2.0.0 #705 (See [https://builds.apache.org/job/HBase-TRUNK-on-Hadoop-2.0.0/705/]) HBASE-9334 Convert KeyValue to Cell in hbase-client module - Filters HBASE-9359 Convert KeyValue to Cell in hbase-client module - Result/Put/Delete, ColumnInterpreter (jmhsieh: rev 1519077) * /hbase/trunk/hbase-client/src/main/java/org/apache/hadoop/hbase/Coprocessor.java * /hbase/trunk/hbase-client/src/main/java/org/apache/hadoop/hbase/client/ClientScanner.java * /hbase/trunk/hbase-client/src/main/java/org/apache/hadoop/hbase/client/Delete.java * /hbase/trunk/hbase-client/src/main/java/org/apache/hadoop/hbase/client/Get.java * /hbase/trunk/hbase-client/src/main/java/org/apache/hadoop/hbase/client/Put.java * /hbase/trunk/hbase-client/src/main/java/org/apache/hadoop/hbase/client/Result.java * /hbase/trunk/hbase-client/src/main/java/org/apache/hadoop/hbase/client/ScannerCallable.java * /hbase/trunk/hbase-client/src/main/java/org/apache/hadoop/hbase/client/coprocessor/AggregationClient.java * /hbase/trunk/hbase-client/src/main/java/org/apache/hadoop/hbase/client/coprocessor/BigDecimalColumnInterpreter.java * /hbase/trunk/hbase-client/src/main/java/org/apache/hadoop/hbase/client/coprocessor/LongColumnInterpreter.java * /hbase/trunk/hbase-client/src/main/java/org/apache/hadoop/hbase/coprocessor/ColumnInterpreter.java * /hbase/trunk/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/ColumnCountGetFilter.java * /hbase/trunk/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/ColumnPaginationFilter.java * /hbase/trunk/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/ColumnPrefixFilter.java * /hbase/trunk/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/ColumnRangeFilter.java * /hbase/trunk/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/CompareFilter.java * /hbase/trunk/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/DependentColumnFilter.java * /hbase/trunk/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/FamilyFilter.java * /hbase/trunk/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/Filter.java * /hbase/trunk/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/FilterBase.java * /hbase/trunk/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/FilterList.java * /hbase/trunk/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/FilterWrapper.java * /hbase/trunk/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/FirstKeyOnlyFilter.java * /hbase/trunk/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/FirstKeyValueMatchingQualifiersFilter.java * /hbase/trunk/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/FuzzyRowFilter.java * /hbase/trunk/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/KeyOnlyFilter.java * /hbase/trunk/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/MultipleColumnPrefixFilter.java * /hbase/trunk/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/NullComparator.java * /hbase/trunk/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/ParseFilter.java * /hbase/trunk/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/QualifierFilter.java * /hbase/trunk/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/RandomRowFilter.java * /hbase/trunk/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/RowFilter.java * /hbase/trunk/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/SingleColumnValueExcludeFilter.java * /hbase/trunk/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/SingleColumnValueFilter.java * /hbase/trunk/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/SkipFilter.java * /hbase/trunk/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/TimestampsFilter.java * /hbase/trunk/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/ValueFilter.java * /hbase/trunk/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/WhileMatchFilter.java * /hbase/trunk/hbase-client/src/test/java/org/apache/hadoop/hbase/ipc/TestPayloadCarryingRpcController.java * /hbase/trunk/hbase-common/src/main/java/org/apache/hadoop/hbase/Cell.java * /hbase/trunk/hbase-common/src/main/java/org/apache/hadoop/hbase/CellUtil.java * /hbase/trunk/hbase-common/src/main/java/org/apache/hadoop/hbase/KeyValue.java * /hbase/trunk/hbase-common/src/main/java/org/apache/hadoop/hbase/KeyValueTestUtil.java * /hbase/trunk/hbase-common/src/main/java/org/apache/hadoop/hbase/io/encoding/EncodedDataBlock.java * /hbase/trunk/hbase-examples/src/main/java/org/apache/hadoop/hbase/coprocessor/example/BulkDeleteEndpoint.java * /hbase/trunk/hbase-examples/src/main/java/org/apache/hadoop/hbase/coprocessor/example/RowCountEndpoint.java *
[jira] [Commented] (HBASE-9359) Convert KeyValue to Cell in hbase-client module - Result/Put/Delete, ColumnInterpreter
[ https://issues.apache.org/jira/browse/HBASE-9359?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13753629#comment-13753629 ] Jonathan Hsieh commented on HBASE-9359: --- Ok, I have a version with the shim in place now -- tested it by testing with AccessController use the old #preGet api and then again using the new #preGetOp api. Convert KeyValue to Cell in hbase-client module - Result/Put/Delete, ColumnInterpreter -- Key: HBASE-9359 URL: https://issues.apache.org/jira/browse/HBASE-9359 Project: HBase Issue Type: Sub-task Components: Client Affects Versions: 0.95.2 Reporter: Jonathan Hsieh Assignee: Jonathan Hsieh Attachments: hbase-9359.patch, hbase-9359.v2.patch This path is the second half of eliminating KeyValue from the client interfaces. This percolated through quite a bit. -- 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
[jira] [Commented] (HBASE-9359) Convert KeyValue to Cell in hbase-client module - Result/Put/Delete, ColumnInterpreter
[ https://issues.apache.org/jira/browse/HBASE-9359?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13753637#comment-13753637 ] Andrew Purtell commented on HBASE-9359: --- Thanks for writing out your thoughts on ? extends Cell because that was about where I was going to go. {quote} bq. For the shim to handle the ListKeyValue - ListCell conversion, I'm going to use a naive array copy. Ouch. Put big warnings on deprecated methods that this is what is going on I'd say. {quote} +1 and let's absolutely purge the deprecated methods, for coprocessors at least, in 0.98. Convert KeyValue to Cell in hbase-client module - Result/Put/Delete, ColumnInterpreter -- Key: HBASE-9359 URL: https://issues.apache.org/jira/browse/HBASE-9359 Project: HBase Issue Type: Sub-task Components: Client Affects Versions: 0.95.2 Reporter: Jonathan Hsieh Assignee: Jonathan Hsieh Attachments: hbase-9359.patch, hbase-9359.v2.patch This path is the second half of eliminating KeyValue from the client interfaces. This percolated through quite a bit. -- 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
[jira] [Commented] (HBASE-9359) Convert KeyValue to Cell in hbase-client module - Result/Put/Delete, ColumnInterpreter
[ https://issues.apache.org/jira/browse/HBASE-9359?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13754332#comment-13754332 ] Hadoop QA commented on HBASE-9359: -- {color:red}-1 overall{color}. Here are the results of testing the latest attachment http://issues.apache.org/jira/secure/attachment/12600701/hbase-9334-9359.v4.patch against trunk revision . {color:green}+1 @author{color}. The patch does not contain any @author tags. {color:green}+1 tests included{color}. The patch appears to include 231 new or modified tests. {color:green}+1 hadoop1.0{color}. The patch compiles against the hadoop 1.0 profile. {color:green}+1 hadoop2.0{color}. The patch compiles against the hadoop 2.0 profile. {color:red}-1 javadoc{color}. The javadoc tool appears to have generated 5 warning messages. {color:green}+1 javac{color}. The applied patch does not increase the total number of javac compiler warnings. {color:green}+1 findbugs{color}. The patch does not introduce any new Findbugs (version 1.3.9) warnings. {color:green}+1 release audit{color}. The applied patch does not increase the total number of release audit warnings. {color:green}+1 lineLengths{color}. The patch does not introduce lines longer than 100 {color:green}+1 site{color}. The mvn site goal succeeds with this patch. {color:red}-1 core tests{color}. The patch failed these unit tests: org.apache.hadoop.hbase.filter.TestFilterWrapper Test results: https://builds.apache.org/job/PreCommit-HBASE-Build/6973//testReport/ Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/6973//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-prefix-tree.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/6973//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-client.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/6973//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-common.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/6973//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-protocol.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/6973//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-server.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/6973//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-hadoop1-compat.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/6973//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-examples.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/6973//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-hadoop-compat.html Console output: https://builds.apache.org/job/PreCommit-HBASE-Build/6973//console This message is automatically generated. Convert KeyValue to Cell in hbase-client module - Result/Put/Delete, ColumnInterpreter -- Key: HBASE-9359 URL: https://issues.apache.org/jira/browse/HBASE-9359 Project: HBase Issue Type: Sub-task Components: Client Affects Versions: 0.95.2 Reporter: Jonathan Hsieh Assignee: Jonathan Hsieh Fix For: 0.98.0, 0.96.0 Attachments: hbase-9334-9359.v4.patch, hbase-9334.v4.patch, hbase-9359.patch, hbase-9359.v2.patch, hbase-9359.v3.patch This path is the second half of eliminating KeyValue from the client interfaces. This percolated through quite a bit. -- 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
[jira] [Commented] (HBASE-9359) Convert KeyValue to Cell in hbase-client module - Result/Put/Delete, ColumnInterpreter
[ https://issues.apache.org/jira/browse/HBASE-9359?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13752140#comment-13752140 ] stack commented on HBASE-9359: -- rb? In the meantime, I skimmed 1/5th and all I see is good stuff. Ain't it harmless swapping out a KeyValue for the Lower-Common-Denominator Cell? Looking good so far. Convert KeyValue to Cell in hbase-client module - Result/Put/Delete, ColumnInterpreter -- Key: HBASE-9359 URL: https://issues.apache.org/jira/browse/HBASE-9359 Project: HBase Issue Type: Sub-task Components: Client Affects Versions: 0.95.2 Reporter: Jonathan Hsieh Assignee: Jonathan Hsieh Attachments: hbase-9359.patch This path is the second half of eliminating KeyValue from the client interfaces. This percolated through quite a bit. -- 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
[jira] [Commented] (HBASE-9359) Convert KeyValue to Cell in hbase-client module - Result/Put/Delete, ColumnInterpreter
[ https://issues.apache.org/jira/browse/HBASE-9359?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13752145#comment-13752145 ] Jonathan Hsieh commented on HBASE-9359: --- I was going to post but test run came up with some test failures from a few translation mistakes. I'll get a copy up when it passes and post to rb. Convert KeyValue to Cell in hbase-client module - Result/Put/Delete, ColumnInterpreter -- Key: HBASE-9359 URL: https://issues.apache.org/jira/browse/HBASE-9359 Project: HBase Issue Type: Sub-task Components: Client Affects Versions: 0.95.2 Reporter: Jonathan Hsieh Assignee: Jonathan Hsieh Attachments: hbase-9359.patch This path is the second half of eliminating KeyValue from the client interfaces. This percolated through quite a bit. -- 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
[jira] [Commented] (HBASE-9359) Convert KeyValue to Cell in hbase-client module - Result/Put/Delete, ColumnInterpreter
[ https://issues.apache.org/jira/browse/HBASE-9359?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13752147#comment-13752147 ] Jonathan Hsieh commented on HBASE-9359: --- The places where it may break user applications is any method that returns a Cell, Cell[], or ListCell instead of a KeyValue, KeyValue[], or ListKeyValue. I'm pretty sure I'm going to add back #getQualifier, #getFamily, #getValue, and #getRow to the Cell interface as deprecated because these were responsible for most of the breaks. Convert KeyValue to Cell in hbase-client module - Result/Put/Delete, ColumnInterpreter -- Key: HBASE-9359 URL: https://issues.apache.org/jira/browse/HBASE-9359 Project: HBase Issue Type: Sub-task Components: Client Affects Versions: 0.95.2 Reporter: Jonathan Hsieh Assignee: Jonathan Hsieh Attachments: hbase-9359.patch This path is the second half of eliminating KeyValue from the client interfaces. This percolated through quite a bit. -- 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
[jira] [Commented] (HBASE-9359) Convert KeyValue to Cell in hbase-client module - Result/Put/Delete, ColumnInterpreter
[ https://issues.apache.org/jira/browse/HBASE-9359?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13752446#comment-13752446 ] Jonathan Hsieh commented on HBASE-9359: --- https://reviews.apache.org/r/13884/ Convert KeyValue to Cell in hbase-client module - Result/Put/Delete, ColumnInterpreter -- Key: HBASE-9359 URL: https://issues.apache.org/jira/browse/HBASE-9359 Project: HBase Issue Type: Sub-task Components: Client Affects Versions: 0.95.2 Reporter: Jonathan Hsieh Assignee: Jonathan Hsieh Attachments: hbase-9359.patch This path is the second half of eliminating KeyValue from the client interfaces. This percolated through quite a bit. -- 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
[jira] [Commented] (HBASE-9359) Convert KeyValue to Cell in hbase-client module - Result/Put/Delete, ColumnInterpreter
[ https://issues.apache.org/jira/browse/HBASE-9359?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13752556#comment-13752556 ] stack commented on HBASE-9359: -- I suppose. Add them as deprecated and a warning that they are expensive! because they make a copy? Convert KeyValue to Cell in hbase-client module - Result/Put/Delete, ColumnInterpreter -- Key: HBASE-9359 URL: https://issues.apache.org/jira/browse/HBASE-9359 Project: HBase Issue Type: Sub-task Components: Client Affects Versions: 0.95.2 Reporter: Jonathan Hsieh Assignee: Jonathan Hsieh Attachments: hbase-9359.patch This path is the second half of eliminating KeyValue from the client interfaces. This percolated through quite a bit. -- 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
[jira] [Commented] (HBASE-9359) Convert KeyValue to Cell in hbase-client module - Result/Put/Delete, ColumnInterpreter
[ https://issues.apache.org/jira/browse/HBASE-9359?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13752586#comment-13752586 ] Jonathan Hsieh commented on HBASE-9359: --- Yup, that's the plan. This is going to break applications but ideally it will just be some trivial KeyValue-Cell conversion instead of that and a massive amount of work to avoid the array copies. Convert KeyValue to Cell in hbase-client module - Result/Put/Delete, ColumnInterpreter -- Key: HBASE-9359 URL: https://issues.apache.org/jira/browse/HBASE-9359 Project: HBase Issue Type: Sub-task Components: Client Affects Versions: 0.95.2 Reporter: Jonathan Hsieh Assignee: Jonathan Hsieh Attachments: hbase-9359.patch This path is the second half of eliminating KeyValue from the client interfaces. This percolated through quite a bit. -- 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
[jira] [Commented] (HBASE-9359) Convert KeyValue to Cell in hbase-client module - Result/Put/Delete, ColumnInterpreter
[ https://issues.apache.org/jira/browse/HBASE-9359?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13752683#comment-13752683 ] Jonathan Hsieh commented on HBASE-9359: --- In v1, basically, any method whose return type will require apps to do some code changes. Methods where arguments change from KeyValue to Cell should still work since Cell can accept KeyValues. I'm leaning towards making sure the commonly used but inefficient KeyValue methods (including #getQualifier, #getFamily, and #getValue, and #getRow) get ported into the Cell interface. Clients would essentially only have to replace KeyValue with Cell in these cases. {code} Put: - public ListKeyValue get(byte[] family, byte[] qualifier) + public ListCell get(byte[] family, byte[] qualifier) Result: - public KeyValue[] raw() { + public Cell[] raw() { - public ListKeyValue list() { + public ListCell list() { - public ListKeyValue getColumn(byte [] family, byte [] qualifier) { + public ListCell getColumn(byte [] family, byte [] qualifier) { - public KeyValue getColumnLatest(byte [] family, byte [] qualifier) { + public Cell getColumnLatest(byte [] family, byte [] qualifier) { - public KeyValue getColumnLatest(byte [] family, int foffset, int flength, + public Cell getColumnLatest(byte [] family, int foffset, int flength, byte [] qualifier, int qoffset, int qlength) { {code} For extension interfaces that have changed signatures (like filters in HBASE-9334 and in here, coprocessors) we can keep both the old and new signature and have the abstract implementation helper have the new call the old. For the shim to handle the ListKeyValue - ListCell conversion, I'm going to use a naive array copy. (Another option is to change the signature to List? extends Cell -- will look at this option one more time). {code} ColumnInterpreter: (abstract class) - public abstract T getValue(byte[] colFamily, byte[] colQualifier, KeyValue kv) + public abstract T getValue(byte[] colFamily, byte[] colQualifier, Cell kv) BaseRegionObserver: (abstract class) RegionObserver: (inteface) void preGet(final ObserverContextRegionCoprocessorEnvironment c, final Get get, - final ListKeyValue result) + final ListCell result) throws IOException; void postGet(final ObserverContextRegionCoprocessorEnvironment c, final Get get, - final ListKeyValue result) + final ListCell result) throws IOException; {code} Convert KeyValue to Cell in hbase-client module - Result/Put/Delete, ColumnInterpreter -- Key: HBASE-9359 URL: https://issues.apache.org/jira/browse/HBASE-9359 Project: HBase Issue Type: Sub-task Components: Client Affects Versions: 0.95.2 Reporter: Jonathan Hsieh Assignee: Jonathan Hsieh Attachments: hbase-9359.patch This path is the second half of eliminating KeyValue from the client interfaces. This percolated through quite a bit. -- 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
[jira] [Commented] (HBASE-9359) Convert KeyValue to Cell in hbase-client module - Result/Put/Delete, ColumnInterpreter
[ https://issues.apache.org/jira/browse/HBASE-9359?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13752906#comment-13752906 ] Jonathan Hsieh commented on HBASE-9359: --- Yup, I'm pretty convinced that preGet and postGet must be ListCell and not List? extends Cell. If we have it as a List? extends Cell we get into co/contra variance problems -- we can read the elements out of the list, but when we cannot put things in in a typesafe way. Suppose we don't know if the list is ListKeyValue or ListCell (the case with ? extends Cell), Lets say it was actually a ListKeyValue and we were able to put in some non KeyValue derived Cell. The calling code, knowing the list is a ListKeyValue would attempt to read values out of the list and and interpret them as KeyValue. This would be a type error causing runtime barf since it was some other Cell. By having it as a ListCell we can read and write in elements that are subclasses of Cell as long as we only use the Cell interface. Convert KeyValue to Cell in hbase-client module - Result/Put/Delete, ColumnInterpreter -- Key: HBASE-9359 URL: https://issues.apache.org/jira/browse/HBASE-9359 Project: HBase Issue Type: Sub-task Components: Client Affects Versions: 0.95.2 Reporter: Jonathan Hsieh Assignee: Jonathan Hsieh Attachments: hbase-9359.patch This path is the second half of eliminating KeyValue from the client interfaces. This percolated through quite a bit. -- 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
[jira] [Commented] (HBASE-9359) Convert KeyValue to Cell in hbase-client module - Result/Put/Delete, ColumnInterpreter
[ https://issues.apache.org/jira/browse/HBASE-9359?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13752973#comment-13752973 ] stack commented on HBASE-9359: -- bq. I'm leaning towards making sure the commonly used but inefficient KeyValue methods (including #getQualifier, #getFamily, and #getValue, and #getRow) get ported into the Cell interface. getFamily, etc., are out in CellUtil rather than in Cell currently? Their addition is pure convenience and bloats the Cell Interface and my fear is users would start to lean on these new methods rather than work harder to use the methods that do not require us make a copy ([~mcorgan] you have an opinion here boss?) On other hand, smooths the transition to the Interface, a difficult transition to make. bq. For the shim to handle the ListKeyValue - ListCell conversion, I'm going to use a naive array copy. Ouch. Put big warnings on deprecated methods that this is what is going on I'd say. bq. By having it as a ListCell we can read and write in elements that are subclasses of Cell as long as we only use the Cell interface. Ok Let me take a looksee. Convert KeyValue to Cell in hbase-client module - Result/Put/Delete, ColumnInterpreter -- Key: HBASE-9359 URL: https://issues.apache.org/jira/browse/HBASE-9359 Project: HBase Issue Type: Sub-task Components: Client Affects Versions: 0.95.2 Reporter: Jonathan Hsieh Assignee: Jonathan Hsieh Attachments: hbase-9359.patch, hbase-9359.v2.patch This path is the second half of eliminating KeyValue from the client interfaces. This percolated through quite a bit. -- 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
[jira] [Commented] (HBASE-9359) Convert KeyValue to Cell in hbase-client module - Result/Put/Delete, ColumnInterpreter
[ https://issues.apache.org/jira/browse/HBASE-9359?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13752984#comment-13752984 ] Jonathan Hsieh commented on HBASE-9359: --- bq. getFamily, etc., are out in CellUtil rather than in Cell currently? Their addition is pure convenience and bloats the Cell Interface and my fear is users would start to lean on these new methods rather than work harder to use the methods that do not require us make a copy (Matt Corgan you have an opinion here boss?) On other hand, smooths the transition to the Interface, a difficult transition to make. I'm mostly concerned with totally borking applications (basically, all of them!) that depend on the old api. I did the conversion first to catch most of them on the region server side, and then adding it back. bq. bq. For the shim to handle the ListKeyValue - ListCell conversion, I'm going to use a naive array copy. bq. Ouch. Put big warnings on deprecated methods that this is what is going on I'd say. Oops, I didn't do the shim in v2 -- let me add the shim. Convert KeyValue to Cell in hbase-client module - Result/Put/Delete, ColumnInterpreter -- Key: HBASE-9359 URL: https://issues.apache.org/jira/browse/HBASE-9359 Project: HBase Issue Type: Sub-task Components: Client Affects Versions: 0.95.2 Reporter: Jonathan Hsieh Assignee: Jonathan Hsieh Attachments: hbase-9359.patch, hbase-9359.v2.patch This path is the second half of eliminating KeyValue from the client interfaces. This percolated through quite a bit. -- 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
[jira] [Commented] (HBASE-9359) Convert KeyValue to Cell in hbase-client module - Result/Put/Delete, ColumnInterpreter
[ https://issues.apache.org/jira/browse/HBASE-9359?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13751827#comment-13751827 ] Jonathan Hsieh commented on HBASE-9359: --- After the filter patch, is applied this command: {code} grep -R KeyValue hbase-client/ hbase-common/ | grep java: | grep -v KeyValue[\\.\(] {code} yields KeyValue used in comments and or as imports only. (not present in function signatures.) Convert KeyValue to Cell in hbase-client module - Result/Put/Delete, ColumnInterpreter -- Key: HBASE-9359 URL: https://issues.apache.org/jira/browse/HBASE-9359 Project: HBase Issue Type: Sub-task Reporter: Jonathan Hsieh This path is the second half of eliminating KeyValue from the client interfaces. This percolated through quite a bit. -- 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
[jira] [Commented] (HBASE-9359) Convert KeyValue to Cell in hbase-client module - Result/Put/Delete, ColumnInterpreter
[ https://issues.apache.org/jira/browse/HBASE-9359?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13751867#comment-13751867 ] Jonathan Hsieh commented on HBASE-9359: --- I'm going to do another pass that does deprecations and tries to preserve compatibility. Convert KeyValue to Cell in hbase-client module - Result/Put/Delete, ColumnInterpreter -- Key: HBASE-9359 URL: https://issues.apache.org/jira/browse/HBASE-9359 Project: HBase Issue Type: Sub-task Components: Client Affects Versions: 0.95.2 Reporter: Jonathan Hsieh Assignee: Jonathan Hsieh Attachments: hbase-9359.patch This path is the second half of eliminating KeyValue from the client interfaces. This percolated through quite a bit. -- 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