[Plone-IT] Vecchio Plone2.1 e indesiderate scritture in lettura...

Riccardo Lemmi riccardo a reflab.com
Gio 19 Maggio 2016 14:35:39 UTC


On Thursday 19 May 2016, SauZheR wrote:
> Salve a tutti,
> dove lavoro abbiamo "ereditato" un portale plone 2.1, fortunatamente
> da non migrare ma da tenere in produzione.
> 
> Il problema che sto riscontrando e' che ci sono certi oggetti che
> quando vengono visitati, anche da anonimi, generano una scrittura
> che li riguarda nello zodb. Nella schermata Undo infatti, trovo
> entry del tipo:
> 
> - /Plone/folder/folder/oggetto.AT.2006-09-04.9154063574/view by
> * None*
> Il risultato e' che il Data.fs che mi hanno consegnato era cresciuto
> in pochi mesi fino a 80Gb  ma e' bastato un pack per riportarlo a
> soli 2.
> 
> Gli oggetti incriminati sono degli AT che hanno dei campi
> PloneExFile/AttachmentField  (in modalita' attribute storage). La
> scrittura avviene solo quando il field contiene in file (ad esempio
> un pdf) allegato, quindi deve essere qualche bug legato proprio al
> field.
> 
> Quando avviene la scrittura, viene anche aggiornato l'attributo
> bobobase_modification_time dell'AT proprio al momento dell'accesso
> view.
> 
> Ho provato ad aggiornare AttachmentField e PloneExfile finchè ho
> potuto ma il comportamento anomalo e' rimasto.
> 
> Vorrei capire COSA viene modificato per poi eventualmente
> intercettare e patchare.
> Ho provato a seguire questa cosa
> 
>  -
> http://play.pixelblaster.ro/blog/archive/2015/05/05/how-to-read-the-t
> ransaction-pickle-data-for-a-given-transaction
> 
> che sembra scritta di proposito un anno fa, pensando a me oggi... ma
> l'autore non ha fatto caso che io sto usando una versione molto piu'
> vecchia dello ZODB e la meta' dei metodi su "storage" non e' ancora
> implementata.
> 
> Qualcuno ha qualche idea su come posso fare per venire a capo di 'sta
> cosa?
> 
> Grazie a tutti,
> alessandro.

Meglio se verifichi prima se hai lo stesso comportamento con un'altra 
vista, magari fatta ad ok e che contenga solo una parte dei field e non 
il resto del main template.
In questo modo escludi che sia dovuto al codice della vista, anche un 
page template secco può nascondere dei problemi a seconda di cosa 
chiama, per esempio le session.

Altra cosa da controllare è se per caso nel codice ci sia una qualche 
assegnamento a liste, tuple o dizionari che sono il caso classico di 
scrittura su zodb ad ogni visita.

Infine potrebbe essere utile fare un confronto tra prima e dopo la 
visita dell'oggetto, una specie di diff che puoi fare salvando l'oggetto 
con pickle.

-- 
Riccardo Lemmi
Über Developer
http://www.reflab.com
-------------- parte successiva --------------
Un allegato non testuale è stato rimosso....
Nome:        signature.asc
Tipo:        application/pgp-signature
Dimensione:  198 bytes
Descrizione: This is a digitally signed message part.
URL:         <http://lists.plone.org/pipermail/plone-plone-it/attachments/20160519/edcaf6d8/attachment.asc>


Maggiori informazioni sulla lista Plone-IT