Skip to content

Commit

Permalink
Fix the time check logic for judging stale client channels to be inac…
Browse files Browse the repository at this point in the history
…tive
  • Loading branch information
xiaohu-liu committed Oct 30, 2023
1 parent 37b33dc commit 81533c4
Showing 1 changed file with 7 additions and 6 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import java.time.LocalDateTime;
import java.time.LocalTime;
import java.util.ArrayList;
import java.util.List;
Expand Down Expand Up @@ -160,12 +161,12 @@ public void close() {
* stale.
*/
private void cleanupStaleClients() {
LocalTime cleanupTime = LocalTime.now();
LocalDateTime cleanupTime = LocalDateTime.now();
LOG.debug("Starting cleanup authentication registry at {}", cleanupTime);
// Get a list of stale clients under read lock.
List<UUID> staleChannels = new ArrayList<>();
for (Map.Entry<UUID, AuthenticatedChannelInfo> clientEntry : mChannels.entrySet()) {
LocalTime lat = clientEntry.getValue().getLastAccessTime();
LocalDateTime lat = clientEntry.getValue().getLastAccessTime();
if (lat.plusSeconds(mCleanupIntervalMs / 1000).isBefore(cleanupTime)) {
staleChannels.add(clientEntry.getKey());
}
Expand Down Expand Up @@ -201,7 +202,7 @@ protected void checkSupported(AuthType authType) {
* and Sasl objects per channel.
*/
class AuthenticatedChannelInfo {
private LocalTime mLastAccessTime;
private LocalDateTime mLastAccessTime;
private AuthenticatedUserInfo mUserInfo;
private AuthenticatedChannelServerDriver mSaslServerDriver;

Expand All @@ -213,17 +214,17 @@ public AuthenticatedChannelInfo(AuthenticatedUserInfo userInfo,
AuthenticatedChannelServerDriver saslServerDriver) {
mUserInfo = userInfo;
mSaslServerDriver = saslServerDriver;
mLastAccessTime = LocalTime.now();
mLastAccessTime = LocalDateTime.now();
}

private synchronized void updateLastAccessTime() {
mLastAccessTime = LocalTime.now();
mLastAccessTime = LocalDateTime.now();
}

/**
* @return the last access time
*/
public synchronized LocalTime getLastAccessTime() {
public synchronized LocalDateTime getLastAccessTime() {
return mLastAccessTime;
}

Expand Down

0 comments on commit 81533c4

Please sign in to comment.