----- Original Message -----
From: "Itamar Heim" <iheim(a)redhat.com>
To: "Vojtech Szocs" <vszocs(a)redhat.com>
Cc: "engine-devel" <engine-devel(a)ovirt.org>
Sent: Tuesday, October 22, 2013 8:18:56 AM
Subject: Re: [Engine-devel] Question about Engine user session timeout
On 10/21/2013 02:55 PM, Vojtech Szocs wrote:
> Hi guys,
>
> I see two different config values for dealing with Engine user session
> timeout.
>
> First, from packaging/etc/engine-config/engine-config.properties file:
> - UserSessionTimeOutInterval.description=Session timeout interval in
> minutes, after which it will be expired and clean. A negative value
> indicates the session should never timeout.
> - UserSessionTimeOutInvalidationInterval.description=Session timeout
> invalidation interval in minutes. Specifies the interval in which the
> invalidation check should occur.
>
> Then, in org.ovirt.engine.core.common.config.ConfigValues enum:
> - UserSessionTimeOutInterval (default 30)
> - UserSessionTimeOutInvalidationInterval (default 30)
>
> Looking at Backend#Initialize, both of these values are used when
> scheduling "cleanExpiredUsersSessions" job:
> - UserSessionTimeOutInterval = initialDelay param, i.e. the initial delay
> before the first activation [SchedulerUtil#scheduleAFixedDelayJob]
> - UserSessionTimeOutInvalidationInterval = taskDelay param, i.e. the delay
> between jobs [SchedulerUtil#scheduleAFixedDelayJob]
>
> So if I read this correctly, if UserSessionTimeOutInterval=100 then
> UserSessionTimeOutInvalidationInterval is relevant only after first 100min
> of Engine uptime.
>
> Why do we have two different config values for Engine user session timeout?
> i.e. why don't we use same value for both initialDelay & taskDelay param?
>
you may want to be more strict, and invalidate sessions after 30 minutes
and check for that every minute?
Well, my motivation was to understand both config values before I'll attempt to use
them in server-side Engine code.
I'm working on client-side-only improvement of UI Plugin vs. REST API integration
[proper server-side RFE is here
https://bugzilla.redhat.com/1019921], dealing with a
situation when "REST API timeout > Engine session timeout" and its
consequences; I'd like UI to create REST API session with timeout equal to Engine
session timeout.
However, as we have two distinct values for Engine session timeout, I guess my best shot
is to do
"min(UserSessionTimeOutInterval,UserSessionTimeOutInvalidationInterval)" and
expose both via admin-only GetConfigurationValue query, but I'm not sure this is the
best approach..