GoogleCloudPlatform / GoogleCloudPlatform/appengine-python-standard
ndb.PickleProperty UnicodeDecodeError: 'ascii' codec can't decode byte with NDB_USE_CROSS_COMPATIBLE_PICKLE_PROTOCOL
- Lingua principale
- Python
- Stelle
- 86
- Fork
- 61
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Descrizione
## Expected Behavior
No decode issues
## Actual Behavior
Decode issues
## Steps to Reproduce the Problem
0. set NDB_USE_CROSS_COMPATIBLE_PICKLE_PROTOCOL:True in app.yaml
1. Have a ndb.PickleProperty in python27
2. Access the ndb.PickleProperty in python312
3. File "/layers/google.python.pip/pip/lib/python3.12/site-packages/google/appengine/ext/ndb/model.py", line 1913, in _from_base_type UnicodeDecodeError: 'ascii' codec can't decode byte 0xe6 in position 1: ordinal not in range(128)
## Specifications
- Version: latest
- Platform: python312
Guida per i contributori
Apri la guida per i contributori
Direzione di ricerca
Riprodurre la transizione da Python 2.7 a Python 3.12 con NDB_USE_CROSS_COMPATIBLE_PICKLE_PROTOCOL abilitato e una ndb.PickleProperty, quindi esaminare google/appengine/ext/ndb/model.py intorno alla riga 1913. Confermare la correzione mostrando che è possibile accedere ai valori contenenti il byte non ASCII segnalato senza un UnicodeDecodeError in entrambi i runtime.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- python
- Ambito
- database
- Tipo di issue
- Bug
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Stato di attività
- Ferma
- Chiarezza
- Abbastanza chiara
- Idoneità per principianti
- 35/100