You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@bloodhound.apache.org by Apache Bloodhound <de...@bloodhound.apache.org> on 2013/06/15 09:53:39 UTC

[Apache Bloodhound] #554: "Last Login" does not update

#554: "Last Login" does not update
----------------------+-----------------
  Reporter:  rjollos  |    Owner:
      Type:  defect   |   Status:  new
  Priority:  major    |  Version:  0.5.3
Resolution:           |
----------------------+-----------------
 The //Last Login// column in the Users table under Admin > Accounts >
 Users doesn't update correctly on login. Inspection of the database shows
 that the `last_visit` field isn't updating, though it does update
 correctly on login in the default Trac with !AccountManagerPlugin and
 HtPasswd authentication. More investigation is needed, but debugging so
 far has revealed that
 [http://trac.edgewall.org/browser/tags/trac-1.0.1/trac/web/session.py?marks=121#L98
 Session._new] is `False` under conditions that it is `True` in the
 "default" setup, resulting in `Session._last_visit` not getting updated.
 It looks like the problem is somewhere in the `trac.web.main`,
 `trac.hooks` or `trac.web.session` modules, all of which are involved in
 request handling and dispatching, and where modifications have been made
 for multi-product support.

-- 
Ticket URL: <https://issues.apache.org/bloodhound/ticket/554>
Apache Bloodhound <https://issues.apache.org/bloodhound/>
The Apache Bloodhound issue tracker

Re: [Apache Bloodhound] #554: "Last Login" does not update

Posted by Apache Bloodhound <de...@bloodhound.apache.org>.
#554: "Last Login" does not update
-----------------------+----------------------------
  Reporter:  rjollos   |      Owner:  rjollos
      Type:  defect    |     Status:  accepted
  Priority:  critical  |  Milestone:  Release 6
 Component:  plugins   |    Version:  0.5.3
Resolution:            |   Keywords:  AccountManager
-----------------------+----------------------------

Comment (by rjollos):

 I don't believe the issue is actually with !AccountManagerPlugin. The
 plugin is simply displaying `Sessions.last_visit` so the defect was
 noticed while viewing an !AccountManager admin panel, but the issue
 appears to be with the Bootstrap request handler.

-- 
Ticket URL: <https://issues.apache.org/bloodhound/ticket/554#comment:4>
Apache Bloodhound <https://issues.apache.org/bloodhound/>
The Apache Bloodhound issue tracker

Re: [Apache Bloodhound] #554: "Last Login" does not update

Posted by Apache Bloodhound <de...@bloodhound.apache.org>.
#554: "Last Login" does not update
-----------------------+----------------------------
  Reporter:  rjollos   |      Owner:  rjollos
      Type:  defect    |     Status:  accepted
  Priority:  critical  |  Milestone:  Release 6
 Component:  plugins   |    Version:  0.5.3
Resolution:            |   Keywords:  AccountManager
-----------------------+----------------------------

Comment (by rjollos):

 Replying to [comment:10 astaric]:
 > Can you try opening a report (or doing anything that saves some data to
 a session). This should also update your Last Login time (if it is older
 than a day).
 >
 > As far as I can tell from the trac code, it only updates last_visit time
 when session data is modified (Session.save in trac.web.session). It is
 updated when there is no record for the session in the database
 (Session._new == True) and when session data is being modified and session
 is older than a day:
 > {{{
 > if session_saved and now - self.last_visit > UPDATE_INTERVAL:
 > }}}
 > If user does nothing that changes session data, last_visit will not be
 updated.

 If I force the save of the session data, such as executing a //Custom
 Query// like you suggested, the `last_visit` does update. So it seems the
 problem may be isolated to login.

 From the testing that I did with vanillia Trac, I observed that the //Last
 Login// time updates when the user authenticates. It makes sense that
 `last_login` should update when the user authenticates, right?  You may
 want to do some testing with Trac then, just to confirm what I was seeing,
 that `last_visit` is updated when the user authenticates in vanilla Trac.

 In the cases of testing with both Trac and Bloodhound, I've set the
 `last_login` value to `0` by editing the database before the test (though
 it wasn't necessary in Bloodhound because it always stays `0` unless you
 do something to force the save of the session data). That was just to make
 the situation reproducible and not have to worry about the
 `UPDATE_INTERVAL`.

 Yesterday I had instances of Trac and Bloodhound running side-by-side with
 a debugger, and I was stepping through the code and trying to figure out
 how the execution pathways differ. There were some significant differences
 in the pathway through `Session.save()` such as `session_saved` not being
 set to `True`, but mostly I didn't document what I was seeing well enough
 before my VM froze and I decided to call it a night. After I finish
 another task I could return to this debugging session.

