This is an automated email from the ASF dual-hosted git repository.

kturner pushed a commit to branch 2.1
in repository https://gitbox.apache.org/repos/asf/accumulo.git


The following commit(s) were added to refs/heads/2.1 by this push:
     new 48b9f2c7f9 encapsulates Session.state field (#4825)
48b9f2c7f9 is described below

commit 48b9f2c7f9056d60c18d804065c610f970e41706
Author: Keith Turner <ktur...@apache.org>
AuthorDate: Fri Aug 23 14:36:38 2024 -0700

    encapsulates Session.state field (#4825)
    
    Using an IDE automatically encapsulated Session.state.  This change is 
needed
    in support of changes being made for #4756.  In #4756 need the ability to
    react to the state of a session changing.  Did this refactoring in its own 
PR
    to exclude automated changes from the eventual #4756 PR.
---
 .../apache/accumulo/tserver/session/Session.java   | 10 ++++-
 .../accumulo/tserver/session/SessionManager.java   | 47 +++++++++++-----------
 2 files changed, 33 insertions(+), 24 deletions(-)

diff --git 
a/server/tserver/src/main/java/org/apache/accumulo/tserver/session/Session.java 
b/server/tserver/src/main/java/org/apache/accumulo/tserver/session/Session.java
index 6e49833729..65df78a345 100644
--- 
a/server/tserver/src/main/java/org/apache/accumulo/tserver/session/Session.java
+++ 
b/server/tserver/src/main/java/org/apache/accumulo/tserver/session/Session.java
@@ -30,7 +30,7 @@ public class Session {
   public final String client;
   public long lastAccessTime;
   public long startTime;
-  State state = State.NEW;
+  private State state = State.NEW;
   private final TCredentials credentials;
 
   Session(TCredentials credentials) {
@@ -50,6 +50,14 @@ public class Session {
     return true;
   }
 
+  public void setState(State state) {
+    this.state = state;
+  }
+
+  public State getState() {
+    return state;
+  }
+
   @Override
   public String toString() {
     return getClass().getSimpleName() + " " + state + " startTime:" + 
startTime + " lastAccessTime:"
diff --git 
a/server/tserver/src/main/java/org/apache/accumulo/tserver/session/SessionManager.java
 
b/server/tserver/src/main/java/org/apache/accumulo/tserver/session/SessionManager.java
index 92bbcbc8b8..41d7b89738 100644
--- 
a/server/tserver/src/main/java/org/apache/accumulo/tserver/session/SessionManager.java
+++ 
b/server/tserver/src/main/java/org/apache/accumulo/tserver/session/SessionManager.java
@@ -90,8 +90,8 @@ public class SessionManager {
     long sid = random.nextLong();
 
     synchronized (session) {
-      Preconditions.checkArgument(session.state == State.NEW);
-      session.state = reserve ? State.RESERVED : State.UNRESERVED;
+      Preconditions.checkArgument(session.getState() == State.NEW);
+      session.setState(reserve ? State.RESERVED : State.UNRESERVED);
       session.startTime = session.lastAccessTime = System.currentTimeMillis();
     }
 
@@ -114,14 +114,14 @@ public class SessionManager {
     Session session = sessions.get(sessionId);
     if (session != null) {
       synchronized (session) {
-        if (session.state == State.RESERVED) {
+        if (session.getState() == State.RESERVED) {
           throw new IllegalStateException(
               "Attempted to reserved session that is already reserved " + 
sessionId);
         }
-        if (session.state == State.REMOVED) {
+        if (session.getState() == State.REMOVED) {
           return null;
         }
-        session.state = State.RESERVED;
+        session.setState(State.RESERVED);
       }
     }
 
@@ -134,11 +134,11 @@ public class SessionManager {
     if (session != null) {
       synchronized (session) {
 
-        if (session.state == State.REMOVED) {
+        if (session.getState() == State.REMOVED) {
           return null;
         }
 
-        while (wait && session.state == State.RESERVED) {
+        while (wait && session.getState() == State.RESERVED) {
           try {
             session.wait(1000);
           } catch (InterruptedException e) {
@@ -146,14 +146,14 @@ public class SessionManager {
           }
         }
 
-        if (session.state == State.RESERVED) {
+        if (session.getState() == State.RESERVED) {
           throw new IllegalStateException(
               "Attempted to reserved session that is already reserved " + 
sessionId);
         }
-        if (session.state == State.REMOVED) {
+        if (session.getState() == State.REMOVED) {
           return null;
         }
-        session.state = State.RESERVED;
+        session.setState(State.RESERVED);
       }
     }
 
@@ -163,14 +163,14 @@ public class SessionManager {
 
   public void unreserveSession(Session session) {
     synchronized (session) {
-      if (session.state == State.REMOVED) {
+      if (session.getState() == State.REMOVED) {
         return;
       }
-      if (session.state != State.RESERVED) {
-        throw new IllegalStateException("Cannon unreserve, state: " + 
session.state);
+      if (session.getState() != State.RESERVED) {
+        throw new IllegalStateException("Cannon unreserve, state: " + 
session.getState());
       }
       session.notifyAll();
-      session.state = State.UNRESERVED;
+      session.setState(State.UNRESERVED);
       session.lastAccessTime = System.currentTimeMillis();
     }
   }
@@ -187,7 +187,7 @@ public class SessionManager {
 
     if (session != null) {
       synchronized (session) {
-        if (session.state == State.REMOVED) {
+        if (session.getState() == State.REMOVED) {
           return null;
         }
         session.lastAccessTime = System.currentTimeMillis();
@@ -207,12 +207,12 @@ public class SessionManager {
     if (session != null) {
       boolean doCleanup = false;
       synchronized (session) {
-        if (session.state != State.REMOVED) {
+        if (session.getState() != State.REMOVED) {
           if (unreserve) {
             unreserveSession(session);
           }
           doCleanup = true;
-          session.state = State.REMOVED;
+          session.setState(State.REMOVED);
         }
       }
 
@@ -234,11 +234,11 @@ public class SessionManager {
     boolean removed = false;
 
     synchronized (session) {
-      if (session.state == State.RESERVED) {
+      if (session.getState() == State.RESERVED) {
         return false;
       }
 
-      session.state = State.REMOVED;
+      session.setState(State.REMOVED);
       removed = true;
     }
 
@@ -283,7 +283,7 @@ public class SessionManager {
     while (iter.hasNext()) {
       Session session = iter.next();
       synchronized (session) {
-        if (session.state == State.UNRESERVED) {
+        if (session.getState() == State.UNRESERVED) {
           long configuredIdle = maxIdle;
           if (session instanceof UpdateSession) {
             configuredIdle = maxUpdateIdle;
@@ -294,7 +294,7 @@ public class SessionManager {
                 session.client, idleTime);
             iter.remove();
             sessionsToCleanup.add(session);
-            session.state = State.REMOVED;
+            session.setState(State.REMOVED);
           }
         }
       }
@@ -325,8 +325,9 @@ public class SessionManager {
           if (session2 != null) {
             boolean shouldRemove = false;
             synchronized (session2) {
-              if (session2.lastAccessTime == removeTime && session2.state == 
State.UNRESERVED) {
-                session2.state = State.REMOVED;
+              if (session2.lastAccessTime == removeTime
+                  && session2.getState() == State.UNRESERVED) {
+                session2.setState(State.REMOVED);
                 shouldRemove = true;
               }
             }

Reply via email to