bhattmanish98 commented on code in PR #7817:
URL: https://github.com/apache/hadoop/pull/7817#discussion_r2280768741


##########
hadoop-tools/hadoop-azure/src/main/java/org/apache/hadoop/fs/azurebfs/services/KeepAliveCache.java:
##########
@@ -259,48 +151,39 @@ public synchronized HttpClientConnection get()
    * will make space for the new connection. If the cache is closed or of zero 
size,
    * the connection is closed and not added to the cache.
    *
-   * @param httpClientConnection HttpClientConnection to be cached
+   * @param conn HttpClientConnection to be cached
    * @return true if the HttpClientConnection is added in active cache, false 
otherwise.
    */
-  public synchronized boolean put(HttpClientConnection httpClientConnection) {
-    if (isClosed.get() || maxConn == 0) {
-      closeHttpClientConnection(httpClientConnection);
+  public boolean add(HttpClientConnection conn) {
+    if (conn == null) {
+      LOG.warn("Attempt to add null HttpClientConnection to the cache for 
account: {}",
+          accountNamePath);
       return false;
     }
-    if (size() == maxConn) {
-      closeHttpClientConnection(get(0).httpClientConnection);
-      subList(0, 1).clear();
+    if (isClosed.get() || maxCacheConnections <= 0
+        || !conn.isOpen() || conn.isStale()) {
+      closeHttpClientConnection(conn);
+      return false;
+    }
+    while (size() >= maxCacheConnections) {

Review Comment:
   I have kept this like this intentionally because making it synchronized will 
come with performance impact. Since while condition is checking for >= 
condition so it will clear all extra connections at the end and maintain the 
required number of connections in the cache.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: common-issues-unsubscr...@hadoop.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


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

Reply via email to