-- 
Ticket URL: <https://issues.apache.org/bloodhound/ticket/554#comment:11>
Apache Bloodhound <https://issues.apache.org/bloodhound/>
The Apache Bloodhound issue tracker

Re: [Apache Bloodhound] #554: "Last Login" does not update

Posted by Apache Bloodhound <de...@bloodhound.apache.org>.
#554: "Last Login" does not update
-----------------------+----------------------------
  Reporter:  rjollos   |      Owner:  rjollos
      Type:  defect    |     Status:  accepted
  Priority:  critical  |  Milestone:  Release 6
 Component:  plugins   |    Version:  0.5.3
Resolution:            |   Keywords:  AccountManager
-----------------------+----------------------------

Comment (by olemis):

 Replying to [comment:4 rjollos]:
 > [...] the issue appears to be with the Bootstrap request handler.

 You mean hooks executed at startup to load environment and request?

-- 
Ticket URL: <https://issues.apache.org/bloodhound/ticket/554#comment:5>
Apache Bloodhound <https://issues.apache.org/bloodhound/>
The Apache Bloodhound issue tracker

Re: [Apache Bloodhound] #554: "Last Login" does not update

Posted by Apache Bloodhound <de...@bloodhound.apache.org>.
#554: "Last Login" does not update
----------------------+----------------------------
  Reporter:  rjollos  |      Owner:  rjollos
      Type:  defect   |     Status:  accepted
  Priority:  major    |  Milestone:  Release 7
 Component:  plugins  |    Version:  0.5.3
Resolution:           |   Keywords:  AccountManager
----------------------+----------------------------
Changes (by rjollos):

 * priority:  critical => major
 * milestone:  Release 6 => Release 7


-- 
Ticket URL: <https://issues.apache.org/bloodhound/ticket/554#comment:18>
Apache Bloodhound <https://issues.apache.org/bloodhound/>
The Apache Bloodhound issue tracker

Re: [Apache Bloodhound] #554: "Last Login" does not update

Posted by Apache Bloodhound <de...@bloodhound.apache.org>.
#554: "Last Login" does not update
-----------------------+----------------------------
  Reporter:  rjollos   |      Owner:  rjollos
      Type:  defect    |     Status:  accepted
  Priority:  critical  |  Milestone:  Release 6
 Component:  plugins   |    Version:  0.5.3
Resolution:            |   Keywords:  AccountManager
-----------------------+----------------------------

Comment (by astaric):

 My first guess would be, that trac modifies the session during the login.
 I'll try it out and report my findings here.

-- 
Ticket URL: <https://issues.apache.org/bloodhound/ticket/554#comment:14>
Apache Bloodhound <https://issues.apache.org/bloodhound/>
The Apache Bloodhound issue tracker

Re: [Apache Bloodhound] #554: "Last Login" does not update

Posted by Apache Bloodhound <de...@bloodhound.apache.org>.
#554: "Last Login" does not update
-----------------------+----------------------------
  Reporter:  rjollos   |      Owner:  rjollos
      Type:  defect    |     Status:  accepted
  Priority:  critical  |  Milestone:  Release 6
 Component:  plugins   |    Version:  0.5.3
Resolution:            |   Keywords:  AccountManager
-----------------------+----------------------------

