[ 
https://issues.apache.org/jira/browse/HBASE-3777?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13027860#comment-13027860
 ] 

jirapos...@reviews.apache.org commented on HBASE-3777:
------------------------------------------------------


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/643/
-----------------------------------------------------------

(Updated 2011-05-02 21:34:35.203784)


Review request for hbase and Ted Yu.


Changes
-------

As Ted suggsted, added "a log statement for the case where connectSucceeded is 
false."


Summary
-------

Judging from the javadoc in HConnectionManager, sharing connections across 
multiple clients going to the same cluster is supposedly a good thing. However, 
the fact that there is a one-to-one mapping between a configuration and 
connection instance, kind of works against that goal. Specifically, when you 
create HTable instances using a given Configuration instance and a copy 
thereof, we end up with two distinct HConnection instances under the covers. Is 
this really expected behavior, especially given that the configuration instance 
gets cloned a lot?

Here, I'd like to play devil's advocate and propose that we "deep-compare" 
HBaseConfiguration instances, so that multiple HBaseConfiguration instances 
that have the same properties map to the same HConnection instance. In case one 
is "concerned that a single HConnection is insufficient for sharing amongst 
clients", to quote the javadoc, then one should be able to mark a given 
HBaseConfiguration instance as being "uniquely identifiable".


This addresses bug HBASE-3777.
    https://issues.apache.org/jira/browse/HBASE-3777


Diffs (updated)
-----

  src/main/java/org/apache/hadoop/hbase/HConstants.java 0911375 
  src/main/java/org/apache/hadoop/hbase/catalog/CatalogTracker.java feed777 
  src/main/java/org/apache/hadoop/hbase/client/HBaseAdmin.java fa7448b 
  src/main/java/org/apache/hadoop/hbase/client/HConnection.java 1beedaf 
  src/main/java/org/apache/hadoop/hbase/client/HConnectionManager.java ded51c8 
  src/main/java/org/apache/hadoop/hbase/client/HTable.java 46bac9f 
  src/main/java/org/apache/hadoop/hbase/client/HTablePool.java 88827a8 
  src/main/java/org/apache/hadoop/hbase/client/MetaScanner.java 26d0b31 
  
src/main/java/org/apache/hadoop/hbase/client/replication/ReplicationAdmin.java 
d76e333 
  src/main/java/org/apache/hadoop/hbase/mapred/TableOutputFormat.java 80284bb 
  src/main/java/org/apache/hadoop/hbase/mapreduce/TableOutputFormat.java 
05d9395 
  
src/main/java/org/apache/hadoop/hbase/mapreduce/replication/VerifyReplication.java
 ed88bfa 
  src/main/java/org/apache/hadoop/hbase/master/HMaster.java f526411 
  src/main/java/org/apache/hadoop/hbase/master/ServerManager.java 834c456 
  src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java 421f275 
  
src/main/java/org/apache/hadoop/hbase/replication/master/ReplicationLogCleaner.java
 133da33 
  
src/main/java/org/apache/hadoop/hbase/replication/regionserver/ReplicationSource.java
 fc71f03 
  src/main/java/org/apache/hadoop/hbase/util/HBaseFsck.java 1c1d94b 
  src/main/java/org/apache/hadoop/hbase/util/HBaseFsckRepair.java 39f3af2 
  src/main/java/org/apache/hadoop/hbase/util/HMerge.java c447287 
  src/main/java/org/apache/hadoop/hbase/zookeeper/ZKUtil.java a4def94 
  src/main/java/org/apache/hadoop/hbase/zookeeper/ZooKeeperWatcher.java dc471c4 
  src/test/java/org/apache/hadoop/hbase/TestRegionRebalancing.java 75613b8 
  src/test/java/org/apache/hadoop/hbase/catalog/TestCatalogTracker.java ae333bb 
  src/test/java/org/apache/hadoop/hbase/catalog/TestMetaReaderEditor.java 
18e647e 
  src/test/java/org/apache/hadoop/hbase/client/TestHCM.java 5d71d75 
  src/test/java/org/apache/hadoop/hbase/mapreduce/TestTableMapReduce.java 
624f4a8 
  src/test/java/org/apache/hadoop/hbase/master/TestClockSkewDetection.java 
752e12b 
  src/test/java/org/apache/hadoop/hbase/util/TestMergeTable.java 8992dbb 

Diff: https://reviews.apache.org/r/643/diff


Testing
-------

mvn test


Thanks,

Karthick



> Redefine Identity Of HBase Configuration
> ----------------------------------------
>
>                 Key: HBASE-3777
>                 URL: https://issues.apache.org/jira/browse/HBASE-3777
>             Project: HBase
>          Issue Type: Improvement
>          Components: client, ipc
>    Affects Versions: 0.90.2
>            Reporter: Karthick Sankarachary
>            Assignee: Karthick Sankarachary
>            Priority: Minor
>             Fix For: 0.92.0
>
>         Attachments: 3777-TOF.patch, HBASE-3777-V2.patch, 
> HBASE-3777-V3.patch, HBASE-3777-V4.patch, HBASE-3777-V6.patch, 
> HBASE-3777.patch
>
>
> Judging from the javadoc in {{HConnectionManager}}, sharing connections 
> across multiple clients going to the same cluster is supposedly a good thing. 
> However, the fact that there is a one-to-one mapping between a configuration 
> and connection instance, kind of works against that goal. Specifically, when 
> you create {{HTable}} instances using a given {{Configuration}} instance and 
> a copy thereof, we end up with two distinct {{HConnection}} instances under 
> the covers. Is this really expected behavior, especially given that the 
> configuration instance gets cloned a lot?
> Here, I'd like to play devil's advocate and propose that we "deep-compare" 
> {{HBaseConfiguration}} instances, so that multiple {{HBaseConfiguration}} 
> instances that have the same properties map to the same {{HConnection}} 
> instance. In case one is "concerned that a single {{HConnection}} is 
> insufficient for sharing amongst clients",  to quote the javadoc, then one 
> should be able to mark a given {{HBaseConfiguration}} instance as being 
> "uniquely identifiable".
> Note that "sharing connections makes clean up of {{HConnection}} instances a 
> little awkward", unless of course, you apply the change described in 
> HBASE-3766.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to