On Fri, Mar 24, 2017 at 10:23 AM, Brady Allen Johnson < [email protected]> wrote:
> > Michael, > > Great initiative bringing this up and offering to fix it. > > We dont use those Genius classes in SFC, so we're "safe" for now :) > OK, thanks for the clarification - dropping sfc-dev from further emails on this topic in that case. > I would love to help, but wont be able to until after Carbon MS5. > > Thanks, > > Brady > > -----Original Message----- > *From*: Michael Vorburger <[email protected] > <michael%20vorburger%20%[email protected]%3e>> > *To*: [email protected], odl netvirt dev < > [email protected] > <odl%20netvirt%20dev%20%[email protected]%3e>>, > [email protected], Brady Allen Johnson < > [email protected] > <brady%20allen%20johnson%20%[email protected]%3e>> > *Subject*: Re: FlowEntity immutability > *Date*: Fri, 24 Mar 2017 03:22:30 +0100 > > +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
