[java-identity-provider COMMIT] in /trunk/idp-session-impl/src/main/java/net/shibboleth/idp/session/impl: StorageBack...
noreply at shibboleth.net
noreply at shibboleth.net
Thu Aug 27 09:53:04 EDT 2015
Author: scantor
Date: Thu Aug 27 09:53:03 2015
New Revision: 7707
URL: http://svn.shibboleth.net/view/java-identity-provider?rev=7707&view=rev
Log:
IDP-594 - Rework conditional use of SP session features in session cache
Modified:
trunk/idp-session-impl/src/main/java/net/shibboleth/idp/session/impl/StorageBackedIdPSession.java
trunk/idp-session-impl/src/main/java/net/shibboleth/idp/session/impl/StorageBackedIdPSessionSerializer.java
trunk/idp-session-impl/src/main/java/net/shibboleth/idp/session/impl/StorageBackedSessionManager.java
Modified: trunk/idp-session-impl/src/main/java/net/shibboleth/idp/session/impl/StorageBackedIdPSession.java
URL: http://svn.shibboleth.net/view/java-identity-provider/trunk/idp-session-impl/src/main/java/net/shibboleth/idp/session/impl/StorageBackedIdPSession.java?rev=7707&r1=7706&r2=7707&view=diff
==============================================================================
--- trunk/idp-session-impl/src/main/java/net/shibboleth/idp/session/impl/StorageBackedIdPSession.java (original)
+++ trunk/idp-session-impl/src/main/java/net/shibboleth/idp/session/impl/StorageBackedIdPSession.java Thu Aug 27 09:53:03 2015
@@ -319,7 +319,7 @@
@Override
@Nonnull @NonnullElements @NotLive @Unmodifiable public Set<SPSession> getSPSessions() {
- if (sessionManager.isTrackSPSessions()) {
+ if (sessionManager.isTrackSPSessions() && sessionManager.storageServiceMeetsThreshold()) {
// Check for any sparse/null values in the map, which need to be loaded before returning a complete set.
final Iterator<Map.Entry<String, Optional<SPSession>>> entries =
getSPSessionMap().entrySet().iterator();
@@ -347,7 +347,7 @@
/** {@inheritDoc} */
@Override
@Nullable public SPSession getSPSession(@Nonnull @NotEmpty final String serviceId) {
- if (sessionManager.isTrackSPSessions()) {
+ if (sessionManager.isTrackSPSessions() && sessionManager.storageServiceMeetsThreshold()) {
// Check existing map.
SPSession result = super.getSPSession(serviceId);
if (result != null) {
@@ -383,6 +383,11 @@
@Override
@Nullable public SPSession addSPSession(@Nonnull final SPSession spSession) throws SessionException {
if (sessionManager.isTrackSPSessions()) {
+ if (!sessionManager.storageServiceMeetsThreshold()) {
+ log.info("Unable to add SP session due to to storage service limitations");
+ return null;
+ }
+
try {
// Store the record.
if (!saveSPSessionToStorage(spSession) && !sessionManager.isMaskStorageFailure()) {
Modified: trunk/idp-session-impl/src/main/java/net/shibboleth/idp/session/impl/StorageBackedIdPSessionSerializer.java
URL: http://svn.shibboleth.net/view/java-identity-provider/trunk/idp-session-impl/src/main/java/net/shibboleth/idp/session/impl/StorageBackedIdPSessionSerializer.java?rev=7707&r1=7706&r2=7707&view=diff
==============================================================================
--- trunk/idp-session-impl/src/main/java/net/shibboleth/idp/session/impl/StorageBackedIdPSessionSerializer.java (original)
+++ trunk/idp-session-impl/src/main/java/net/shibboleth/idp/session/impl/StorageBackedIdPSessionSerializer.java Thu Aug 27 09:53:03 2015
@@ -122,13 +122,17 @@
}
if (sessionManager.isTrackSPSessions()) {
- final Set<SPSession> services = instance.getSPSessions();
- if (!services.isEmpty()) {
- gen.writeStartArray(SERVICE_ID_ARRAY_FIELD);
- for (final SPSession service : services) {
- gen.write(service.getId());
+ if (sessionManager.storageServiceMeetsThreshold()) {
+ final Set<SPSession> services = instance.getSPSessions();
+ if (!services.isEmpty()) {
+ gen.writeStartArray(SERVICE_ID_ARRAY_FIELD);
+ for (final SPSession service : services) {
+ gen.write(service.getId());
+ }
+ gen.writeEnd();
}
- gen.writeEnd();
+ } else {
+ log.info("Unable to serialize SP session due to to storage service limitations");
}
}
Modified: trunk/idp-session-impl/src/main/java/net/shibboleth/idp/session/impl/StorageBackedSessionManager.java
URL: http://svn.shibboleth.net/view/java-identity-provider/trunk/idp-session-impl/src/main/java/net/shibboleth/idp/session/impl/StorageBackedSessionManager.java?rev=7707&r1=7706&r2=7707&view=diff
==============================================================================
--- trunk/idp-session-impl/src/main/java/net/shibboleth/idp/session/impl/StorageBackedSessionManager.java (original)
+++ trunk/idp-session-impl/src/main/java/net/shibboleth/idp/session/impl/StorageBackedSessionManager.java Thu Aug 27 09:53:03 2015
[... 109 lines stripped ...]
More information about the commits
mailing list