[jira] [Updated] (HBASE-4568) Make zk dump jsp response more quickly

2011-10-13 Thread Nicolas Spiegelberg (Updated) (JIRA)

 [ 
https://issues.apache.org/jira/browse/HBASE-4568?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Nicolas Spiegelberg updated HBASE-4568:
---

Attachment: HBASE-4568.patch

please remember to attach the patch to JIRA in addition to posting to Review 
Board.  Hopefully, we'll have RB or Phabricator automatically do this for us in 
the future.

 Make zk dump jsp response more quickly
 --

 Key: HBASE-4568
 URL: https://issues.apache.org/jira/browse/HBASE-4568
 Project: HBase
  Issue Type: Improvement
Reporter: Liyin Tang
Assignee: Liyin Tang
 Attachments: HBASE-4568.patch


 1) For each zk dump, currently hbase will create a zk client instance every 
 time. 
 This is quite slow when any machines in the quorum is dead. Because it will 
 connect to each machine in the zk quorum again.
 code
 HMaster master = (HMaster)getServletContext().getAttribute(HMaster.MASTER);
 Configuration conf = master.getConfiguration();
 HBaseAdmin hbadmin = new HBaseAdmin(conf);
 HConnection connection = hbadmin.getConnection();
 ZooKeeperWatcher watcher = connection.getZooKeeperWatcher();
 /code
 So we can simplify this:
 code
 HMaster master = (HMaster)getServletContext().getAttribute(HMaster.MASTER);
 ZooKeeperWatcher watcher = master.getZooKeeperWatcher();
 /code
 2) Also when hbase call getServerStats() for each machine in the zk quorum, 
 it hard coded the default time out as 1 min. 
 It would be nice to make this configurable and set it to a low time out.
 When hbase tries to connect to each machine in the zk quorum, it will create 
 the socket, and then set the socket time out, and read it with this time out.
 It means hbase will create a socket and connect to the zk server with 0 time 
 out at first, which will take a long time. 
 Because a timeout of zero is interpreted as an infinite timeout. The 
 connection will then block until established or an error occurs.
 3) The recoverable zookeeper should be real exponentially backoff when there 
 is connection loss exception, which will give hbase much longer time window 
 to recover from zk machine failures.

--
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




[jira] [Updated] (HBASE-4568) Make zk dump jsp response more quickly

2011-10-13 Thread Liyin Tang (Updated) (JIRA)

 [ 
https://issues.apache.org/jira/browse/HBASE-4568?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Liyin Tang updated HBASE-4568:
--

Description: 
1) For each zk dump, currently hbase will create a zk client instance every 
time. 
This is quite slow when any machines in the quorum is dead. Because it will 
connect to each machine in the zk quorum again.

code
HMaster master = (HMaster)getServletContext().getAttribute(HMaster.MASTER);
Configuration conf = master.getConfiguration();
HBaseAdmin hbadmin = new HBaseAdmin(conf);
HConnection connection = hbadmin.getConnection();
ZooKeeperWatcher watcher = connection.getZooKeeperWatcher();
/code

So we can simplify this:
code
HMaster master = (HMaster)getServletContext().getAttribute(HMaster.MASTER);
ZooKeeperWatcher watcher = master.getZooKeeperWatcher();
/code

2) Also when hbase call getServerStats() for each machine in the zk quorum, it 
hard coded the default time out as 1 min. 
It would be nice to make this configurable and set it to a low time out.

When hbase tries to connect to each machine in the zk quorum, it will create 
the socket, and then set the socket time out, and read it with this time out.
It means hbase will create a socket and connect to the zk server with 0 time 
out at first, which will take a long time. 
Because a timeout of zero is interpreted as an infinite timeout. The connection 
will then block until established or an error occurs.

3) The recoverable zookeeper should be real exponentially backoff when there is 
connection loss exception, which will give hbase much longer time window to 
recover from zk machine failures.

  was:
For each zk dump, currently hbase will create a zk client instance every time. 
This is quite slow when any machines in the quorum is dead. Because it will 
connect to each machine in the zk quorum again.

  HMaster master = (HMaster)getServletContext().getAttribute(HMaster.MASTER);
  Configuration conf = master.getConfiguration();
  HBaseAdmin hbadmin = new HBaseAdmin(conf);
  HConnection connection = hbadmin.getConnection();
  ZooKeeperWatcher watcher = connection.getZooKeeperWatcher();


So we can simplify this:
  HMaster master = (HMaster)getServletContext().getAttribute(HMaster.MASTER);
  ZooKeeperWatcher watcher = master.getZooKeeperWatcher();


Also when hbase call getServerStats() for each machine in the zk quorum, it 
hard coded the default time out as 1 min. 
It would be nice to make this configurable and set it to a low time out.

When hbase tries to connect to each machine in the zk quorum, it will create 
the socket, and then set the socket time out, and read it with this time out.
It means hbase will create a socket and connect to the zk server with 0 time 
out at first, which will take a long time. 
Because a timeout of zero is interpreted as an infinite timeout. The connection 
will then block until established or an error occurs.





 Make zk dump jsp response more quickly
 --

 Key: HBASE-4568
 URL: https://issues.apache.org/jira/browse/HBASE-4568
 Project: HBase
  Issue Type: Improvement
