[
https://issues.apache.org/jira/browse/HCATALOG-310?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13231811#comment-13231811
]
[email protected] commented on HCATALOG-310:
--------------------------------------------------------
bq. On 2012-03-15 17:52:56, Francis Liu wrote:
bq. > The RevisionManagerFactory responsiblity seems to be leaking into the
storageHandler code. storageHandler should just call the factory to instantiate
RevisionManager. Also should probably consider changing the methods a bit.
Split getRevisionManger into getRevisionManagerClient and
getRevisionManagerServer. Though it's not really clear to me if the Endpoint
needs to use the factory we can have an internal util to create a server
instance instead since the user will most like never need an instance of
revision manager server.
bq. >
bq. > The Factory itself shouldn't depend on hadoop classes (ie Configuration)
because the original intent was that this library may be used for other storage
systems (ie Cassandra). We can revisit that idea but let's try to keep things
consistent with the original plan until a decision is made. We can probably
provide a util method which takes in the configuration object and return a
populated properties instance as part of the HBaseRevisionManagerUtil class.
bq. >
bq. > Instead of having another factory for the EndPointClient its prolly
cleaner to have a class analogous to ZKBaseRevisionManager (ie
HBaseClientRevisionManager) which wraps the CoprocessorProxyClient.
bq. >
bq. >
bq. >
A "client" class that implements the interface just to delegate all calls to
another instance with the same interface w/o added behavior is tad redundant.
Certainly there could be the need to do more than just pass on the call in the
future, to deal with specifics of the protocol, perform a mapping etc., at
which point such wrapper can be added. Anyways, does not hurt and it's added to
the patch..
About the factory class, it may be desirable to provide control over
instantiation when the goal is to build a pluggable interface. An IoC container
would mute this debate. But Class.forName is not enough to achieve a lot of
abstraction. Settings need to be mapped from HBase conf into properties, fully
assuming that the implementation is ZK RM. We can take that up later, I
reverted back to the static factory binding.
- Thomas
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/4313/#review5990
-----------------------------------------------------------
On 2012-03-17 02:33:47, Thomas wrote:
bq.
bq. -----------------------------------------------------------
bq. This is an automatically generated e-mail. To reply, visit:
bq. https://reviews.apache.org/r/4313/
bq. -----------------------------------------------------------
bq.
bq. (Updated 2012-03-17 02:33:47)
bq.
bq.
bq. Review request for Francis Liu, Vandana Ayyalasomayajula and David Capwell.
bq.
bq.
bq. Summary
bq. -------
bq.
bq. Initial patch for RevisionManager endpoint.
bq.
bq.
bq. This addresses bug HCATALOG-310.
bq. https://issues.apache.org/jira/browse/HCATALOG-310
bq.
bq.
bq. Diffs
bq. -----
bq.
bq.
trunk/storage-handlers/hbase/src/test/org/apache/hcatalog/hbase/snapshot/TestRevisionManagerEndpoint.java
PRE-CREATION
bq.
trunk/storage-handlers/hbase/src/test/org/apache/hcatalog/hbase/ManyMiniCluster.java
1300255
bq.
trunk/storage-handlers/hbase/src/test/org/apache/hcatalog/hbase/SkeletonHBaseTest.java
1300255
bq.
trunk/storage-handlers/hbase/src/java/org/apache/hcatalog/hbase/snapshot/RevisionManagerProtocol.java
PRE-CREATION
bq.
trunk/storage-handlers/hbase/src/java/org/apache/hcatalog/hbase/snapshot/TableSnapshot.java
1300255
bq.
trunk/storage-handlers/hbase/src/java/org/apache/hcatalog/hbase/snapshot/RevisionManagerFactory.java
1300255
bq.
trunk/storage-handlers/hbase/src/java/org/apache/hcatalog/hbase/snapshot/RevisionManagerEndpointClient.java
PRE-CREATION
bq.
trunk/storage-handlers/hbase/src/java/org/apache/hcatalog/hbase/HBaseRevisionManagerUtil.java
1300255
bq.
trunk/storage-handlers/hbase/src/java/org/apache/hcatalog/hbase/snapshot/RevisionManager.java
1300255
bq.
trunk/storage-handlers/hbase/src/java/org/apache/hcatalog/hbase/snapshot/RevisionManagerEndpoint.java
PRE-CREATION
bq.
bq. Diff: https://reviews.apache.org/r/4313/diff
bq.
bq.
bq. Testing
bq. -------
bq.
bq. unit tests pass
bq.
bq.
bq. Thanks,
bq.
bq. Thomas
bq.
bq.
> Turn current RM implementation into HBase Coprocessor
> -----------------------------------------------------
>
> Key: HCATALOG-310
> URL: https://issues.apache.org/jira/browse/HCATALOG-310
> Project: HCatalog
> Issue Type: Sub-task
> Components: hbase, storage handlers
> Affects Versions: 0.4
> Reporter: Thomas Weise
> Assignee: Thomas Weise
>
> Implement initial revision of endpoint and add new implementation of existing
> RM interface for HBase endpoint client. Add option to configure RM as
> endpoint. This will leave current default behavior as is (ZK based RM running
> per client in storage handler).
--
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