Hi Arne, Thanks for the detailed explanation, that is an interesting scenario, but I can see why it would be problematic.
Can you file a NiFi JIRA with that write up and tag the component as "Nar-Maven-Plugin" ? Thanks, Bryan On Fri, Mar 2, 2018 at 12:02 PM, Arne Degenring <arne.degenr...@luxonit.com> wrote: > Hi Mike, > > No, we are running standard NiFi 1.4.0 and are using the standard NiFi Maven > plugin 1.2.0. > > We just have implemented a couple of custom processor and service NARs. > > Thanks > Arne > > On 2. Mar 2018, at 17:54, Mike Thomsen <mikerthom...@gmail.com> wrote: > > Are you by any chance running a custom build of NiFi? > > On Fri, Mar 2, 2018 at 9:44 AM, Arne Degenring <arne.degenr...@luxonit.com> > wrote: >> >> Hi, >> >> >> >> We have seen a strange problem on NiFi 1.4.0 where custom processors could >> suddenly not be started, because of incompatibility with custom services: >> >> >> >> 2018-03-02 13:40:35,490 ERROR [main] >> o.apache.nifi.controller.FlowController Unable to start >> …[id=5d57d39a-015c-1000-ffff-ffffd654d90b] due to >> java.lang.IllegalStateException: Processor … is not in a valid state due to >> … is invalid because … - 1.4-SNAPSHOT from … is not compatible with … - >> 1.4-SNAPSHOT …] >> >> >> >> It seems that the root cause was related to: >> >> >> >> 2018-03-02 13:39:55,086 WARN [main] org.apache.nifi.nar.NarClassLoaders >> While loading …:…:1.5-SNAPSHOT' unable to locate exact NAR dependency >> '…:…:1.4-20180302.111133-16'. Only found one possible match >> …:….:1.4-SNAPSHOT'. Continuing... >> >> >> >> It turned out that our various custom NARs were built on different built >> agents. >> >> >> >> Maven has the (ugly) behaviour that when a snapshot version is present in >> the local repository after local build, the version number will be e.g. >> 1.4-SNAPSHOT. However if it is downloaded from a remote repository, the >> version number includes a timestamp such as 1.4-20180302.111133-16. >> >> >> >> So the manifest of the depending NARs contained: >> >> >> >> Nar-Dependency-Version: 1.4-20180302.111133-16 >> >> >> >> while the other NAR file declared: >> >> >> >> Nar-Version: 1.4-SNAPSHOT >> >> >> >> Not sure if NiFi 1.5 would behave differently when loading such NAR files, >> but I would recommend to anyway fix the NiFi Maven Plugin: >> >> >> >> >> https://github.com/apache/nifi-maven/blob/master/src/main/java/org/apache/nifi/NarMojo.java >> >> >> >> Replace line 705: >> narDependency = new NarDependency(artifact.getGroupId(), >> artifact.getArtifactId(), artifact.getVersion()); >> >> >> >> with: >> narDependency = new NarDependency(artifact.getGroupId(), >> artifact.getArtifactId(), artifact.getBaseVersion()); >> >> >> >> Explanation: artifact.getBaseVersion() will always consistenly return >> -SNAPSHOT, even in case the artifact was a timestamped snapshot downloaded >> from a remote repo. >> >> >> >> Thanks >> Arne >> >> >> >> > > >