Skip to content

Commit 84943da

Browse files
authored
chore: check that the session has a lastUseTime (#3363)
1 parent 38dc14a commit 84943da

File tree

1 file changed

+4
-2
lines changed

1 file changed

+4
-2
lines changed

google-cloud-spanner/src/main/java/com/google/cloud/spanner/SessionPool.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2083,7 +2083,8 @@ private void removeIdleSessions(Instant currTime) {
20832083
Iterator<PooledSession> iterator = sessions.descendingIterator();
20842084
while (iterator.hasNext()) {
20852085
PooledSession session = iterator.next();
2086-
if (session.delegate.getLastUseTime().isBefore(minLastUseTime)) {
2086+
if (session.delegate.getLastUseTime() != null
2087+
&& session.delegate.getLastUseTime().isBefore(minLastUseTime)) {
20872088
if (session.state != SessionState.CLOSING) {
20882089
boolean isRemoved = removeFromPool(session);
20892090
if (isRemoved) {
@@ -2676,7 +2677,8 @@ private Tuple<PooledSession, Integer> findSessionToKeepAlive(
26762677
&& (numChecked + numAlreadyChecked)
26772678
< (options.getMinSessions() + options.getMaxIdleSessions() - numSessionsInUse)) {
26782679
PooledSession session = iterator.next();
2679-
if (session.delegate.getLastUseTime().isBefore(keepAliveThreshold)) {
2680+
if (session.delegate.getLastUseTime() != null
2681+
&& session.delegate.getLastUseTime().isBefore(keepAliveThreshold)) {
26802682
iterator.remove();
26812683
return Tuple.of(session, numChecked);
26822684
}

0 commit comments

Comments
 (0)