I see, thanks for the fix! In a few days I will have my fork of the 
framework ready! I think you may find it helpful.

Andrew

On Sunday, March 15, 2015 at 12:14:32 AM UTC-5, Suhas Patil wrote:
>
> Andrew,
>
> Thank you very much for your offer of help. I have managed to solve the 
> problem after spending a day(almost). The problem is a result of multiple 
> conditions coming together to cause failures in the following way. 
>
> The web.py framework depends upon default value of atime being set by 
> Mysql and hence not all the database calls that create or update session 
> variable have atime as field, update call has it but insert does not. 
> python2.7/site-packages/web/session.py has this code: 
>         self.db.insert(self.table, False, session_id=key, data=pickled )
> whereas update has this:
>         self.db.update(self.table, where="session_id=$key", atime=now, 
> vars=locals())
>
> I use Mysql 5.5 which does not support default value for atime on datetime 
> field but supports for timestamp field. The instructions for web.py are for 
> 5.6 and above(apparently) and hence I could not set default value for atime 
> and ignored the instructions. 
>
> I added all this to github and proposed a fix as well. 
> https://github.com/webpy/webpy/issues/323
> and made a fix as :
>
> https://github.com/webpy/webpy/commit/dcc6173c5d882a5242007ed36e4fe862e8390243
> and pull request as :
> https://github.com/webpy/webpy/pull/324
>
> As to why things worked in some cases is still a mystery to me but I don't 
> have time to solve that one as I have a fix now.
>
> Suhas
>
> On Sunday, March 8, 2015 at 10:22:44 AM UTC+5:30, Suhas Patil wrote:
>>
>> I am testing my web.py application using automated tests and the 
>> application is running on Apache.  The automated tests always fail when the 
>> Apache is restarted but succeed when the tests are rerun even though 
>> nothing has changed in the code or the system. The tests assume no previous 
>> state of the system meaning they are designed to be run on a freshly 
>> installed software.
>>
>> When I investigated, I noticed that the session value in the database is 
>> overwritten by subsequent calls to the server. In other words, if I run 
>> following command in sequence then the first five or six times I only find 
>> one value stored in the database. Only subsequent calls to curl then start 
>> creating a new session entry in the table. 
>>        $ curl -v  http://www.example.com/foo
>>
>> As a result if my tests because I want to use webpy_session_id for 
>> taking the application through different code paths.
>>
>>       $ curl -v --cookie 
>> 'webpy_session_id=49e10d40f342ee92c30eea76e0804af28718a63f;' 
>> http://www.example.com/foo
>>
>> I tried going through session.py module but I could not debug it on the 
>> server and didn't want to spend too much time on it. Does anybody have a 
>> solution for this? 
>>
>> Thanks
>>
>> Suhas.
>>
>

-- 
You received this message because you are subscribed to the Google Groups 
"web.py" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/webpy.
For more options, visit https://groups.google.com/d/optout.

Reply via email to