#7732: Oracle Backend with SessionPool
-------------------------------------+-------------------------------------
     Reporter:  halturin             |                    Owner:  mboersma
         Type:  New feature          |                   Status:  assigned
    Component:  Database layer       |                  Version:  master
  (models, ORM)                      |               Resolution:
     Severity:  Normal               |             Triage Stage:  Accepted
     Keywords:  yandex-sprint        |      Needs documentation:  1
  oracle session pool                |  Patch needs improvement:  1
    Has patch:  1                    |                    UI/UX:  0
  Needs tests:  1                    |
Easy pickings:  0                    |
-------------------------------------+-------------------------------------

Comment (by skyl):

 Unfortunately, I think there needs to be some error-checking on the
 connection after it is acquired from the pool. After some hours (I didn't
 configure the instance I'm running against so I'm not sure how long), I
 get `ORA-02399: exceeded maximum connect time, you are being logged off`;
 then, the pool continues to try to get the same connection, failing every
 time with, `ORA-01012: not logged on`. I think there are 2 options then.

     1) put a `CONN_MAX_AGE` parameter in the `SESSION_POOL` settings dict
 and drop the connection if it is close enough to that age
     2) ping the connection after it is acquired and drop it if it is not
 usable

 (1) Age is not an attribute of the connection that I can see; so, it would
 be ugly to do our own book-keeping on the age of the connections in the
 pools we are holding. This does not cover other possible error scenarios.
 (2) This would be a hit to performance every time a connection is
 acquired.

 I think (2) would be easy enough to add. Other suggestions?

-- 
Ticket URL: <https://code.djangoproject.com/ticket/7732#comment:17>
Django <https://code.djangoproject.com/>
The Web framework for perfectionists with deadlines.

-- 
You received this message because you are subscribed to the Google Groups 
"Django updates" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to django-updates+unsubscr...@googlegroups.com.
To post to this group, send email to django-updates@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to