[Django] #23649: Oracle GIS testing -- fails to destroy old leftover test database after unclean ending

12 weergaven
Naar het eerste ongelezen bericht

Django

ongelezen,
13 okt 2014, 19:14:4213-10-2014
aan django-...@googlegroups.com
#23649: Oracle GIS testing -- fails to destroy old leftover test database after
unclean ending
-------------------------------------+-------------------------------------
Reporter: shaib | Owner: nobody
Type: | Status: new
Uncategorized | Version: master
Component: Database | Keywords: oracle testing
layer (models, ORM) | geodjango gis
Severity: Normal | Has patch: 0
Triage Stage: Accepted | Needs tests: 0
Needs documentation: 0 | Easy pickings: 0
Patch needs improvement: 0 |
UI/UX: 0 |
-------------------------------------+-------------------------------------
If you run Django tests and they end without proper clean-up (e.g. the
test process is forcibly killed) then the next test run will try to
destroy the test-database before rebuilding it from scratch.

On Oracle GIS, this destroy-leftover-database process fails, because the
backend tries to drop the test tablespace (`DROP TABLESPACE TEST_DB
INCLUDING CONTENTS`), and for some reason the GIS artifacts make this
fail.

The workaround is to drop first the test user (`DROP USER TEST_USER
CASCADE`), but currently this needs to be done manually.

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

Django

ongelezen,
14 okt 2014, 18:24:2014-10-2014
aan django-...@googlegroups.com
#23649: Oracle GIS testing -- fails to destroy old leftover test database after
unclean ending
-------------------------------------+-------------------------------------
Reporter: shaib | Owner: shaib
Type: Uncategorized | Status: assigned
Component: Database layer | Version: master
(models, ORM) | Resolution:
Severity: Normal | Triage Stage: Accepted
Keywords: oracle testing | Needs documentation: 0
geodjango gis | Patch needs improvement: 0
Has patch: 0 | UI/UX: 0
Needs tests: 0 |
Easy pickings: 0 |
-------------------------------------+-------------------------------------
Changes (by shaib):

* owner: nobody => shaib
* status: new => assigned


--
Ticket URL: <https://code.djangoproject.com/ticket/23649#comment:1>

Django

ongelezen,
14 okt 2014, 20:09:5314-10-2014
aan django-...@googlegroups.com
#23649: Oracle GIS testing -- fails to destroy old leftover test database after
unclean ending
-------------------------------------+-------------------------------------
Reporter: shaib | Owner: shaib
Type: Uncategorized | Status: assigned
Component: Database layer | Version: master
(models, ORM) | Resolution:
Severity: Normal | Triage Stage: Accepted
Keywords: oracle testing | Needs documentation: 0
geodjango gis | Patch needs improvement: 0
Has patch: 0 | UI/UX: 0
Needs tests: 0 |
Easy pickings: 0 |
-------------------------------------+-------------------------------------

Comment (by shaib):

PR: https://github.com/django/django/pull/3367

--
Ticket URL: <https://code.djangoproject.com/ticket/23649#comment:2>

Django

ongelezen,
14 okt 2014, 20:10:4214-10-2014
aan django-...@googlegroups.com
#23649: Oracle GIS testing -- fails to destroy old leftover test database after
unclean ending
-------------------------------------+-------------------------------------
Reporter: shaib | Owner: shaib
Type: Uncategorized | Status: assigned
Component: Database layer | Version: master
(models, ORM) | Resolution:
Severity: Normal | Triage Stage: Accepted
Keywords: oracle testing | Needs documentation: 0
geodjango gis | Patch needs improvement: 0
Has patch: 1 | UI/UX: 0

Needs tests: 0 |
Easy pickings: 0 |
-------------------------------------+-------------------------------------
Changes (by shaib):

* has_patch: 0 => 1


--
Ticket URL: <https://code.djangoproject.com/ticket/23649#comment:3>

Django

ongelezen,
16 okt 2014, 21:47:0316-10-2014
aan django-...@googlegroups.com
#23649: Oracle GIS testing -- fails to destroy old leftover test database after
unclean ending
-------------------------------------+-------------------------------------
Reporter: shaib | Owner: shaib
Type: Uncategorized | Status: closed

Component: Database layer | Version: master
(models, ORM) | Resolution: fixed

Severity: Normal | Triage Stage: Accepted
Keywords: oracle testing | Needs documentation: 0
geodjango gis | Patch needs improvement: 0
Has patch: 1 | UI/UX: 0
Needs tests: 0 |
Easy pickings: 0 |
-------------------------------------+-------------------------------------
Changes (by Shai Berger <shai@…>):

* status: assigned => closed
* resolution: => fixed


Comment:

In [changeset:"2e1ed5f33cf5756b52a10ceadd0ce8e9ecf989e3"]:
{{{
#!CommitTicketReference repository=""
revision="2e1ed5f33cf5756b52a10ceadd0ce8e9ecf989e3"
Fixed #23649 -- Made Oracle test-db creation drop test-user earlier when
needed

Checked database destruction for ORA-29857, which happens when objects of
some types are left over in an old test database (notably, such objects
are created by the GIS backend). When this happens, we can resolve the
issue by dropping the test-user (if we are allowed to).

An alternative approach, to just switch the order of creation (so that,
if the test user exists and can be dropped, it is always dropped before
the tablespace) was considered; but since the user creation depends on
the tablespace, this would necessitate separating the dropping of the user
from its creation -- a change I am reluctant to make.

Thanks Josh Smeaton and Tim Graham for reviews.
}}}