Comment (by astaric):

 This is my test trac environment:
 {{{
 $ pip freeze
 Genshi==0.7
 Trac==1.0.1
 TracAccountManager==0.4.3
 wsgiref==0.1.2
 }}}


 {{{
 trac.ini (what I added):
 [components]
 acct_mgr.admin.* = enabled
 acct_mgr.api.accountmanager = enabled
 acct_mgr.guard.accountguard = enabled
 acct_mgr.htfile.htdigeststore = enabled
 acct_mgr.web_ui.accountmodule = enabled
 acct_mgr.web_ui.loginmodule = enabled
 trac.web.auth.loginmodule = disabled

 [account-manager]
 account_changes_notify_addresses =
 authentication_url =
 db_htdigest_realm =
 force_passwd_change = true
 hash_method = HtDigestHashMethod
 htdigest_file =
 /Users/anze/dev/bloodhound/installer/bloodhound/environments/main/bloodhound.htdigest
 htdigest_realm = bloodhound
 htpasswd_file =
 htpasswd_hash_type = crypt
 password_store = HtDigestStore
 persistent_sessions = False
 refresh_passwd = False
 user_lock_max_time = 86400
 verify_email = True
 }}}

 If I manually reset last_visit to 0 and login, the last visit time does
 not update. If I delete the record for my username, it gets created with
 correct visit_time.

 I am curious why it works in your setup :)

-- 
Ticket URL: <https://issues.apache.org/bloodhound/ticket/554#comment:12>
Apache Bloodhound <https://issues.apache.org/bloodhound/>
The Apache Bloodhound issue tracker

Re: [Apache Bloodhound] #554: "Last Login" does not update

Posted by Apache Bloodhound <de...@bloodhound.apache.org>.
#554: "Last Login" does not update
-----------------------+----------------------------
  Reporter:  rjollos   |      Owner:  rjollos
      Type:  defect    |     Status:  accepted
  Priority:  critical  |  Milestone:  Release 6
 Component:  plugins   |    Version:  0.5.3
Resolution:            |   Keywords:  AccountManager
-----------------------+----------------------------

Comment (by rjollos):

 Replying to [comment:8 olemis]:
 > However in advance all I can say is that bootstrap handlers have nothing
 to do with database access.

 The `last_visit` column in the database isn't being updated because of the
 state of the `Session` object (see comment:description), and the database
 access is occurring in the `Session` object. The `Session` object is
 instantiated by the request handlers.

-- 
Ticket URL: <https://issues.apache.org/bloodhound/ticket/554#comment:9>
Apache Bloodhound <https://issues.apache.org/bloodhound/>
The Apache Bloodhound issue tracker

Re: [Apache Bloodhound] #554: "Last Login" does not update

Posted by Apache Bloodhound <de...@bloodhound.apache.org>.
#554: "Last Login" does not update
-----------------------+----------------------------
  Reporter:  rjollos   |      Owner:  rjollos
      Type:  defect    |     Status:  accepted
  Priority:  critical  |  Milestone:  Release 6
 Component:  plugins   |    Version:  0.5.3
Resolution:            |   Keywords:  AccountManager
-----------------------+----------------------------

Comment (by rjollos):

 Replying to [comment:5 olemis]:
 > You mean hooks executed at startup to load environment and request?

 Right. Since it works fine in Trac with !AccountManagerPlugin, and the
 issue is that the `last_visit` field of the `session` table isn't being
 updated, it appeared to me that the problem is associated with the
 modifications in `trac.web.main.dispatch_request`, or the
 `trac.hooks.default_bootstrap_handler` instance that it calls. I put more
 details about this in the [comment:description], but still need to do some
 more debugging to figure out what the exact problem is.

-- 
Ticket URL: <https://issues.apache.org/bloodhound/ticket/554#comment:6>
Apache Bloodhound <https://issues.apache.org/bloodhound/>
The Apache Bloodhound issue tracker

Re: [Apache Bloodhound] #554: "Last Login" does not update

Posted by Apache Bloodhound <de...@bloodhound.apache.org>.
#554: "Last Login" does not update
----------------------+----------------------------
  Reporter:  rjollos  |      Owner:  rjollos
      Type:  defect   |     Status:  accepted
  Priority:  major    |  Milestone:  Unscheduled
 Component:  plugins  |    Version:  0.5.3
