Thanks for the info. I'll try to orchestrate a similar setup when I get a bit of free time later in hopes of recreating and diagnosing. For some context, I was operating on OS X with a local instance and using IntelliJ.
On Thu, Mar 3, 2016 at 11:55 AM, Pierre Villard <pierre.villard...@gmail.com > wrote: > I am connecting remotely to my instance on default port suggested in > bootstrap.conf (8000) and I am using Eclipse IDE. > Also tried in local following recommendations from Oleg with > nifi-ide-integration to directly launch Nifi from Eclipse: same result. > > 2016-03-03 17:46 GMT+01:00 Aldrin Piri <aldrinp...@gmail.com>: > > > Thanks for the info. Are you doing all of this debugging local to that > > instance (via tunnel/VNC/etc) or connecting remotely across the network > to > > that instance? Also, what IDE are you using to bind to the remote > session? > > > > On Thu, Mar 3, 2016 at 10:02 AM, Pierre Villard < > > pierre.villard...@gmail.com > > > wrote: > > > > > That's a RedHat 7.2 VM running on AWS EC2 services. > > > > > > 2016-03-03 15:55 GMT+01:00 Aldrin Piri <aldrinp...@gmail.com>: > > > > > > > Hmm... Java version should be okay. What OS are you running on? > > > > > > > > On Thu, Mar 3, 2016 at 4:04 AM, Pierre Villard < > > > > pierre.villard...@gmail.com> > > > > wrote: > > > > > > > > > Aldrin, > > > > > > > > > > Thanks looking at this! > > > > > > > > > > There is no additional change other than what is on the branch. > Just > > to > > > > be > > > > > sure, I set up a clean VM with nothing else on it, checked out the > > > > branch, > > > > > built it (with Maven 3.3.9, Java 1.8.0_74, mvn clean install > > > > -DskipTests), > > > > > started Nifi with debug enabled, added SNMP Get processor, set > > > > properties, > > > > > started it and stopped it. AbstractSNMPProcessor#close method never > > got > > > > > triggered. > > > > > > > > > > Do you think I should try with another version of Java? > > > > > > > > > > > > > > > > > > > > > > > > > 2016-03-02 22:58 GMT+01:00 Aldrin Piri <aldrinp...@gmail.com>: > > > > > > > > > > > Pierre, > > > > > > > > > > > > I did a build of the specified branch, enabled the remote > debugging > > > and > > > > > > added a breakpoint within the AbstractSNMPProcessor#close method > > > which > > > > > was > > > > > > successfully triggered on stopping. I additionally added a > > > breakpoint > > > > > > within ReflectionUtils and was able to trace that path to the > same > > > > #close > > > > > > method. Not discounting that there is an issue, but it appears > > there > > > > may > > > > > > be additional factors to consider in diagnosing the root cause. > > > > > > > > > > > > Are there any additional changes beyond the the branch you shared > > > above > > > > > or > > > > > > other libraries/NARs included in your environment? Could you > also > > > > please > > > > > > specify the version of Java you are using? > > > > > > > > > > > > On Wed, Mar 2, 2016 at 5:53 AM, Pierre Villard < > > > > > > pierre.villard...@gmail.com> > > > > > > wrote: > > > > > > > > > > > > > Sure, the branch is available here : > > > > > > > https://github.com/pvillard31/nifi/tree/NIFI-1537 > > > > > > > Let me know if I can be of any help. > > > > > > > > > > > > > > 2016-03-02 11:48 GMT+01:00 Oleg Zhurakousky < > > > > > > ozhurakou...@hortonworks.com > > > > > > > >: > > > > > > > > > > > > > > > Pierre > > > > > > > > > > > > > > > > Is your branch available to look at? May be a second pair of > > eyes > > > > is > > > > > > due > > > > > > > ;) > > > > > > > > > > > > > > > > Cheers > > > > > > > > Oleg > > > > > > > > > > > > > > > > > On Mar 2, 2016, at 4:20 AM, Pierre Villard < > > > > > > > pierre.villard...@gmail.com> > > > > > > > > wrote: > > > > > > > > > > > > > > > > > > Mark, > > > > > > > > > > > > > > > > > > I just checked and it seems to be OK. My processor is a NAR > > and > > > > the > > > > > > > > > nifi-api.jar is not into the nar. Actually, I took the AMQP > > > > > processor > > > > > > > as > > > > > > > > > example to build and integrate the SNMP one in Nifi, so not > > > sure > > > > to > > > > > > see > > > > > > > > why > > > > > > > > > it does not work. > > > > > > > > > > > > > > > > > > 2016-03-01 18:38 GMT+01:00 Mark Payne < > marka...@hotmail.com > > >: > > > > > > > > > > > > > > > > > >> Pierre, > > > > > > > > >> > > > > > > > > >> This feels to me like it could potentially be a classpath > > > issue. > > > > > The > > > > > > > > >> nifi-api.jar file is on the > > > > > > > > >> root class path (exists in $NIFI_HOME/lib). If there is a > > > > > different > > > > > > > > class > > > > > > > > >> definition in your processor, > > > > > > > > >> then it will not find the annotation. > > > > > > > > >> > > > > > > > > >> If you are deploying your processor as a NAR, though, the > > > maven > > > > > nar > > > > > > > > plugin > > > > > > > > >> should prevent you > > > > > > > > >> from bundling the nifi-api.jar into the nar. It may be > worth > > > > while > > > > > > > > though > > > > > > > > >> to poke around and make sure > > > > > > > > >> that you don't have two copies of the OnStopped annotation > > > class > > > > > > > defined > > > > > > > > >> in the classpath, though. > > > > > > > > >> > > > > > > > > >> Thanks > > > > > > > > >> -Mark > > > > > > > > >> > > > > > > > > >> > > > > > > > > >> > > > > > > > > >>> On Mar 1, 2016, at 12:15 PM, Pierre Villard < > > > > > > > > pierre.villard...@gmail.com> > > > > > > > > >> wrote: > > > > > > > > >>> > > > > > > > > >>> Nice! I used your nifi-ide-integration project to launch > > Nifi > > > > > from > > > > > > my > > > > > > > > IDE > > > > > > > > >>> and I reproduced the issue just by starting/stopping the > > > > > processor > > > > > > > > (with > > > > > > > > >> a > > > > > > > > >>> breakpoint in ReflectionUtils). I'll try to find some > time > > to > > > > > > > reproduce > > > > > > > > >> it > > > > > > > > >>> in a unit test if this can help to find the issue. > > > > > > > > >>> > > > > > > > > >>> Pierre > > > > > > > > >>> > > > > > > > > >>> 2016-03-01 13:56 GMT+01:00 Oleg Zhurakousky < > > > > > > > > >> ozhurakou...@hortonworks.com>: > > > > > > > > >>> > > > > > > > > >>>> Pierre > > > > > > > > >>>> > > > > > > > > >>>> You can simplify your interactive debugging and do it > > right > > > > from > > > > > > IDE > > > > > > > > >>>> https://github.com/olegz/nifi-ide-integration/ > > > > > > > > >>>> Just make sure that versioning in Gradle reflects > current > > > > > version. > > > > > > > > >>>> I’ll update as well when I get a chance. > > > > > > > > >>>> > > > > > > > > >>>> Oleg > > > > > > > > >>>> > > > > > > > > >>>> On Mar 1, 2016, at 4:47 AM, Pierre Villard < > > > > > > > > pierre.villard...@gmail.com > > > > > > > > >>>> <mailto:pierre.villard...@gmail.com>> wrote: > > > > > > > > >>>> > > > > > > > > >>>> No it is not in a unit test, I remotely attached my > > Eclipse > > > in > > > > > > debug > > > > > > > > >> mode > > > > > > > > >>>> to my deployed Nifi instance. > > > > > > > > >>>> I can try to code a unit test and reproduce the issue > > using > > > > the > > > > > > > > example > > > > > > > > >> you > > > > > > > > >>>> gave. > > > > > > > > >>>> > > > > > > > > >>>> 2016-02-29 18:22 GMT+01:00 Oleg Zhurakousky < > > > > > > > > >> ozhurakou...@hortonworks.com > > > > > > > > >>>> <mailto:ozhurakou...@hortonworks.com>>: > > > > > > > > >>>> > > > > > > > > >>>> I meant could you share the test code (via github) > > > > > > > > >>>> > > > > > > > > >>>> On Feb 29, 2016, at 12:18 PM, Oleg Zhurakousky < > > > > > > > > >>>> ozhurakou...@hortonworks.com<mailto: > > > > > ozhurakou...@hortonworks.com > > > > > > >> > > > > > > > > >> wrote: > > > > > > > > >>>> > > > > > > > > >>>> Ok, so you are invoking > > > ‘quietlyInvokeMethodsWithAnnotations’ > > > > in > > > > > > > your > > > > > > > > >>>> test code? > > > > > > > > >>>> If so could you your test code where you invoke it? I > > have a > > > > > > hunch, > > > > > > > > but > > > > > > > > >>>> want to look before I speculate. > > > > > > > > >>>> > > > > > > > > >>>> Cheers > > > > > > > > >>>> Oleg > > > > > > > > >>>> On Feb 29, 2016, at 11:58 AM, Pierre Villard < > > > > > > > > >>>> pierre.villard...@gmail.com<mailto: > > > > pierre.villard...@gmail.com > > > > > >> > > > > > > > > wrote: > > > > > > > > >>>> > > > > > > > > >>>> I just wanted to test the processors with local SNMP > > set-up > > > > and > > > > > I > > > > > > > > >>>> noticed > > > > > > > > >>>> that modification of properties in my processor didn't > > have > > > > any > > > > > > > > effect. > > > > > > > > >>>> So I switched to debug, added a processor, started it, > and > > > > > stopped > > > > > > > it > > > > > > > > >>>> just > > > > > > > > >>>> after. Conclusion: my close() method is never called. > > > > > > > > >>>> I correctly go through > > quietlyInvokeMethodsWithAnnotations() > > > > in > > > > > > > > >>>> ReflectionUtils but since the method is not seen as > > > annotated, > > > > > the > > > > > > > > close > > > > > > > > >>>> method is not called. > > > > > > > > >>>> > > > > > > > > >>>> Thanks, > > > > > > > > >>>> Pierre > > > > > > > > >>>> > > > > > > > > >>>> 2016-02-28 22:24 GMT+01:00 Oleg Zhurakousky < > > > > > > > > >>>> ozhurakou...@hortonworks.com<mailto: > > > > > ozhurakou...@hortonworks.com > > > > > > >>: > > > > > > > > >>>> > > > > > > > > >>>> I am puzzled as I can’t see how can it not work. > > > > > > > > >>>> Are there steps to reproduce it? I am trying to read > into > > > your > > > > > > > initial > > > > > > > > >>>> email and suspecting you were doing some sort of > testing, > > so > > > > > want > > > > > > to > > > > > > > > >>>> make > > > > > > > > >>>> sure I am doing the same thing. . . . > > > > > > > > >>>> > > > > > > > > >>>> Oleg > > > > > > > > >>>> On Feb 28, 2016, at 2:46 PM, Pierre Villard < > > > > > > > > >>>> pierre.villard...@gmail.com<mailto: > > > > pierre.villard...@gmail.com > > > > > >> > > > > > > > > >>>> wrote: > > > > > > > > >>>> > > > > > > > > >>>> No I am not under testing framework, all my unit tests > are > > > > OK. I > > > > > > > > >>>> wanted > > > > > > > > >>>> to > > > > > > > > >>>> perform some additional tests and deployed Nifi with the > > new > > > > > > > > >>>> processors. > > > > > > > > >>>> > > > > > > > > >>>> You can find the method here [1] if you want to have a > > look. > > > > > > > > >>>> Thanks for your help. > > > > > > > > >>>> > > > > > > > > >>>> [1] > > > > > > > > >>>> > > > > > > > > >>>> > > > > > > > > >>>> > > > > > > > > >>>> > > > > > > > > >> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > https://github.com/pvillard31/nifi/blob/NIFI-1537/nifi-nar-bundles/nifi-snmp-bundle/nifi-snmp-processors/src/main/java/org/apache/nifi/snmp/processors/AbstractSNMPProcessor.java#L212-L243 > > > > > > > > >>>> > > > > > > > > >>>> 2016-02-28 17:11 GMT+01:00 Oleg Zhurakousky < > > > > > > > > >>>> ozhurakou...@hortonworks.com>: > > > > > > > > >>>> > > > > > > > > >>>> Also, reading Aldrin’s response and assuming you are > using > > > > Test > > > > > > > > >>>> mocks I > > > > > > > > >>>> would probably recommend to not use them for tests that > > > > require > > > > > > full > > > > > > > > >>>> lifecycle test of the component until we actually > improve > > > it. > > > > > > > > >>>> Instead you can code straight agains FlowController > > > > essentially > > > > > > > > >>>> executing > > > > > > > > >>>> as a full blown NiFi minus UI. Here is an example: > > > > > > > > >>>> > > > > > > > > >>>> > > > > > > > > >>>> > > > > > > > > >>>> > > > > > > > > >> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > https://github.com/apache/nifi/pull/210/files#diff-7be646c38c5447f7824e444343633829R92 > > > > > > > > >>>> > > > > > > > > >>>> Cheers > > > > > > > > >>>> Oleg > > > > > > > > >>>> > > > > > > > > >>>> On Feb 28, 2016, at 11:07 AM, Oleg Zhurakousky < > > > > > > > > >>>> ozhurakou...@hortonworks.com<mailto: > > > > > ozhurakou...@hortonworks.com > > > > > > >> > > > > > > > > >>>> wrote: > > > > > > > > >>>> > > > > > > > > >>>> Pierre > > > > > > > > >>>> Can you paste the method definition? Just want to look > at > > > the > > > > > > > > >>>> signature > > > > > > > > >>>> and see if there is something obvious > > > > > > > > >>>> > > > > > > > > >>>> Sent from my iPhone > > > > > > > > >>>> > > > > > > > > >>>> On Feb 28, 2016, at 10:26, Pierre Villard < > > > > > > > > >>>> pierre.villard...@gmail.com > > > > > > > > >>>> <mailto:pierre.villard...@gmail.com>> wrote: > > > > > > > > >>>> > > > > > > > > >>>> Hi, > > > > > > > > >>>> > > > > > > > > >>>> I am working on SNMP processors [1] and I'm almost ready > > > for a > > > > > > PR... > > > > > > > > >>>> but I > > > > > > > > >>>> have an issue I can't explain. In my processors, I have > > > > > > implemented > > > > > > > a > > > > > > > > >>>> method close() with the @OnStopped annotation but it > seems > > > the > > > > > > > > >>>> annotation > > > > > > > > >>>> is not seen. When debugging and stopping my processor, I > > > > > correctly > > > > > > > go > > > > > > > > >>>> through quietlyInvokeMethodsWithAnnotations() in > > > > ReflectionUtils > > > > > > and > > > > > > > > >>>> my > > > > > > > > >>>> method close() appears without any annotation. I guess I > > am > > > > > > missing > > > > > > > > >>>> something simple. Any idea? > > > > > > > > >>>> > > > > > > > > >>>> [1] https://issues.apache.org/jira/browse/NIFI-1537 > > > > > > > > >>>> > > > > > > > > >>>> > > > > > > > > >>>> > > > > > > > > >>>> > > > > > > > > >>>> > > > > > > > > >>>> > > > > > > > > >>>> > > > > > > > > >>>> > > > > > > > > >>>> > > > > > > > > >>>> > > > > > > > > >> > > > > > > > > >> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > >