You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@vcl.apache.org by ar...@apache.org on 2013/03/06 20:26:28 UTC

svn commit: r1453500 - /vcl/trunk/managementnode/lib/VCL/utils.pm

Author: arkurth
Date: Wed Mar  6 19:26:28 2013
New Revision: 1453500

URL: http://svn.apache.org/r1453500
Log:
VCL-16
Added cache timestamp check to get_user_info.

Modified:
    vcl/trunk/managementnode/lib/VCL/utils.pm

Modified: vcl/trunk/managementnode/lib/VCL/utils.pm
URL: http://svn.apache.org/viewvc/vcl/trunk/managementnode/lib/VCL/utils.pm?rev=1453500&r1=1453499&r2=1453500&view=diff
==============================================================================
--- vcl/trunk/managementnode/lib/VCL/utils.pm (original)
+++ vcl/trunk/managementnode/lib/VCL/utils.pm Wed Mar  6 19:26:28 2013
@@ -7302,9 +7302,16 @@ sub get_user_info {
 		return;
 	}
 	
-	if (!$no_cache && $ENV{user_info}{$user_identifier}) {
-		notify($ERRORS{'DEBUG'}, 0, "returning cached user info: $user_identifier");
-		return $ENV{user_info}{$user_identifier};
+	# Check if cached user info exists
+	if (!$no_cache && defined($ENV{user_info}{$user_identifier})) {
+		# Check the time the info was last retrieved
+		my $data_age_seconds = (time - $ENV{user_info}{$user_identifier}{RETRIEVAL_TIME});
+		if ($data_age_seconds < 600) {
+			return $ENV{user_info}{$user_identifier};
+		}
+		else {
+			notify($ERRORS{'DEBUG'}, 0, "retrieving current user info for '$user_identifier' from database, cached data is stale: $data_age_seconds seconds old");
+		}
 	}
 	notify($ERRORS{'DEBUG'}, 0, "retrieving user info: $user_identifier");