Resolution:           |   Keywords:  AccountManager
----------------------+----------------------------
Changes (by rjollos):

 * milestone:  next 0.x => Unscheduled


-- 
Ticket URL: <https://issues.apache.org/bloodhound/ticket/554#comment:22>
Apache Bloodhound <https://issues.apache.org/bloodhound/>
The Apache Bloodhound issue tracker

Re: [Apache Bloodhound] #554: "Last Login" does not update

Posted by Apache Bloodhound <de...@bloodhound.apache.org>.
#554: "Last Login" does not update
----------------------+----------------------------
  Reporter:  rjollos  |      Owner:  rjollos
      Type:  defect   |     Status:  accepted
  Priority:  major    |  Milestone:  Release 8
 Component:  plugins  |    Version:  0.5.3
Resolution:           |   Keywords:  AccountManager
----------------------+----------------------------
Changes (by rjollos):

 * milestone:  Release 7 => Release 8


-- 
Ticket URL: <https://issues.apache.org/bloodhound/ticket/554#comment:19>
Apache Bloodhound <https://issues.apache.org/bloodhound/>
The Apache Bloodhound issue tracker

Re: [Apache Bloodhound] #554: "Last Login" does not update

Posted by Apache Bloodhound <de...@bloodhound.apache.org>.
#554: "Last Login" does not update
-----------------------+----------------------------
  Reporter:  rjollos   |      Owner:  rjollos
      Type:  defect    |     Status:  accepted
  Priority:  critical  |  Milestone:  Release 6
 Component:  plugins   |    Version:  0.5.3
Resolution:            |   Keywords:  AccountManager
-----------------------+----------------------------

Comment (by olemis):

 Replying to [comment:6 rjollos]:
 > Replying to [comment:5 olemis]:
 > > You mean hooks executed at startup to load environment and request?
 >
 > Right. Since it works fine in Trac with !AccountManagerPlugin, and the
 issue is that the `last_visit` field of the `session` table isn't being
 updated, it appeared to me that the problem is associated with the
 modifications in `trac.web.main.dispatch_request`, or the
 `trac.hooks.default_bootstrap_handler` instance that it calls. I put more
 details about this in the [comment:description], but still need to do some
 more debugging to figure out what the exact problem is.

 I'll take a (quick) look into this later today . However in advance all I
 can say is that bootstrap handlers have nothing to do with database
 access. I'd rather focus on multi-product SQL translator. Notice that
 queries for plugin tables are translated in a very particular way. Indeed
 what are the SQL statements logged your side?

-- 
Ticket URL: <https://issues.apache.org/bloodhound/ticket/554#comment:8>
Apache Bloodhound <https://issues.apache.org/bloodhound/>
The Apache Bloodhound issue tracker

Re: [Apache Bloodhound] #554: "Last Login" does not update

Posted by Apache Bloodhound <de...@bloodhound.apache.org>.
#554: "Last Login" does not update
-----------------------+----------------------------
  Reporter:  rjollos   |      Owner:  rjollos
      Type:  defect    |     Status:  accepted
  Priority:  critical  |  Milestone:  Release 6
 Component:  plugins   |    Version:  0.5.3
Resolution:            |   Keywords:  AccountManager
-----------------------+----------------------------

Comment (by astaric):

 I have tried two more configurations without AccountManagerPlugin:
 {{{
 tracd --port=8000 --auth="lastvisit,/.../bloodhound.htdigest,bloodhound"
 lastvisit
 tracd --port=8000 --basic-auth="lastvisit,/.../.htpasswd,bloodhound"
 lastvisit
 }}}
 In both, the last_visit time is only updated on the first login. If I
 manually set it to 0, another login does not change it.

-- 
Ticket URL: <https://issues.apache.org/bloodhound/ticket/554#comment:15>
Apache Bloodhound <https://issues.apache.org/bloodhound/>
The Apache Bloodhound issue tracker

Re: [Apache Bloodhound] #554: "Last Login" does not update

Posted by Apache Bloodhound <de...@bloodhound.apache.org>.
#554: "Last Login" does not update
-----------------------+----------------------------
  Reporter:  rjollos   |      Owner:  rjollos
      Type:  defect    |     Status:  accepted
  Priority:  critical  |  Milestone:  Release 6
 Component:  plugins   |    Version:  0.5.3
