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

Ekanth S reassigned HDFS-13637:
-------------------------------

    Assignee: CR Hota

> RBF: Router fails when threadIndex (in ConnectionPool) wraps around 
> Integer.MIN_VALUE
> -------------------------------------------------------------------------------------
>
>                 Key: HDFS-13637
>                 URL: https://issues.apache.org/jira/browse/HDFS-13637
>             Project: Hadoop HDFS
>          Issue Type: Sub-task
>          Components: federation
>            Reporter: CR Hota
>            Assignee: CR Hota
>            Priority: Major
>
> {code:java}
>     int threadIndex = this.clientIndex.getAndIncrement();
>     for (int i=0; i<size; i++) {
>       int index = (threadIndex + i) % size;
>       conn = tmpConnections.get(index);
>       if (conn != null && conn.isUsable()) {
>         return conn;
>       }
>     }
> {code}
> The above code in ConnectionPool.java getConnection method throws 
> java.lang.ArrayIndexOutOfBoundsException when clientIndex wraps to 
> Integer.MIN_VALUE and makes router reject all requests. threadIndex should be 
> reset to 0.
> {code:java}
>     if (threadIndex < 0) {
>         // Wrap around 0 to keep array lookup index positive
>         this.clientIndex.set(0);
>         threadIndex = this.clientIndex.getAndIncrement();
>     }
> {code}
>  
>  



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

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to