--
Ticket URL: <https://code.djangoproject.com/ticket/23649#comment:4>

Django

ongelezen,
16 okt 2014, 21:59:1416-10-2014
aan django-...@googlegroups.com
#23649: Oracle GIS testing -- fails to destroy old leftover test database after
unclean ending
-------------------------------------+-------------------------------------
Reporter: shaib | Owner: shaib
Type: Uncategorized | Status: closed
Component: Database layer | Version: master
(models, ORM) | Resolution: fixed
Severity: Normal | Triage Stage: Accepted
Keywords: oracle testing | Needs documentation: 0
geodjango gis | Patch needs improvement: 0
Has patch: 1 | UI/UX: 0
Needs tests: 0 |
Easy pickings: 0 |
-------------------------------------+-------------------------------------

Comment (by Shai Berger <shai@…>):

In [changeset:"a1578055e61e8815d1b6d445e8b24ad02d38c3ee"]:
{{{
#!CommitTicketReference repository=""
revision="a1578055e61e8815d1b6d445e8b24ad02d38c3ee"
[1.7.x] Fixed #23649 -- Made Oracle test-db creation drop test-user
earlier when needed

Checked database destruction for ORA-29857, which happens when objects of
some types are left over in an old test database (notably, such objects
are created by the GIS backend). When this happens, we can resolve the
issue by dropping the test-user (if we are allowed to).

An alternative approach, to just switch the order of creation (so that,
if the test user exists and can be dropped, it is always dropped before
the tablespace) was considered; but since the user creation depends on
the tablespace, this would necessitate separating the dropping of the user
from its creation -- a change I am reluctant to make.

Thanks Josh Smeaton and Tim Graham for reviews.

Backport of 2e1ed5f33c from master
}}}

--
Ticket URL: <https://code.djangoproject.com/ticket/23649#comment:5>

Django

ongelezen,
17 okt 2014, 08:57:1417-10-2014
aan django-...@googlegroups.com
#23649: Oracle GIS testing -- fails to destroy old leftover test database after
unclean ending
-------------------------------------+-------------------------------------
Reporter: shaib | Owner: shaib
Type: Uncategorized | Status: closed
Component: Database layer | Version: master
(models, ORM) | Resolution: fixed
Severity: Normal | Triage Stage: Accepted
Keywords: oracle testing | Needs documentation: 0
geodjango gis | Patch needs improvement: 0
Has patch: 1 | UI/UX: 0
Needs tests: 0 |
Easy pickings: 0 |
-------------------------------------+-------------------------------------

Comment (by Tim Graham <timograham@…>):

In [changeset:"6ce6c77e03fea68ef1bdadd45f15e403f5b71057"]:
{{{
#!CommitTicketReference repository=""
revision="6ce6c77e03fea68ef1bdadd45f15e403f5b71057"
Added 1.7.1 release notes for refs #23649.
}}}

--
Ticket URL: <https://code.djangoproject.com/ticket/23649#comment:6>

Django

ongelezen,
17 okt 2014, 08:57:2617-10-2014
aan django-...@googlegroups.com
#23649: Oracle GIS testing -- fails to destroy old leftover test database after
unclean ending
-------------------------------------+-------------------------------------
Reporter: shaib | Owner: shaib
Type: Uncategorized | Status: closed
Component: Database layer | Version: master
(models, ORM) | Resolution: fixed
Severity: Normal | Triage Stage: Accepted
Keywords: oracle testing | Needs documentation: 0
geodjango gis | Patch needs improvement: 0
Has patch: 1 | UI/UX: 0
Needs tests: 0 |
Easy pickings: 0 |
-------------------------------------+-------------------------------------

Comment (by Tim Graham <timograham@…>):

In [changeset:"55a5f0b49a7adca008076fa0af6f67ef64d575d8"]:
{{{
#!CommitTicketReference repository=""
revision="55a5f0b49a7adca008076fa0af6f67ef64d575d8"
[1.7.x] Added 1.7.1 release notes for refs #23649.

Backport of 6ce6c77e03 from master
}}}

--
Ticket URL: <https://code.djangoproject.com/ticket/23649#comment:7>

Django

ongelezen,
18 okt 2014, 19:40:1018-10-2014
aan django-...@googlegroups.com
#23649: Oracle GIS testing -- fails to destroy old leftover test database after
unclean ending
-------------------------------------+-------------------------------------
Reporter: shaib | Owner: shaib
Type: Uncategorized | Status: closed
Component: Database layer | Version: master
(models, ORM) | Resolution: fixed
Severity: Normal | Triage Stage: Accepted
Keywords: oracle testing | Needs documentation: 0
geodjango gis | Patch needs improvement: 0
Has patch: 1 | UI/UX: 0
Needs tests: 0 |
Easy pickings: 0 |
-------------------------------------+-------------------------------------

Comment (by shaib):

Thanks, Tim, for adding the release notes I neglected.

--
Ticket URL: <https://code.djangoproject.com/ticket/23649#comment:8>

Allen beantwoorden
Auteur beantwoorden
Doorsturen
0 nieuwe berichten