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