[ https://issues.apache.org/jira/browse/METRON-1790?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16625640#comment-16625640 ]
ASF GitHub Bot commented on METRON-1790: ---------------------------------------- Github user tiborm commented on the issue: https://github.com/apache/metron/pull/1208 Checked and tested. Looks good to me. +1 > Unsubscribe from every observable in the pcap panel UI component > ---------------------------------------------------------------- > > Key: METRON-1790 > URL: https://issues.apache.org/jira/browse/METRON-1790 > Project: Metron > Issue Type: Improvement > Reporter: Tamas Fodor > Assignee: Tamas Fodor > Priority: Minor > > There are a lot of http requests performed in the pcap panel ui component and > we just unsubscribe from some of them when the component is no longer > rendered on the screen. It could cause memory consumption issues. Because of > the active subscriptions, the garbage collector is not able to remove these > objects from the memory, however they're not needed to be there anymore. > There's another benefit of unsubscribing from these http calls. If the user > leaves the pcap tab but there are pending requests, the unsubscribe method > cancels the active xhrs immediately so it won't wait for fulfilment > unnecessarily. > [https://github.com/apache/metron/blob/master/metron-interface/metron-alerts/src/app/pcap/pcap-panel/pcap-panel.component.ts#L54] > I would also refactor that part when we convert an observable to a promise. I > would keep it as an observable. By doing this, we would be able to > unsubscribe from it as well in the destructor method. Promises are not > cancelable. > [https://github.com/apache/metron/blob/master/metron-interface/metron-alerts/src/app/pcap/pcap-panel/pcap-panel.component.ts#L70] > Resources: > [https://angular.io/guide/lifecycle-hooks#ondestroy] > This is the place to free resources that won't be garbage collected > automatically. Unsubscribe from Observables and DOM events. Stop interval > timers. -- This message was sent by Atlassian JIRA (v7.6.3#76005)