Resolution:            |   Keywords:  AccountManager
-----------------------+----------------------------

Comment (by rjollos):

 What do you conclude so far? My feeling is that `last_visit` should
 update, at least within the specified 24 hour resolution. In Bloodhound,
 it does not seem to update even on first login when a new user is created.
 My observation was that `last_visit` is never updated on repeated login,
 and that seems to provide supporting evidence for what a user issue
 reported on the [http://markmail.org/message/mlywn6f3zned5duo mailing
 list]. So is the problem with !AccountManagerPlugin? Does Trac properly
 update `last_visit` if there hasn't been a login for > 24 hours?

-- 
Ticket URL: <https://issues.apache.org/bloodhound/ticket/554#comment:16>
Apache Bloodhound <https://issues.apache.org/bloodhound/>
The Apache Bloodhound issue tracker

Re: [Apache Bloodhound] #554: "Last Login" does not update

Posted by Olemis Lang <ol...@gmail.com>.
On 6/21/13, Apache Bloodhound <de...@bloodhound.apache.org> wrote:
> #554: "Last Login" does not update
> -----------------------+----------------------------
>   Reporter:  rjollos   |      Owner:  rjollos
>       Type:  defect    |     Status:  accepted
>   Priority:  critical  |  Milestone:  Release 6
>  Component:  plugins   |    Version:  0.5.3
> Resolution:            |   Keywords:  AccountManager
> -----------------------+----------------------------
>
> Comment (by astaric):
>
>  I can confirm, that last_visit does not update after each login.
>
>  However, both setups (bloodhound and trac) with the login options I tested
>  (!AccountManager, --auth, --basic-auth) behave in the same way,
>  "last_visit" time is only updated when
>  - session is created for the first time (first login)
>  - when session data is modified and sufficient amount of time has passed.
>  Only the first loggin satisfies this requirements and (in every setup I
>  have tried) creates a session record with last_visit filled in. The
>  following logins do not automatically modify the last_visit field.
>

It should ...

[...]
>
>  We could touch the session data after each successful login, which would
>  keep this field (more) up to date, but the real solution would probably be
>  to store logins in a separate table. If we consider this an important
>  issue, we could propose a patch to !AccountManager or hack around to
>  manually update the last_visit time.
>

My suggestion is to keep it the way it is . More sophisticated
behaviors should be implemented by plugins .

-- 
Regards,

Olemis.

Re: [Apache Bloodhound] #554: "Last Login" does not update

Posted by Apache Bloodhound <de...@bloodhound.apache.org>.
#554: "Last Login" does not update
-----------------------+----------------------------
  Reporter:  rjollos   |      Owner:  rjollos
      Type:  defect    |     Status:  accepted
  Priority:  critical  |  Milestone:  Release 6
 Component:  plugins   |    Version:  0.5.3
Resolution:            |   Keywords:  AccountManager
-----------------------+----------------------------

Comment (by astaric):

 I can confirm, that last_visit does not update after each login.

 However, both setups (bloodhound and trac) with the login options I tested
 (!AccountManager, --auth, --basic-auth) behave in the same way,
 "last_visit" time is only updated when
 - session is created for the first time (first login)
 - when session data is modified and sufficient amount of time has passed.
 Only the first loggin satisfies this requirements and (in every setup I
 have tried) creates a session record with last_visit filled in. The
 following logins do not automatically modify the last_visit field.

 My guess is that last_visit was not ment to be used as "Last login" time,
 but as a helper to decide, when the session data can be removed from the
 database. I based my observation on the comment just before the code that
 updates the last_visit time.
 {{{
 # Purge expired sessions. We do this only when the session was
 # changed as to minimize the purging.
 }}}
 As long as the admin panel reads data from Session.last_visit, column
 caption "Last Login" is misleading.

 We could touch the session data after each successful login, which would
 keep this field (more) up to date, but the real solution would probably be
 to store logins in a separate table. If we consider this an important
 issue, we could propose a patch to !AccountManager or hack around to
 manually update the last_visit time.

