#29550: Usages of pickling should easen protocol overriding
-------------------------------------+-------------------------------------
               Reporter:  Simon      |          Owner:  Simon Charette
  Charette                           |
                   Type:             |         Status:  assigned
  Cleanup/optimization               |
              Component:             |        Version:  master
  Uncategorized                      |
               Severity:  Normal     |       Keywords:
           Triage Stage:             |      Has patch:  1
  Unreviewed                         |
    Needs documentation:  0          |    Needs tests:  0
Patch needs improvement:  0          |  Easy pickings:  0
                  UI/UX:  0          |
-------------------------------------+-------------------------------------
 During the process of porting Django projects from Python versions to
 newer ones a common late stage step is to turn some instances of a cluster
 into canaries running the latest version. While state sharing between
 canaries and the rest of the fleet should be avoided it's not always
 possible to completely isolate them. For example, starting from a cold
 isolated cache might be impractical at a certain scale.

 This is particularly problematic when dealing with pickled data because
 Django always uses the latest protocol (through the
 `pickle.HIGHEST_PROTOCOL` constant) which prevent the data from being
 unpickled on instances that don't have access. For example, if some data
 is pickled on Python 3.4 canary where `pickle.HIGHEST_PROTOCOL == 4` it
 won't be pickleable on the rest of the Python 3.3 servers sharing this
 global state.

 Django should make it easier to override the pickling protocol used within
 methods and functions to allow users to temporarily _freeze_ the protocol
 used during the transition period.

-- 
Ticket URL: <https://code.djangoproject.com/ticket/29550>
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 [email protected].
To post to this group, send email to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-updates/052.625e6696a561c65da2e1e07965389c78%40djangoproject.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to