Revert "Remove unused CurrentUser#cacheKey method"
Revert "Adjust to changes in Gerrit core" Revert submission 283559-currentuser-remove-cache-key Reason for revert: Causes a latency regression for some hosts Reverted Changes: I76bfd3ebc:Adjust to changes in Gerrit core If7ccfd9a4:Remove unused CurrentUser#cacheKey method I1378ad083:Remove PerThreadCache Change-Id: Idd9eb9cb91bb531ee75aa2c2cde26a01ceb5ff0a
This commit is contained in:
@@ -26,6 +26,12 @@ public class AnonymousUser extends CurrentUser {
|
||||
return new ListGroupMembership(Collections.singleton(SystemGroupBackend.ANONYMOUS_USERS));
|
||||
}
|
||||
|
||||
@Override
|
||||
public Object getCacheKey() {
|
||||
// Treat all anonymous users as a single user
|
||||
return "anonymous";
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "ANONYMOUS";
|
||||
|
||||
@@ -91,6 +91,12 @@ public abstract class CurrentUser {
|
||||
*/
|
||||
public abstract GroupMembership getEffectiveGroups();
|
||||
|
||||
/**
|
||||
* Returns a unique identifier for this user that is intended to be used as a cache key. Returned
|
||||
* object should to implement {@code equals()} and {@code hashCode()} for effective caching.
|
||||
*/
|
||||
public abstract Object getCacheKey();
|
||||
|
||||
/** Unique name of the user on this server, if one has been assigned. */
|
||||
public Optional<String> getUserName() {
|
||||
return Optional.empty();
|
||||
|
||||
@@ -413,6 +413,11 @@ public class IdentifiedUser extends CurrentUser {
|
||||
return effectiveGroups;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Object getCacheKey() {
|
||||
return getAccountId();
|
||||
}
|
||||
|
||||
public PersonIdent newRefLogIdent() {
|
||||
return newRefLogIdent(new Date(), TimeZone.getDefault());
|
||||
}
|
||||
|
||||
@@ -35,6 +35,11 @@ public class InternalUser extends CurrentUser {
|
||||
return GroupMembership.EMPTY;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getCacheKey() {
|
||||
return "internal";
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isInternalUser() {
|
||||
return true;
|
||||
|
||||
@@ -40,6 +40,11 @@ public class PeerDaemonUser extends CurrentUser {
|
||||
return GroupMembership.EMPTY;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Object getCacheKey() {
|
||||
return getRemoteAddress();
|
||||
}
|
||||
|
||||
public SocketAddress getRemoteAddress() {
|
||||
return peer;
|
||||
}
|
||||
|
||||
@@ -64,4 +64,9 @@ public final class GroupBackedUser extends CurrentUser {
|
||||
public String getLoggableName() {
|
||||
return "GroupBackedUser with memberships: " + groups.getKnownGroups();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Object getCacheKey() {
|
||||
return groups.getKnownGroups();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -100,6 +100,11 @@ public class UiActionsTest {
|
||||
throw new UnsupportedOperationException("not implemented");
|
||||
}
|
||||
|
||||
@Override
|
||||
public Object getCacheKey() {
|
||||
return new Object();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isIdentifiedUser() {
|
||||
return true;
|
||||
|
||||
@@ -1197,6 +1197,11 @@ public class RefControlTest {
|
||||
return groups;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Object getCacheKey() {
|
||||
return new Object();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Optional<String> getUserName() {
|
||||
return Optional.ofNullable(username);
|
||||
|
||||
Submodule plugins/replication updated: 10b616284a...a6a6ec5982
Reference in New Issue
Block a user