第三个方面是Neutron社区,一直以来都存在错用SQLAlchemy的情况,在事务处理过程中使用RPC引起不必要的事务内协程切换,间接增加无谓的数据库引擎长时间维护事务的压力,大规模环境下经常导致事务Timeout、Deadlock等情况。这些情况集中于ML2和L3RouterPlugin插件的DB模块,每个Release都有大量的Race Condition曝出,然后就是Case by Case去修复,虽然这种情况自从Icehouse曝出多达10-20个同样的问题后,慢慢随着Juno、Kilo已经修复了大多问题(本人也参与讨论和修复了其中的几个Bug),但是,由于初期设计失误导致的这种情况,在后期,却需要200%-300%的时间去分析和修复,让人汗颜。