Reporter: Liyin Tang
Assignee: Liyin Tang
 Attachments: HBASE-4568.patch


 1) For each zk dump, currently hbase will create a zk client instance every 
 time. 
 This is quite slow when any machines in the quorum is dead. Because it will 
 connect to each machine in the zk quorum again.
 code
 HMaster master = (HMaster)getServletContext().getAttribute(HMaster.MASTER);
 Configuration conf = master.getConfiguration();
 HBaseAdmin hbadmin = new HBaseAdmin(conf);
 HConnection connection = hbadmin.getConnection();
 ZooKeeperWatcher watcher = connection.getZooKeeperWatcher();
 /code
 So we can simplify this:
 code
 HMaster master = (HMaster)getServletContext().getAttribute(HMaster.MASTER);
 ZooKeeperWatcher watcher = master.getZooKeeperWatcher();
 /code
 2) Also when hbase call getServerStats() for each machine in the zk quorum, 
 it hard coded the default time out as 1 min. 
 It would be nice to make this configurable and set it to a low time out.
 When hbase tries to connect to each machine in the zk quorum, it will create 
 the socket, and then set the socket time out, and read it with this time out.
 It means hbase will create a socket and connect to the zk server with 0 time 
 out at first, which will take a long time. 
 Because a timeout of zero is interpreted as an infinite timeout. The 
 connection will then block until established or an error occurs.
 3) The recoverable zookeeper should be real exponentially backoff when there 
 is connection loss exception, which will give hbase much longer time window 
 to recover from zk machine failures.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 

[jira] [Updated] (HBASE-4568) Make zk dump jsp response more quickly

2011-10-10 Thread Liyin Tang (Updated) (JIRA)

 [ 
https://issues.apache.org/jira/browse/HBASE-4568?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Liyin Tang updated HBASE-4568:
--

Description: 
For each zk dump, currently hbase will create a zk client instance every time. 
This is quite slow when any machines in the quorum is dead. Because it will 
connect to each machine in the zk quorum again.

  HMaster master = (HMaster)getServletContext().getAttribute(HMaster.MASTER);
  Configuration conf = master.getConfiguration();
  HBaseAdmin hbadmin = new HBaseAdmin(conf);
  HConnection connection = hbadmin.getConnection();
  ZooKeeperWatcher watcher = connection.getZooKeeperWatcher();


So we can simplify this:
  HMaster master = (HMaster)getServletContext().getAttribute(HMaster.MASTER);
  ZooKeeperWatcher watcher = master.getZooKeeperWatcher();


Also when hbase call getServerStats() for each machine in the zk quorum, it 
hard coded the default time out as 1 min. 
It would be nice to make this configurable and set it to a low time out.

When hbase tries to connect to each machine in the zk quorum, it will create 
the socket, and then set the socket time out, and read it with this time out.
It means hbase will create a socket and connect to the zk server with 0 time 
out at first, which will take a long time. 
Because a timeout of zero is interpreted as an infinite timeout. The connection 
will then block until established or an error occurs.




  was:
For each zk dump, currently hbase will create a zk client instance every time. 
This is quite slow when any machines in the quorum is dead. Because it will 
connect to each machine in the zk quorum again.

  HMaster master = (HMaster)getServletContext().getAttribute(HMaster.MASTER);
  Configuration conf = master.getConfiguration();
  HBaseAdmin hbadmin = new HBaseAdmin(conf);
  HConnection connection = hbadmin.getConnection();
  ZooKeeperWatcher watcher = connection.getZooKeeperWatcher();


So we can simplify this:
  HMaster master = (HMaster)getServletContext().getAttribute(HMaster.MASTER);
  ZooKeeperWatcher watcher = master.getZooKeeperWatcher();


Also when hbase call getServerStats() for each machine in the zk quorum, it 
hard coded the default time out as 1 min. 
It would be nice to make this configurable and set it to a low time out.



 Make zk dump jsp response more quickly
 --

 Key: HBASE-4568
 URL: https://issues.apache.org/jira/browse/HBASE-4568
 Project: HBase
  Issue Type: Improvement
Reporter: Liyin Tang
Assignee: Liyin Tang

 For each zk dump, currently hbase will create a zk client instance every 
 time. 
 This is quite slow when any machines in the quorum is dead. Because it will 
 connect to each machine in the zk quorum again.
   HMaster master = (HMaster)getServletContext().getAttribute(HMaster.MASTER);
   Configuration conf = master.getConfiguration();
   HBaseAdmin hbadmin = new HBaseAdmin(conf);
   HConnection connection = hbadmin.getConnection();
   ZooKeeperWatcher watcher = connection.getZooKeeperWatcher();
 So we can simplify this:
   HMaster master = (HMaster)getServletContext().getAttribute(HMaster.MASTER);
   ZooKeeperWatcher watcher = master.getZooKeeperWatcher();
 Also when hbase call getServerStats() for each machine in the zk quorum, it 
 hard coded the default time out as 1 min. 
 It would be nice to make this configurable and set it to a low time out.
 When hbase tries to connect to each machine in the zk quorum, it will create 
 the socket, and then set the socket time out, and read it with this time out.
 It means hbase will create a socket and connect to the zk server with 0 time 
 out at first, which will take a long time. 
 Because a timeout of zero is interpreted as an infinite timeout. The 
 connection will then block until established or an error occurs.

--
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