Details
-
Task
-
Status: Open
-
Major
-
Resolution: Unresolved
-
None
-
None
-
None
-
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
- relates to
-
HBASE-18754 Get rid of Writable from TimeRangeTracker
- Resolved