Django

Code

Ticket #1539 (closed: fixed)

Opened 3 years ago

Last modified 3 years ago

[patch] Mutlithreading problem with QueryDict

Reported by: eugene@lazutkin.com Assigned to: adrian
Milestone: Component: Core framework
Version: Keywords:
Cc: Triage Stage: Unreviewed
Has patch: 1 Needs documentation: 0
Needs tests: 0 Patch needs improvement: 0

Description

QueryDict and its base (MultiValueDict) modify their respective classes during copy(). It opens a hole for multithreaded servers resulting in random bugs. Following patch fixes it by replacing class manipulations with standard Python __copy__/__deepcopy__ methods.

Big thanks go to Alex Brown, who found the problem and load-tested the fix. It appears that #1442 and this patch solves all problems with multithreading revealed during load-testing.

Attachments

django.querydict.patch (3.5 kB) - added by eugene@lazutkin.com on 03/25/06 00:27:52.
A patch for the Django truck.
magic.querydict.patch (3.5 kB) - added by eugene@lazutkin.com on 03/25/06 00:28:30.
A patch for the magic-removal branch.

Change History

03/25/06 00:27:52 changed by eugene@lazutkin.com

  • attachment django.querydict.patch added.

A patch for the Django truck.

03/25/06 00:28:30 changed by eugene@lazutkin.com

  • attachment magic.querydict.patch added.

A patch for the magic-removal branch.

03/28/06 11:29:59 changed by adrian

  • status changed from new to closed.
  • resolution set to fixed.

(In [2577]) magic-removal: Fixed #1539: Fixed multithreading problem in QueryDict?. Thanks, Eugene and Alex Brown

03/28/06 11:31:06 changed by adrian

(In [2578]) Fixed #1539 in trunk


Add/Change #1539 ([patch] Mutlithreading problem with QueryDict)




Change Properties
Action