docs: protected int overQualLastAccessTimeUpdate(BackedSession sess, long nowTime) {
          if (com.ibm.websphere.ras.TraceComponent.isAnyTracingEnabled() && LoggingUtil.SESSION_LOGGER_WAS.isLoggable(Level.FINE)) {
              StringBuffer sb = new StringBuffer(" lastAccessTime= ");
              sb.append(sess.getCurrentAccessTime());
              sb.append("; nowTime= ").append(nowTime);
              LoggingUtil.SESSION_LOGGER_WAS.entering(methodClassName, methodNames[OVERQUAL_LAST_ACCESS_TIME_UPDATE], sb);
          }
          Connection con = null;
          PreparedStatement s = null;
          String id = sess.getId();
          int rowsRet = 1; //Assume that it will be cache hit.
          try {
  
              // PQ76937 BEGIN
              synchronized (sess) {
                  con = getConnection(false);
                  if (con == null) {
                      return 1;
                      /*
                       * REG if the database goes down, we will not update the lastAccessTime because we still want to find a match
                       * when the database does come back up. I do see a problem if the database goes down, we keep hitting a session
                       * and then because we haven't updated the lastAccessTime, our invalidator thread invalidates the session.
                       */
                  }
  
                  s = con.prepareStatement(optUpdatePrimRow);
                  setPSLong(s, 1, nowTime);
                  s.setString(2, id);
                  s.setString(3, id);
                  s.setString(4, sess.getAppName());
                  //the currentAccessTime has not been updated so this is really the lastAccessTime until we call updateLastAccessTime
                  setPSLong(s, 5, sess.getCurrentAccessTime());
                  rowsRet = s.executeUpdate();
  
                  if (rowsRet > 0) {
                      sess.updateLastAccessTime(nowTime);
                  }
              }
              // PQ76937 END
  
              if (com.ibm.websphere.ras.TraceComponent.isAnyTracingEnabled() && LoggingUtil.SESSION_LOGGER_WAS.isLoggable(Level.FINE)) {
                  if (rowsRet > 0) {
                      LoggingUtil.SESSION_LOGGER_WAS.logp(Level.FINE, methodClassName, methodNames[OVERQUAL_LAST_ACCESS_TIME_UPDATE], "after upd (row changed " + id);
                  } else {
                      //It might be either cache hit or session is not in cache
                      LoggingUtil.SESSION_LOGGER_WAS.logp(Level.FINE, methodClassName, methodNames[OVERQUAL_LAST_ACCESS_TIME_UPDATE],
                                                          "It might be either cache hit or session is not in cache for  " + id);
                  }
              }
          } catch (Throwable th) {
              //           if (isStaleConnectionException(th)) {
              //               com.ibm.ws.ffdc.FFDCFilter.processException(th, "com.ibm.ws.session.store.db.DatabaseHashMap.overQualLastAccessTimeUpdate", "1527", sess);
              //               if (com.ibm.websphere.ras.TraceComponent.isAnyTracingEnabled()&&LoggingUtil.SESSION_LOGGER_WAS.isLoggable(Level.FINE)) {
              //                   LoggingUtil.SESSION_LOGGER_WAS.logp(Level.FINE, methodClassName, methodNames[OVERQUAL_LAST_ACCESS_TIME_UPDATE], "StaleConnectionException");
              //               }
              //           } else {
              com.ibm.ws.ffdc.FFDCFilter.processException(th, "com.ibm.ws.session.store.db.DatabaseHashMap.overQualLastAccessTimeUpdate", "1531", sess);
              LoggingUtil.SESSION_LOGGER_WAS.logp(Level.SEVERE, methodClassName, methodNames[OVERQUAL_LAST_ACCESS_TIME_UPDATE], "CommonMessage.sessionid", id);
              LoggingUtil.SESSION_LOGGER_WAS.logp(Level.SEVERE, methodClassName, methodNames[OVERQUAL_LAST_ACCESS_TIME_UPDATE], "CommonMessage.exception", th);
              //           }
          } finally {
              if (s != null) {
                  closeStatement(s);
              }
              if (con != null) {
                  closeConnection(con);
              }
          }
  
          return rowsRet;
      }