[ https://issues.apache.org/jira/browse/HBASE-7188?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13586309#comment-13586309 ]
Matt Corgan commented on HBASE-7188: ------------------------------------ {quote}Block Encoding enum was loading by string the different encoding types.{quote}I actually did that intentionally so that there was no compile-time visibility into the prefix-tree internals. Giving it compile time visibility, i'm worried, is a slippery slope to allowing one thing after another to use individual pieces of the encoder internals. Like one thing needs a timestamp compressor and prefix-tree's is good enough, and another thing wants to put a few byte[] in a trie, so they grab the row compressor, and another thing uses the custom VarInt. Not great already that prefix tree code is getting locked up, but a worse case is that someone starts modifying the prefix tree code to add some feature for their ancillary use case it hurts the performance or correctness for whatever reason. Anyway, just some reasoning behind keeping the implementation a "black box". If we make it a two way dependency, then prefix-tree class could be copied into hbase-common (module not really needed anymore). > Move classes into hbase-client > ------------------------------ > > Key: HBASE-7188 > URL: https://issues.apache.org/jira/browse/HBASE-7188 > Project: HBase > Issue Type: Sub-task > Components: Admin, Client, IPC/RPC, Replication, snapshots > Affects Versions: 0.96.0 > Reporter: Elliott Clark > Assignee: Elliott Clark > Priority: Critical > Fix For: 0.96.0 > > Attachments: HBASE-7188-0.patch, HBASE-7188-10.patch, > HBASE-7188-1.patch, HBASE-7188-2.patch, HBASE-7188-3.patch, > HBASE-7188-5.patch, HBASE-7188-6.patch, HBASE-7188-7.patch, > HBASE-7188-8.patch, HBASE-7188-9.patch > > -- 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