-- 
Ticket URL: <https://issues.apache.org/bloodhound/ticket/554#comment:17>
Apache Bloodhound <https://issues.apache.org/bloodhound/>
The Apache Bloodhound issue tracker

Re: [Apache Bloodhound] #554: "Last Login" does not update

Posted by Apache Bloodhound <de...@bloodhound.apache.org>.
#554: "Last Login" does not update
------------------------+-----------------------
  Reporter:  rjollos    |      Owner:  rjollos
      Type:  defect     |     Status:  accepted
  Priority:  critical   |  Milestone:  Release 6
 Component:  dashboard  |    Version:  0.5.3
Resolution:             |   Keywords:
------------------------+-----------------------
Changes (by rjollos):

 * owner:  nobody => rjollos
 * status:  new => accepted


Old description:

> The //Last Login// column in the Users table under Admin > Accounts >
> Users doesn't update correctly on login. Inspection of the database shows
> that the `last_visit` field isn't updating, though it does update
> correctly on login in the default Trac with !AccountManagerPlugin and
> HtPasswd authentication. More investigation is needed, but debugging so
> far has revealed that
> [http://trac.edgewall.org/browser/tags/trac-1.0.1/trac/web/session.py?marks=121#L98
> Session._new] is `False` under conditions that it is `True` in the
> "default" setup, resulting in `Session._last_visit` not getting updated.
> It looks like the problem is somewhere in the `trac.web.main`,
> `trac.hooks` or `trac.web.session` modules, all of which are involved in
> request handling and dispatching, and where modifications have been made
> for multi-product support.

New description:

 The //Last Login// column in the Users table under Admin > Accounts >
 Users doesn't update correctly on login. Inspection of the database shows
 that the `last_visit` field isn't updating, though it does update
 correctly on login in the default Trac with !AccountManagerPlugin and
 !HtPasswd authentication. More investigation is needed, but debugging so
 far has revealed that
 [http://trac.edgewall.org/browser/tags/trac-1.0.1/trac/web/session.py?marks=121#L98
 Session._new] is `False` under conditions that it is `True` in the
 "default" setup, resulting in `Session._last_visit` not getting updated.
 It looks like the problem is somewhere in the `trac.web.main`,
 `trac.hooks` or `trac.web.session` modules, all of which are involved in
 request handling and dispatching, and where modifications have been made
 for multi-product support.

--

-- 
Ticket URL: <https://issues.apache.org/bloodhound/ticket/554#comment:2>
Apache Bloodhound <https://issues.apache.org/bloodhound/>
The Apache Bloodhound issue tracker

Re: [Apache Bloodhound] #554: "Last Login" does not update

Posted by Apache Bloodhound <de...@bloodhound.apache.org>.
#554: "Last Login" does not update
------------------------+-----------------------
  Reporter:  rjollos    |      Owner:  nobody
      Type:  defect     |     Status:  new
  Priority:  critical   |  Milestone:  Release 6
 Component:  dashboard  |    Version:  0.5.3
Resolution:             |   Keywords:
------------------------+-----------------------
Changes (by rjollos):

 * priority:  major => critical
 * owner:   => nobody
 * component:   => dashboard
 * milestone:   => Release 6


-- 
Ticket URL: <https://issues.apache.org/bloodhound/ticket/554#comment:1>
Apache Bloodhound <https://issues.apache.org/bloodhound/>
The Apache Bloodhound issue tracker

Re: [Apache Bloodhound] #554: "Last Login" does not update

Posted by Apache Bloodhound <de...@bloodhound.apache.org>.
#554: "Last Login" does not update
-----------------------+----------------------------
  Reporter:  rjollos   |      Owner:  rjollos
      Type:  defect    |     Status:  accepted
  Priority:  critical  |  Milestone:  Release 6
 Component:  plugins   |    Version:  0.5.3
Resolution:            |   Keywords:  AccountManager
-----------------------+----------------------------

