Uploaded image for project: 'HBase'
  1. HBase
  2. HBASE-18790

Purge all remaining Writables from the codebase

Add voteVotersWatch issueWatchersCreate sub-taskLinkCloneUpdate Comment AuthorReplace String in CommentUpdate Comment VisibilityDelete Comments
    XMLWordPrintableJSON

    Details

    • Type: Task
    • Status: Open
    • Priority: Major
    • Resolution: Unresolved
    • Affects Version/s: None
    • Fix Version/s: None
    • Component/s: Protobufs
    • Labels:
      None
    • Tags:
      beginner

      Description

      Did a review on Writables in hbase. We have the following still in HBase. This issue is about purging all

      $ grep -r -e 'implements Writable' -e 'extends VersionedWritable' hbase-*/src/main/java
      
      hbase-client/src/main/java/org/apache/hadoop/hbase/security/access/Permission.java:public class Permission extends VersionedWritable {
      hbase-common/src/main/java/org/apache/hadoop/hbase/io/ImmutableBytesWritable.java:implements WritableComparable<ImmutableBytesWritable> {
      hbase-mapreduce/src/main/java/org/apache/hadoop/hbase/mapreduce/Import.java:      implements WritableComparable<KeyValueWritableComparable> {
      hbase-mapreduce/src/main/java/org/apache/hadoop/hbase/mapreduce/TableSnapshotInputFormat.java:  public static class TableSnapshotRegionSplit extends InputSplit implements Writable {
      hbase-mapreduce/src/main/java/org/apache/hadoop/hbase/mapreduce/TableSnapshotInputFormatImpl.java:  public static class InputSplit implements Writable {
      hbase-mapreduce/src/main/java/org/apache/hadoop/hbase/mapreduce/TableSplit.java:implements Writable, Comparable<TableSplit> {
      hbase-mapreduce/src/main/java/org/apache/hadoop/hbase/mapreduce/WALInputFormat.java:  static class WALSplit extends InputSplit implements Writable {
      hbase-mapreduce/src/main/java/org/apache/hadoop/hbase/snapshot/ExportSnapshot.java:    private static class ExportSnapshotInputSplit extends InputSplit implements Writable {
      hbase-server/src/main/java/org/apache/hadoop/hbase/io/hfile/CompoundBloomFilterWriter.java:  private class MetaWriter implements Writable {
      hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/TimeRangeTracker.java:public class TimeRangeTracker implements Writable {
      hbase-server/src/main/java/org/apache/hadoop/hbase/security/token/AuthenticationKey.java:public class AuthenticationKey implements Writable {
      

      HBASE-18754 is about getting rid of Writable from TimeRangeTracker.

      For TablePermission/Permission/UserPermission, we read permissions from acl table on initialization of accesscontroller in the loadAll method. We scan the acl and load up a Map of perms. We don't use the TablePermission Writable deserializing here; we just serialize the tablename raw bytes as part of row key. It is hard to follow what is going on – comments don't agree w/ code – and it needs some cleanup but seems like Writables are unused in Permission and subclasses....

        Attachments

        Issue Links

          Activity

            People

            • Assignee:
              Unassigned
              Reporter:
              stack Michael Stack

              Dates

              • Created:
                Updated:

                Issue deployment