On Thu, Aug 24, 2017 at 9:06 AM, Michael Vorburger <vorbur...@redhat.com> wrote:
> On Wed, Aug 23, 2017 at 8:54 PM, Robert Varga <n...@hq.sk> wrote: > >> On 23/08/17 20:21, Michael Vorburger wrote: >> > On Wed, Aug 23, 2017 at 2:11 PM, Robert Varga <n...@hq.sk >> > <mailto:n...@hq.sk>> wrote: >> > >> > On 23/08/17 13:48, Michael Vorburger wrote: >> > > >> > > Robert> Actually no. The backend side of things looks okay, as >> chains >> > > are being >> > > both closed and purged when requested from the frontend. I suspect >> > > somebody is forgetting to close their transaction chains... >> > > >> > > Michael> Is a "transaction chain" the same as a transaction - the >> > > objects returned from DataBroker's newReadWriteTransaction / >> > > newReadWriteTransaction / newWriteOnlyTransaction? I did stumble >> upont >> > > something - could https://git.opendaylight.org/gerrit/#/c/62196/ >> > <https://git.opendaylight.org/gerrit/#/c/62196/> fix >> > > this problem? Or is that unlikely to fix this OOM, but still a >> Good >> > > Idea? Or doesn't matter to do cancel() if not submit() ? >> > >> > 'the same' in the sense that both are resources which need to be >> closed. >> > So yes, it does matter that they are properly closed. >> > >> > >> > Thanks. I spent the afternoon shooting in a couple of directions related >> > to this (details in https://bugs.opendaylight.org/show_bug.cgi?id=9034# >> ). >> > >> > But the problem is what I've found so far is all just "stabs in the >> > dark". What we really need is a way to more reliably find the origin of >> > code where transactions (or TransactionChain) are created but never >> > closed... >> > >> > You mentioned on IRC that a datastore.cfg may have some option for that, >> > but I could not find this - does anyone know any details about that? >> >> nite@nitebug : ~$ cd distribution-karaf-0.6.2-SNAPSHOT/ >> nite@nitebug : ~/distribution-karaf-0.6.2-SNAPSHOT$ ./bin/karaf >> opendaylight-user@root>feature:install odl-mdsal-broker >> nite@nitebug : ~/distribution-karaf-0.6.2-SNAPSHOT$ ls -l >> etc/org.opendaylight.controller.cluster.datastore.cfg >> -rw-rw-r--. 1 nite nite 4896 Aug 23 20:47 >> etc/org.opendaylight.controller.cluster.datastore.cfg >> >> for some reason debug-transactions is not documented. >> https://git.opendaylight.org/gerrit/62224 fixes that. >> > > Tom, I've tried to dig into this (supposed) debug-transactions flag, but > am starting to have doubts if this feature actually really exists / works > (anymore? or ever did?) ... do you know anything more about the history of > this, or can take a moment to help us find out more? Cauz Robert on IRC > said: "yeah ... I don't know the exact story // the yang models was > definitely used hen we use CSS // what the exact state is these days ... > best ping tpantelis". So here's what I've found so far: > > sal-distributed-datastore/src/main/yang/distributed-datastore-provider.yang > is where this "debug-transactions" should be, because that is the model for > datastore.cfg. That YANG model does have all the other properties used in > that datastore.cfg, just not debug-transactions. > It's defined in the yang as transaction-debug-context-enabled so the .cfg file must have the same name. > sal-inmemory-datastore/src/main/yang/opendaylight- > inmemory-datastore-provider.yang does have a "debug-transactions" - so > its ...inmemory.datastore.provider.rev140617.DatastoreConfiguration has > an isDebugTransactions() - but I cannot find any usage of it, even in > inmemory-datastore. > > So it seems to be that something got lost here somewhere along the way - > is that possible? Or am I just too dumb, and not understanding what's where > in all this controller mdsal code?? ;-) > > BTW: What's the story for what is used and what is not used - > inmemory-datastore is history? Want me to raise a Gerrit to remove it? Or > still use for the test DataBroker (which I myself am I user of in our test > in genius and netvirt) ? > It's not used in production but still used in unit tests. It will be removed once we switch to mdsal project. > > >> > Otherwise, an idea I just had in >> > https://bugs.opendaylight.org/show_bug.cgi?id=9034#c7 would be to see >> if >> > I could bolt something onto that mdsal-trace we have (originally >> > contributed by Josh) to keep track of opened-but-not-yet-closed >> > transactions. See the idea? Could be very useful to get to the bottom of >> > this kind of problem, no? >> >> No need, as mentioned above. >> > > Well, until proven otherwise, it would seem there is a need after all > then? ;-) > > Let me spend some more time to see if I could build this feature - I'll > try to start rebuilding it from scratch; if there's existing code for this > (which I cannot find), please point me to it so I don't redo what already > exists somewhere! > > >> > > > As far as I can see, with my still very limited >> understanding of mdsal >> > > > internals, this does not seem to be the same as our earlier >> > > > https://bugs.opendaylight.org/show_bug.cgi?id=8941 >> > <https://bugs.opendaylight.org/show_bug.cgi?id=8941> >> > > <https://bugs.opendaylight.org/show_bug.cgi?id=8941 >> > <https://bugs.opendaylight.org/show_bug.cgi?id=8941>> raised by >> > > Stephen and >> > > > fixed by Robert (which is being follow-up on in >> > > > https://bugs.opendaylight.org/show_bug.cgi?id=9028 >> > <https://bugs.opendaylight.org/show_bug.cgi?id=9028> >> > > <https://bugs.opendaylight.org/show_bug.cgi?id=9028 >> > <https://bugs.opendaylight.org/show_bug.cgi?id=9028>> by Robert and >> > > Tom) - >> > > > does this initial quick analysis seem accurate to you? >> > > >> > > 9034 looks like 8941, except it's not transactions, but >> chains. I'll >> > > cook up a prototype. >> > > >> > > Thanks a lot !!! We'd love to out anything you come up with. >> > >> > As mentioned above, this is something else, so no patch coming from >> me >> > righ tnow ;) >> > >> > OK, misunderstood because you wrote "I'll cook up a prototype" ... ? >> >> Yeah, I checked the code out and responded with "Actually no...", which >> you quoted above ;-) >> >> Bye, >> Robert >> >> >
_______________________________________________ controller-dev mailing list controller-dev@lists.opendaylight.org https://lists.opendaylight.org/mailman/listinfo/controller-dev