stack created HBASE-18790:
-----------------------------

             Summary: Purge all remaining Writables from the codebase
                 Key: HBASE-18790
                 URL: https://issues.apache.org/jira/browse/HBASE-18790
             Project: HBase
          Issue Type: Task
          Components: Protobufs
            Reporter: stack


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

{code}
$ 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 {
{code}


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....




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

Reply via email to