code: def on_remembered_identifiers_failure(self, exc, subject_context):
          
          msg = ("There was a failure while trying to retrieve remembered "
                 "identifier.  This could be due to a configuration problem or "
                 "corrupted identifier.  This could also be due to a recently "
                 "changed encryption key.  The remembered identity will be "
                 "forgotten and not used for this request. ", exc)
          logger.debug(msg)
  
          self.forget_identity(subject_context)
  
          # propagate - security manager implementation will handle and warn
          # appropriately:
          raise exc
docs: Called when an exception is thrown while trying to retrieve identifier.
          The default implementation logs a debug message and forgets ('unremembers')
          the problem identity by calling forget_identity(subject_context) and
          then immediately re-raises the exception to allow the calling
          component to react accordingly.
  
          This method implementation never returns an object - it always rethrows,
          but can be overridden by subclasses for custom handling behavior.
  
          This most commonly would be called when an encryption key is updated
          and old identifier are retrieved that have been encrypted with the
          previous key.
  
          :param exc: the exception that was thrown
          :param subject_context: the contextual data that is being
                                  used to construct a Subject instance
          :raises:  the original Exception passed is propagated in all cases