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

Íñigo Goiri commented on HDFS-14114:
------------------------------------

Thanks [~ferhui] for  [^HDFS-14114.005.patch].
The unit tests look good:
https://builds.apache.org/job/PreCommit-HDFS-Build/25697/testReport/org.apache.hadoop.hdfs.server.federation.router/TestConnectionManager/

Just a minor comment, instead of:
{code}
assertTrue(0.8f - pool.getMinActiveRatio() < 0.001f);
{code}
We could do:
{code}
assertEquals(0.8f, pool.getMinActiveRatio(), 0.001f);
{code}
Which already considers the case you want to cover.

For {{TestConnectionManager#257}}, the excepted ({{totalConns - 1}} should be 
the first parameter).

> RBF: MIN_ACTIVE_RATIO should be configurable
> --------------------------------------------
>
>                 Key: HDFS-14114
>                 URL: https://issues.apache.org/jira/browse/HDFS-14114
>             Project: Hadoop HDFS
>          Issue Type: Bug
>            Reporter: Fei Hui
>            Assignee: Fei Hui
>            Priority: Major
>         Attachments: HDFS-14114.001.patch, HDFS-14114.002.patch, 
> HDFS-14114.003.patch, HDFS-14114.004.patch, HDFS-14114.005.patch
>
>
> The following code contains 
> {code:java}
>       if (timeSinceLastActive > connectionCleanupPeriodMs ||
>           active < MIN_ACTIVE_RATIO * total) {
>         // Remove and close 1 connection
>         List<ConnectionContext> conns = pool.removeConnections(1);
>         for (ConnectionContext conn : conns) {
>           conn.close();
>         }
>         LOG.debug("Removed connection {} used {} seconds ago. " +
>                 "Pool has {}/{} connections", pool.getConnectionPoolId(),
>             TimeUnit.MILLISECONDS.toSeconds(timeSinceLastActive),
>             pool.getNumConnections(), pool.getMaxSize());
>       }
> ...
>             if (pool.getNumConnections() < pool.getMaxSize() &&
>                 active >= MIN_ACTIVE_RATIO * total) {
>               ConnectionContext conn = pool.newConnection();
>               pool.addConnection(conn);
>             } else {
>               LOG.debug("Cannot add more than {} connections to {}",
>                   pool.getMaxSize(), pool);
>             }
> {code}
> It affects cleanup and creating Connections. Maybe it should be configurable 
> so that we can reconfig it to improve performance



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

---------------------------------------------------------------------
To unsubscribe, e-mail: hdfs-issues-unsubscr...@hadoop.apache.org
For additional commands, e-mail: hdfs-issues-h...@hadoop.apache.org

Reply via email to