[
https://issues.apache.org/jira/browse/HBASE-5453?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13276887#comment-13276887
]
[email protected] commented on HBASE-5453:
------------------------------------------------------
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/5130/
-----------------------------------------------------------
(Updated 2012-05-16 17:02:35.527708)
Review request for hbase.
Changes
-------
Gregory. I addressed your comments.
I've changed the format of .regioninfo and .tableinfo. Now instead of
serialized Writable followed by toString of the serialized object, instead its
just the serialized pb. This removes our having a human readable
.regioninfo/.tablinfo file but my guess no one relied on this anyways.
Having just serialized content in the file means a check of file length should
be enough figuring whether the file properly serialized. If ever a chance that
a Writable + its toString + two '\n' characters was equal to a serialized pb,
I'd think this a pathological state. If this state is not cleared up
'naturally' by splits or a schema change, then lets deal if it happens.
I only need this length-checking in one place on region open. I want to avoid
reading the .regioninfo file on region open. The alternative means more load on
NN and DNs at region open time which could be problematic at big-bang cluster
start (Thinking 500 nodes w/ 80k regions, an actual known case -- this is the
case I have in mind when I'm trying to avoid more load on NN/DNs).
Otherwise, Gregory's comments led to me to check and I was missing convertion
of fs files to pb in all cases (I was just reading the clusterid and
hbase.version files, not converting if still Writable). This should be fixed
now.
There are some failing tests still but running by hadoopqa to see what it says
anyways. Also putting up on rb to get feedback if problem w/ this approach.
Summary
-------
A b/src/main/java/org/apache/hadoop/hbase/ClusterId.java
New class to hold clusterid in.
M b/src/main/java/org/apache/hadoop/hbase/HColumnDescriptor.java
Make it so can do pb serialization. Deprecated Writable serialization.
M b/src/main/java/org/apache/hadoop/hbase/HRegionInfo.java
Make it so methods in here follow the pattern in HCD an HTD pb 'ing.
Deprecated Writable serialization.
M b/src/main/java/org/apache/hadoop/hbase/HTableDescriptor.java
Make it so can do pb serialization. Deprecated Writable serialization.
M b/src/main/java/org/apache/hadoop/hbase/client/HConnectionManager.java
ClusterId under ZK got renamed as ZKClusterId
M b/src/main/java/org/apache/hadoop/hbase/io/Reference.java
Hide the Reference#Range enums. Don't let them out of this class.
Make it so can do pb serialization.
M b/src/main/java/org/apache/hadoop/hbase/mapreduce/LoadIncrementalHFiles.java
Use new methods on Reference for getting top and bottom.
M b/src/main/java/org/apache/hadoop/hbase/master/HMaster.java
ClusterId under zk has been renamed ZKClusterId.
Use new ClusterId class too.
M b/src/main/java/org/apache/hadoop/hbase/master/MasterFileSystem.java
Use new clusterid class.
M b/src/main/java/org/apache/hadoop/hbase/protobuf/ProtobufUtil.java
Move the RegionInfo convertion up into HRegionInfo instead of here.
Added generic toDelimitedByteArray helper.
M b/src/main/java/org/apache/hadoop/hbase/protobuf/RequestConverter.java
Use HRegionInfo convertions instead.
M b/src/main/java/org/apache/hadoop/hbase/protobuf/ResponseConverter.java
Use HRegionInfo convertions instead.
M b/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java
Use new utility writing out .regioninfo files.
M b/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java
Formatting.
M b/src/main/java/org/apache/hadoop/hbase/regionserver/SplitTransaction.java
M b/src/main/java/org/apache/hadoop/hbase/regionserver/StoreFile.java
Range in Reference is no longer public.
Range in Reference is no longer public.
M
b/src/main/java/org/apache/hadoop/hbase/replication/regionserver/ReplicationSource.java
M
b/src/main/java/org/apache/hadoop/hbase/security/token/AuthenticationTokenSecretManager.java
ClusterId got renamed ZKClusterId
M b/src/main/java/org/apache/hadoop/hbase/util/FSTableDescriptors.java
Use new serialization utlity in HTD.
M b/src/main/java/org/apache/hadoop/hbase/util/FSUtils.java
Generic method for writing dot file content.
M b/src/main/java/org/apache/hadoop/hbase/util/HBaseFsck.java
Reference#Range is not public any more
M b/src/main/java/org/apache/hadoop/hbase/util/Writables.java
Deprecated getHRegionInfo, etc.
D b/src/main/java/org/apache/hadoop/hbase/zookeeper/ClusterId.java
A b/src/main/java/org/apache/hadoop/hbase/zookeeper/ZKClusterId.java
Rename
A b/src/main/protobuf/ClusterId.proto
Added file for ClusterId only since its written to fs and to zk.
A b/src/main/protobuf/FS.proto
Protos for fs files.
M b/src/main/protobuf/ZooKeeper.proto
Moved ClusterId out to own proto file
M b/src/main/protobuf/hbase.proto
Added TableSchema and ColumnFamilySchema
This addresses bug hbase-5453.
https://issues.apache.org/jira/browse/hbase-5453
Diffs (updated)
-----
src/main/java/org/apache/hadoop/hbase/ClusterId.java PRE-CREATION
src/main/java/org/apache/hadoop/hbase/HColumnDescriptor.java 5862f15
src/main/java/org/apache/hadoop/hbase/HRegionInfo.java 8d83ff3
src/main/java/org/apache/hadoop/hbase/HTableDescriptor.java af89e3e
src/main/java/org/apache/hadoop/hbase/client/HConnectionManager.java 5cac9af
src/main/java/org/apache/hadoop/hbase/io/Reference.java 6360059
src/main/java/org/apache/hadoop/hbase/mapreduce/LoadIncrementalHFiles.java
9e4ada9
src/main/java/org/apache/hadoop/hbase/master/HMaster.java 947ec5f
src/main/java/org/apache/hadoop/hbase/master/MasterFileSystem.java 5052878
src/main/java/org/apache/hadoop/hbase/protobuf/ProtobufUtil.java ccc964e
src/main/java/org/apache/hadoop/hbase/protobuf/RequestConverter.java dabfbab
src/main/java/org/apache/hadoop/hbase/protobuf/ResponseConverter.java 45cb6cf
src/main/java/org/apache/hadoop/hbase/protobuf/generated/ClusterIdProtos.java
PRE-CREATION
src/main/java/org/apache/hadoop/hbase/protobuf/generated/FSProtos.java
PRE-CREATION
src/main/java/org/apache/hadoop/hbase/protobuf/generated/HBaseProtos.java
058c006
src/main/java/org/apache/hadoop/hbase/protobuf/generated/ZooKeeperProtos.java
20c7738
src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java 9f16fee
src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java 6dc0517
src/main/java/org/apache/hadoop/hbase/regionserver/SplitTransaction.java
6a9f2fe
src/main/java/org/apache/hadoop/hbase/regionserver/StoreFile.java 5e1e16d
src/main/java/org/apache/hadoop/hbase/replication/regionserver/ReplicationSource.java
5050df0
src/main/java/org/apache/hadoop/hbase/security/token/AuthenticationTokenSecretManager.java
049ed8d
src/main/java/org/apache/hadoop/hbase/util/FSTableDescriptors.java efb2b84
src/main/java/org/apache/hadoop/hbase/util/FSUtils.java 3d35d3e
src/main/java/org/apache/hadoop/hbase/util/HBaseFsck.java 7b4f4a2
src/main/java/org/apache/hadoop/hbase/util/Writables.java 3d20723
src/main/java/org/apache/hadoop/hbase/zookeeper/ClusterId.java f804810
src/main/java/org/apache/hadoop/hbase/zookeeper/ZKClusterId.java PRE-CREATION
src/main/protobuf/ClusterId.proto PRE-CREATION
src/main/protobuf/FS.proto PRE-CREATION
src/main/protobuf/ZooKeeper.proto b72cb28
src/main/protobuf/hbase.proto 30a4c3f
src/test/java/org/apache/hadoop/hbase/TestHColumnDescriptor.java e7fa8b2
src/test/java/org/apache/hadoop/hbase/TestHTableDescriptor.java f7c0cca
src/test/java/org/apache/hadoop/hbase/catalog/TestCatalogTracker.java 83d8408
src/test/java/org/apache/hadoop/hbase/master/MockRegionServer.java 69ccc65
src/test/java/org/apache/hadoop/hbase/master/TestCatalogJanitor.java 1020374
src/test/java/org/apache/hadoop/hbase/regionserver/TestHRegionInfo.java
6dfba41
src/test/java/org/apache/hadoop/hbase/regionserver/TestStoreFile.java 988d0bf
src/test/java/org/apache/hadoop/hbase/util/TestFSUtils.java 339a120
Diff: https://reviews.apache.org/r/5130/diff
Testing
-------
Thanks,
Michael
> Switch on-disk formats (reference files, HFile meta fields, etc) to PB
> ----------------------------------------------------------------------
>
> Key: HBASE-5453
> URL: https://issues.apache.org/jira/browse/HBASE-5453
> Project: HBase
> Issue Type: Sub-task
> Components: ipc, master, migration, regionserver
> Reporter: Todd Lipcon
> Assignee: stack
> Attachments: 5453.txt, 5453v2.txt, 5453v3.txt, 5453v6.txt, 5453v9.txt
>
>
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira