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)