+netvirt +sfc On Thu, Mar 16, 2017 at 12:27 PM, Michael Vorburger <[email protected]> wrote:
> Hey guys, > > I can't remember if I have raised this before or not, but ... > > the org.opendaylight.genius.mdsalutil.FlowEntity API as-is is outright > dangerous IMHO, because it's not thread safe, because it's not immutable... > > currently any code, theoretically, could create FlowEntity instances, and > then e.g. use IMdsalApiManager's installFlow() and THEN after make changes > to the SAME FlowEntity just after. Or, even more fun and really hard to > track, if it ever came to it, some background thread could concurrently > change a FlowEntity WHILE something else is using it... > > .. I'm not saying that we do have such a problem anywhere today, just that > the FlowEntity & Co. classes are... not optimal. > > Should we make an effort to create a FlowEntityBuilder (& Co.) and let > FlowEntity (& Co.) only have getters? > how about https://git.opendaylight.org/gerrit/#/c/53763/ ? as briefly discussed during today's Genius call, this change would require adapting downstream netvirt & genius to switch new FlowEntity(1) ... to new FlowEntityBuilder().dpnId(1) etc. of course - but that's certainly doable - any volunteers to help doing this? > > Tx, > M. > -- > Michael Vorburger <[email protected]> | IRC: vorburger @freenode | ~ = > http://vorburger.ch >
_______________________________________________ sfc-dev mailing list [email protected] https://lists.opendaylight.org/mailman/listinfo/sfc-dev
