bhattmanish98 commented on code in PR #7817:
URL: https://github.com/apache/hadoop/pull/7817#discussion_r2280768057
##########
hadoop-tools/hadoop-azure/src/main/java/org/apache/hadoop/fs/azurebfs/services/KeepAliveCache.java:
##########
@@ -212,45 +115,34 @@ public synchronized void close() {
@VisibleForTesting
void closeInternal() {
- timerTask.cancel();
- timer.purge();
- while (!empty()) {
- KeepAliveEntry e = pop();
- closeHttpClientConnection(e.httpClientConnection);
+ while (size() != 0) {
+ closeHttpClientConnection(removeFirst());
}
}
/**
- * <p>
- * Gets the latest added HttpClientConnection from the cache. The returned
connection
- * is non-stale and has been in the cache for less than connectionIdleTTL
milliseconds.
- * <p>
- * The cache is checked from the top of the stack. If the connection is
stale or has been
- * in the cache for more than connectionIdleTTL milliseconds, it is closed
and the next
- * connection is checked. Once a valid connection is found, it is returned.
+ * Gets the oldest added HttpClientConnection from the cache. The returned
connection
+ * is open.
+ *
+ * The cache follows the FIFO strategy. If the connection is not open, it
will
+ * be closed and the next connection is checked. Once a valid connection is
found,
+ * it is returned.
* @return HttpClientConnection: if a valid connection is found, else null.
* @throws IOException if the cache is closed.
*/
- public synchronized HttpClientConnection get()
- throws IOException {
+ public HttpClientConnection get() throws IOException {
Review Comment:
It is not needed, the reason for explicit synchronization with earlier
implementation was use of Stack which is not thread safe. Not we are using
LinkedBlockingDeque which provides thread safe operations
--
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: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]