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

Reply via email to