Comment (by rjollos):

 My test environment did not even include the !AccountManagerPlugin, just
 Trac with !HtPasswd authentication. I was going to try with
 !AccountManagerPlugin and vanilla Trac, but when I grep'ed around the
 !AccountManager codebase for interaction with `Session`, it did not look
 like it could be involved. I wouldn't be surprised if that conclusion was
 incorrect though.

-- 
Ticket URL: <https://issues.apache.org/bloodhound/ticket/554#comment:13>
Apache Bloodhound <https://issues.apache.org/bloodhound/>
The Apache Bloodhound issue tracker

Re: [Apache Bloodhound] #554: "Last Login" does not update

Posted by Apache Bloodhound <de...@bloodhound.apache.org>.
#554: "Last Login" does not update
-----------------------+----------------------------
  Reporter:  rjollos   |      Owner:  rjollos
      Type:  defect    |     Status:  accepted
  Priority:  critical  |  Milestone:  Release 6
 Component:  plugins   |    Version:  0.5.3
Resolution:            |   Keywords:  AccountManager
-----------------------+----------------------------
Changes (by olemis):

 * keywords:   => AccountManager
 * component:  dashboard => plugins


-- 
Ticket URL: <https://issues.apache.org/bloodhound/ticket/554#comment:3>
Apache Bloodhound <https://issues.apache.org/bloodhound/>
The Apache Bloodhound issue tracker

Re: [Apache Bloodhound] #554: "Last Login" does not update

Posted by Apache Bloodhound <de...@bloodhound.apache.org>.
#554: "Last Login" does not update
-----------------------+----------------------------
  Reporter:  rjollos   |      Owner:  rjollos
      Type:  defect    |     Status:  accepted
  Priority:  critical  |  Milestone:  Release 6
 Component:  plugins   |    Version:  0.5.3
Resolution:            |   Keywords:  AccountManager
-----------------------+----------------------------

Comment (by olemis):

 Replying to [comment:6 rjollos]:
 > Replying to [comment:5 olemis]:
 > > You mean hooks executed at startup to load environment and request?
 >
 > Right. Since it works fine in Trac with !AccountManagerPlugin, and the
 issue is that the `last_visit` field of the `session` table isn't being
 updated, it appeared to me that the problem is associated with the
 modifications in `trac.web.main.dispatch_request`, or the
 `trac.hooks.default_bootstrap_handler` instance that it calls. I put more
 details about this in the [comment:description], but still need to do some
 more debugging to figure out what the exact problem is.

 I'll take a (quick) look into this later today . However in advance all I
 can say is that bootstrap handlers have nothing to do with database
 access. I'd rather focus on multi-product SQL translator. Notice that
 queries for plugin tables are translated in a very particular way. Indeed
 what are the SQL statements logged .your side.

-- 
Ticket URL: <https://issues.apache.org/bloodhound/ticket/554#comment:7>
Apache Bloodhound <https://issues.apache.org/bloodhound/>
The Apache Bloodhound issue tracker

Re: [Apache Bloodhound] #554: "Last Login" does not update

Posted by Apache Bloodhound <de...@bloodhound.apache.org>.
#554: "Last Login" does not update
-----------------------+----------------------------
  Reporter:  rjollos   |      Owner:  rjollos
      Type:  defect    |     Status:  accepted
  Priority:  critical  |  Milestone:  Release 6
 Component:  plugins   |    Version:  0.5.3
Resolution:            |   Keywords:  AccountManager
-----------------------+----------------------------

Comment (by astaric):

 Can you try opening a report (or doing anything that triggers a session
 save). This should also update your Last Login time (if it is older than a
 day).

 As far as I can tell from the trac code, it only updates last_visit time
 when session data is modified (Session.save in trac.web.session). It is
 updated when there is no record for the session in the database
 (Session._new == True) and when session data is being modified and session
 is older than a day:
 {{{
 if session_saved and now - self.last_visit > UPDATE_INTERVAL:
 }}}
 If user does nothing that changes session data, last_visit will not be
 updated.

-- 
Ticket URL: <https://issues.apache.org/bloodhound/ticket/554#comment:10>
Apache Bloodhound <https://issues.apache.org/bloodhound/>
The Apache Bloodhound issue tracker