You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "stack (JIRA)" <ji...@apache.org> on 2017/09/11 23:04:00 UTC

[jira] [Commented] (HBASE-16480) Merge WALEdit and WALKey

    [ https://issues.apache.org/jira/browse/HBASE-16480?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16162194#comment-16162194 ] 

stack commented on HBASE-16480:
-------------------------------

Tried messing with this.

One place we want key and value -- i.e. WALKey and WALEdit -- rather than a fat WALEntry is in MR RecordReader:

  public abstract class RecordReader<KEYIN, VALUEIN> implements Closeable {

Purging WALKey and WALEdit will ripple out through our MR public API.

Making Entry an Interface seems like it will help minimize disruption. Below is where I was at:

+  interface Entry extends SequenceId {
+    CompressionContext setCompressionContext(CompressionContext context);
+    List<Cell> getCells();
+    long getWriteTime();
   }

I think we need to add back key and value.... will see.

This is generally a disruptive, if good change. Needs a bit of work. Putting aside for now



> Merge WALEdit and WALKey
> ------------------------
>
>                 Key: HBASE-16480
>                 URL: https://issues.apache.org/jira/browse/HBASE-16480
>             Project: HBase
>          Issue Type: Sub-task
>          Components: wal
>            Reporter: Enis Soztutar
>            Assignee: Enis Soztutar
>
> No need for separate classes: 
> {code}
> // TODO: Key and WALEdit are never used separately, or in one-to-many relation, for practical
> //       purposes. They need to be merged into WALEntry.
> @InterfaceAudience.LimitedPrivate(HBaseInterfaceAudience.REPLICATION)
> public class WALKey implements SequenceId, Comparable<WALKey> {
> {code}
> Will reduce garbage a little and simplify code. We can get rid of WAL.Entry as well. 



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)