GoogleCloudPlatform / GoogleCloudPlatform/appengine-python-standard

ndb.PickleProperty UnicodeDecodeError: 'ascii' codec can't decode byte with NDB_USE_CROSS_COMPATIBLE_PICKLE_PROTOCOL

Aperta
#111 5 commenti 0 reazioni 0 assegnatari Vedi su GitHub
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

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.