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");
        


Reply via email to