[
https://issues.apache.org/jira/browse/HBASE-9523?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13766265#comment-13766265
]
stack commented on HBASE-9523:
------------------------------
Here are some comments on your list:
{code}
A few are private (because they are static inner classes) but should be made
public
Base64.*
Byte.*
{code}
Agree
{code}
These should be private:
EnvironmentEdge. Maybe used by apps tests, but I default would be to hiding
them.
simple helper utils (Classes, Methods, etc) – we don't want to support these
for external apps.
@Public org.apache.hadoop.hbase // looks right
Cell
CellUtil
HBaseConfiguration
HConstants // ??
NamespaceDescriptor
TableName
HBaseIOException
{code}
+1 on all of the above. HConstants unfortunately must be public. Hopefully it
will go away soon. Shrivel.
{code}
@Public org.apache.hadoop.hbase.io // make all of these private?
ByteBufferOutputStream
ImmutableBytesWritable
ImmutableBytesWritable.Comparator
TimeRange // javadoc says internal so make this private for sure.
{code}
Ok. I thought TimeRange could come out in Client API? Can you pass one of
these to a Scan?
{code}
@Public org.apache.hbase.util // I think alot of these should be private, will
mark with *
ByteRange *
EnvironmentEdge *
PositionedByteRange *
Classes *
Addressing * // why expose these helpers?
Base64 // this seems useful.
Base64.Base64InputStream // currently Private, Make public
Base64.Base64OutputStream // currently Private, Make public
ByteBufferArray *
ByteBufferUtils
ByteRangeUtils
Bytes
Bytes.ByteArrayComparator // currently Private, want to expose?
Bytes.RowEndKeyComparator // curerntly Private, want to expose?
Classes *
ClassSize *
DefaultEnvironmentEdge // keep public for client unit tests?
EnvironmentEdgeManager // keep public for client unit tests?
Hash // why? I guess hashes can stay.
IncrementaingEnvironmentEdge // currently Private, should be consistent with
other EnvironmentEdges
JenkinsHash
JVM *
MD5Hash
Methods * // no javadoc
MurmurHash
OrderedBytes // looks like part of types
Pair
PairOfSameType
SimpleByteRange
SimplePositionedByteRange
SoftValueSortedMap *
Strings *
Threads *
VersionInfo
Order
{code}
Yeah, above is a mix of private and publics.
{code}
@public org.apache.hadoop.hbase.util.test // TODO make all of these private.
LoadTestDataGenerator
LoadTestKVGenerator
RedundantKVGenerator
{code}
+1
> Audit of hbase-common @InterfaceAudience.Public apis.
> -----------------------------------------------------
>
> Key: HBASE-9523
> URL: https://issues.apache.org/jira/browse/HBASE-9523
> Project: HBase
> Issue Type: Sub-task
> Components: documentation
> Affects Versions: 0.95.2
> Reporter: Jonathan Hsieh
> Assignee: Jonathan Hsieh
> Fix For: 0.98.0, 0.96.0
>
>
> Do an audit of all public classes to make suare we are only publicly exposing
> what must be exposed.
> This was done by comparing the Public only version of the javadoc generated
> by HBASE-9517 to a local javadoc for the hbase-common module (cd
> hbase-common; mvn javadoc:javadoc).
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira