Comment 2 for bug 1969270

Revision history for this message
Rodolfo Alonso (rodolfo-alonso-hernandez) wrote :

Hello Xiaojun:

That was an impressive analysis and, IMO, correct.

I think we can implement both measures:
- Store a string in the "needs_resync_reasons" dict. There is no need to waist space storing the whole exception instance.
- In "_periodic_resync_helper" we are creating a new "needs_resync_reasons" dictionary and using the older one to pass the network IDs. Back in py27 that wasn't a problem but in py36 ".keys()" is a generator that implies passing a copy of the dictionary. In any case, it is safer just to pass a new generated list.

Thanks a lot for this detailed bug description.