Hi,
In the version 0.35 of Session.pm, the method
"calculate_initial_session_expires" has been changed and now it tries to
get a stored session_expired if sessionid exists. One of its usage is
inside reset_session_expires() which is called during a session
creation.
There is no real need to ask for session data here because the
session was just created.
In most cases, an additional get_session_data() call costs nothing, but
we are using Infinispan as session store for caching and such call means
at least one or even several remote requests returning no data. The
simple fix for this problem can be as follows.
sub create_session_id {
my $c = shift;
my $sid = $c->generate_session_id;
$c->log->debug(qq/Created session "$sid"/) if $c->debug;
- $c->_sessionid($sid);
$c->reset_session_expires;
+ $c->_sessionid($sid);
$c->set_session_id($sid);
return $sid;
}