Kevin,

This may well be a very interesting approach which opens up a lot of
options for us in how we tackle a 2.x...

Thanks

On Tue, Aug 3, 2021 at 8:45 AM Kevin Doran <kdoran.apa...@gmail.com> wrote:
>
> Outside of core NiFi, for MiNiFi, I think it would be beneficial to align 
> MiNiFi Java and MiNiFI C++ to use the same method(s) for command and control 
> / flow deployment. This was discussed when MiNiFi Java was merged into the 
> NiFi codebase [1].
>
> My proposal would be to create a Java implementation of the C2 Protocol used 
> by MiNiFi C++, both server-side and client-side, to allow deploying to MiNiFi 
> Java instances from a centralize flow definition. Thanks to the unification 
> of MiNiFi Java and NiFi, this could likely also be added as a capability of 
> NiFi at that same time.
>
> If we are able to do this on the 1.x line, then I would also support 
> deprecating other methods of flow deployment to MiNiFi outlined in [1] and 
> removing them in a 2.x release.
>
> [1] https://github.com/apache/nifi/pull/4933#issuecomment-808411977 
> <https://github.com/apache/nifi/pull/4933#issuecomment-808411977>
> [2] https://cwiki.apache.org/confluence/display/MINIFI/C2+Design 
> <https://cwiki.apache.org/confluence/display/MINIFI/C2+Design>
>
> Thanks,
> Kevin
>
> > On Aug 3, 2021, at 10:07 AM, David Handermann <exceptionfact...@gmail.com> 
> > wrote:
> >
> > Thanks for the continued discussion around what can or should be removed.
> > Having a clear migration path from version 1 to version 2 will be very
> > important for supporting current deployments.
> >
> > Following the example of some other projects, one way to consider the
> > upgrade is from the point of view of deprecation warnings. If implemented
> > correctly, an installation of NiFi running the latest minor release of
> > version 1, and showing no deprecation warnings, should be upgradeable to
> > version 2 without any changes. Making this work involves accurately tagging
> > components and methods with deprecation indicators, and providing a clear
> > way to observe deprecation warnings. With the current version containing
> > both deprecated components and deprecated methods in various classes, this
> > would involve some work to get right. A simple approach might be a named
> > logger for deprecation warnings, which would write a separate log file. A
> > more advanced approach might involve a tool to analyze the system and flow
> > configurations. Either way, it seems that some additional work in a minor
> > release version is necessary before considering a major release version.
> >
> > One other point on compatibility: as long as the core component API
> > definition remains backwards compatible, it should be possible to run older
> > components. This provides a transition option for customers using
> > components such as PostHTTP, or any others that are not actively
> > maintained. At some point it may become necessary to break compatibility at
> > that level, but at least for version 2, maintaining component API
> > compatibility is key.
> >
> > Regards,
> > David Handermann
> >
> > On Sun, Aug 1, 2021 at 10:23 AM Mark Bean <mark.o.b...@gmail.com> wrote:
> >
> >> I created a JIRA ticket to investigate and improve the performance of
> >> InvokeHTTP. It includes a flow definition for benchmarking the performance
> >> of both PostHTTP and InvokeHTTP.
> >>
> >> https://issues.apache.org/jira/browse/NIFI-8968
> >>
> >> Thanks,
> >> Mark
> >>
> >> On Fri, Jul 30, 2021 at 6:41 PM Adam Taft <a...@adamtaft.com> wrote:
> >>
> >>> I'm not seeing the side thread that was going to discuss deprecation of
> >>> PostHTTP.  Has that thread started and I just don't see it?
> >>>
> >>> One (significant?) concern with PostHTTP is the smooth integration of
> >>> NiFi-to-NiFi communication that is very transparently enabled with the
> >>> ListenHTTP and PostHTTP processors. There's some special logic in there
> >> for
> >>> handling flowfiles that InvokeHTTP doesn't really (nor should really)
> >> have.
> >>>
> >>> I know of several (large) NiFi installations that rely on the PostHTTP /
> >>> ListenHTTP combination. It has enabled NiFi to NiFi communication for
> >> folks
> >>> reluctant or unable to enable site-to-site type configuration.
> >>>
> >>> Honestly, I don't know why we'd want to "deprecate" any processor, as
> >>> opposed to just moving it to a new location. If these processors can be
> >>> ported and maintained to whatever the 2.0 API looks like, there's
> >> possibly
> >>> little harm keeping them around.
> >>>
> >>> And by the way, what happened to the "marketplace" concept? Is this being
> >>> considered for 2.0 as well?  Because relocating the deprecated processors
> >>> to an external nar might be the best solution. Losing PostHTTP entirely I
> >>> think would be a mistake, but I'd conceptually support relocating it.
> >>>
> >>> Thanks,
> >>>
> >>> /Adam
> >>>
> >>> On Tue, Jul 27, 2021 at 2:11 PM Joe Witt <joe.w...@gmail.com> wrote:
> >>>
> >>>> Looks like we just need to knock out 5 JIRAs :) [1]
> >>>>
> >>>> I felt like we had a label folks were using at one point but quickly
> >>>> looking revealed nothing exciting.  After this confluence page
> >>>> stabilizes a bit we can probably knock out some JIRAs and such.
> >>>>
> >>>> [1] https://issues.apache.org/jira/projects/NIFI/versions/12339599
> >>>>
> >>>> On Tue, Jul 27, 2021 at 1:06 PM Otto Fowler <ottobackwa...@gmail.com>
> >>>> wrote:
> >>>>>
> >>>>> I find myself wishing I had a list of all the jiras / issues that
> >> have
> >>>>> been put off for a 2.0 release because they required some change or
> >>>> another
> >>>>> :(
> >>>>>
> >>>>> From: Joe Witt <joe.w...@gmail.com> <joe.w...@gmail.com>
> >>>>> Reply: dev@nifi.apache.org <dev@nifi.apache.org> <
> >> dev@nifi.apache.org>
> >>>>> Date: July 27, 2021 at 12:30:35
> >>>>> To: dev@nifi.apache.org <dev@nifi.apache.org> <dev@nifi.apache.org>
> >>>>> Subject:  Re: [DISCUSS] NiFi 2.0 Release Goals
> >>>>>
> >>>>> A few thoughts:
> >>>>>
> >>>>> 1. I would love to see deprecation notices show up in the UI in
> >>>>> various ways to help motivate users to move off things to more
> >>>>> supportable things. That is not a prerequisite for anything happening
> >>>>> however. Just a good feature/nice thing to do for users when someone
> >>>>> is able to tackle it.
> >>>>>
> >>>>> 2. The decision to deprecate something and to further remove it need
> >>>>> not mean there is a superior solution available. If that thing itself
> >>>>> isn't getting the love/attention it needs to be
> >>>>> maintained/supported/healthy going forward that alone is enough to
> >>>>> remove it. That might well be the case with PostHTTP [1] and for
> >>>>> comparison you can see how much effort has gone into InvokeHTTP [2].
> >>>>>
> >>>>> 3. When discussing a 2.0 release each thing we add as a 'must do' the
> >>>>> further away from reality such a release will become. We'll have to
> >>>>> get very specific about 'musts' vs 'wants'.
> >>>>>
> >>>>> [1]
> >>>>>
> >>>>
> >>>
> >> https://github.com/apache/nifi/commits/11e9ff377333784974fa55f41483c4281d80da50/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/PostHTTP.java
> >>>>> [2]
> >>>>>
> >>>>
> >>>
> >> https://github.com/apache/nifi/commits/cc554a6b110dfa45767bcb13d834ea4265d6dfe6/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/InvokeHTTP.java
> >>>>>
> >>>>> On Tue, Jul 27, 2021 at 8:47 AM David Handermann
> >>>>> <exceptionfact...@apache.org> wrote:
> >>>>>>
> >>>>>> Thanks Mark, providing a template or comparison statistics with
> >> Java
> >>>>>> versions and component configuration details would be very helpful.
> >>> If
> >>>> it
> >>>>>> is possible to run tests using a public API or deployable service,
> >>> that
> >>>>>> would also help confirm potential differences.
> >>>>>>
> >>>>>> Showing a deprecation notice in the UI could be helpful, perhaps
> >> as a
> >>>>>> configurable option. NIFI-8650 describes a general Flow Analysis
> >>>>>> capability, and it seems like that might be one possible way to
> >>> surface
> >>>>>> deprecation warnings. For something more specific to component
> >>>>> deprecation,
> >>>>>> it seems important to find a balance between making it obvious and
> >>>> making
> >>>>>> it something that ends up getting ignored.
> >>>>>>
> >>>>>> Regards,
> >>>>>> David Handermann
> >>>>>>
> >>>>>> On Tue, Jul 27, 2021 at 10:28 AM Mark Bean <mark.o.b...@gmail.com>
> >>>> wrote:
> >>>>>>
> >>>>>>> I'll start a new thread for PostHTTP when I get a template and/or
> >>>>> detailed
> >>>>>>> stats.
> >>>>>>>
> >>>>>>> I know the deprecation is noted in the documentation. That's a
> >>>>> necessary
> >>>>>>> and minimum level of notification. I was suggesting it be more
> >>>> obvious
> >>>>> in
> >>>>>>> the UI. I think it would be beneficial to somehow be aware of the
> >>>>>>> deprecation status simply by looking at the flow (perhaps even on
> >>> the
> >>>>>>> summary pages too), and without having to open the documentation
> >>> for
> >>>>> every
> >>>>>>> processor to confirm whether or not a component is marked as
> >>>>> deprecated.
> >>>>>>>
> >>>>>>> Thanks,
> >>>>>>> Mark
> >>>>>>>
> >>>>>>>
> >>>>>>> On Tue, Jul 27, 2021 at 11:16 AM David Handermann <
> >>>>>>> exceptionfact...@apache.org> wrote:
> >>>>>>>
> >>>>>>>> Mark,
> >>>>>>>>
> >>>>>>>> Thanks for the feedback. It may be better to start a separate
> >>>> thread
> >>>>> on
> >>>>>>>> PostHTTP, but can you provide an example flow demonstrating the
> >>>>>>> performance
> >>>>>>>> differences between PostHTTP and InvokeHTTP?
> >>>>>>>>
> >>>>>>>> PostHTTP uses the Apache HttpComponents library, whereas
> >>> InvokeHTTP
> >>>>> uses
> >>>>>>>> OkHttp. NiFi 1.13.2 and 1.14.0 included major version updates
> >> for
> >>>>> OkHttp,
> >>>>>>>> so it would be important to test with the most recent version.
> >> It
> >>>> is
> >>>>> also
> >>>>>>>> worth noting that test classes for PostHTTP are now integration
> >>>> tests
> >>>>> as
> >>>>>>>> opposed to unit tests, which means they are not executed as
> >> part
> >>> of
> >>>>> the
> >>>>>>>> automated builds.
> >>>>>>>>
> >>>>>>>> The NiFi documentation includes the contents of the
> >>>> DeprecationNotice
> >>>>> for
> >>>>>>>> PostHTTP:
> >>>>>>>>
> >>>>>>>>
> >>>>>>>>
> >>>>>>>
> >>>>>
> >>>>
> >>>
> >> https://nifi.apache.org/docs/nifi-docs/components/org.apache.nifi/nifi-standard-nar/1.14.0/org.apache.nifi.processors.standard.PostHTTP/index.html
> >>>>>>>>
> >>>>>>>> Regards,
> >>>>>>>> David Handermann
> >>>>>>>>
> >>>>>>>> On Tue, Jul 27, 2021 at 9:56 AM Mark Bean <
> >> mark.o.b...@gmail.com
> >>>>
> >>>>> wrote:
> >>>>>>>>
> >>>>>>>>> I'm strongly in favor of reducing tech debt, and moving
> >>>>> deliberately
> >>>>>>> to a
> >>>>>>>>> 2.0 release. I have a concern with just one processor that is
> >>>>> currently
> >>>>>>>>> marked as deprecated: PostHTTP. (I have not evaluated
> >>>> specifically
> >>>>> any
> >>>>>>>>> other deprecated components; I cannot say if there are or are
> >>> not
> >>>>>>> similar
> >>>>>>>>> issues elsewhere.) I understand the rationale for deprecating
> >>>> this
> >>>>>>>>> processor in that it eliminates a processor whose
> >> functionality
> >>>> is
> >>>>>>>>> available elsewhere, specifically in the more flexible
> >>>> InvokeHTTP.
> >>>>>>>> However,
> >>>>>>>>> in my experience and testing, PostHTTP performs transfers
> >> with
> >>>> far
> >>>>>>>> greater
> >>>>>>>>> throughput than InvokeHTTP. I would not be in favor of
> >> removing
> >>>>>>> PostHTTP
> >>>>>>>>> unless/until InvokeHTTP is refactored to increase its
> >>> throughput
> >>>>>>>>> capability.
> >>>>>>>>>
> >>>>>>>>> Has anyone else continued to use PostHTTP over InvokeHTTP for
> >>>>> similar
> >>>>>>>>> reasons? Or, is there a performance-related configuration for
> >>>>>>> InvokeHTTP
> >>>>>>>> I
> >>>>>>>>> may have missed?
> >>>>>>>>>
> >>>>>>>>> Also, in order to help facilitate a smooth transition to 2.0
> >>>> from a
> >>>>>>> user
> >>>>>>>>> perspective, would it be advisable to add some sort of visual
> >>>>> indicator
> >>>>>>>> in
> >>>>>>>>> the UI for components that are currently annotated as
> >>>> @Deprecated?
> >>>>> This
> >>>>>>>>> might help users proactively modify their flow prior to a
> >>> release
> >>>>> that
> >>>>>>>>> would otherwise break it.
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>> On Mon, Jul 26, 2021 at 5:02 PM Bryan Bende <
> >> bbe...@gmail.com>
> >>>>> wrote:
> >>>>>>>>>
> >>>>>>>>>> With the merging of MiNiFi and registry into the NiFi repo,
> >>>> we've
> >>>>>>>>>> actually gone more towards a mono-repo where everything is
> >>>>> released
> >>>>>>>>>> together. Eventually it would still be nice to have a
> >> smaller
> >>>>> base
> >>>>>>>>>> distribution containing just the framework and standard
> >> NARs,
> >>>> but
> >>>>> it
> >>>>>>>>>> is hard to tackle that until we provide a way for users to
> >>>> easily
> >>>>>>>>>> obtain the NARs in some other way.
> >>>>>>>>>>
> >>>>>>>>>> On Mon, Jul 26, 2021 at 4:20 PM Edward Armes <
> >>>>> edward.ar...@gmail.com
> >>>>>>>>
> >>>>>>>>>> wrote:
> >>>>>>>>>>>
> >>>>>>>>>>> Given the major version number shift and the spliting up
> >> of
> >>>>>>>> processors
> >>>>>>>>>> into
> >>>>>>>>>>> multiple NAR's. I'd like to suggest that we start
> >>>> individually
> >>>>>>>>> versioning
> >>>>>>>>>>> individual NARs/ bundles.
> >>>>>>>>>>>
> >>>>>>>>>>> I can see this bringing a large number of benifits
> >>> including
> >>>>> making
> >>>>>>>>> Nifi
> >>>>>>>>>>> more deployable with things RPM, but also potentially
> >>>> allowing
> >>>>>>> those
> >>>>>>>>> that
> >>>>>>>>>>> have to deploy managed Nifi instances easier to upgrade.
> >>>>>>>>>>>
> >>>>>>>>>>> Edward
> >>>>>>>>>>>
> >>>>>>>>>>> On Mon, 26 Jul 2021, 20:42 Otto Fowler, <
> >>>> ottobackwa...@gmail.com>
> >>>>>
> >>>>>>>>> wrote:
> >>>>>>>>>>>
> >>>>>>>>>>>> The issue with updating the aws sdk is if it breaks any
> >>> one
> >>>>> of
> >>>>>>> the
> >>>>>>>>>>>> processors.
> >>>>>>>>>>>> the Web Gateway API invoke processor for example is not
> >>>> using
> >>>>> a
> >>>>>>>> high
> >>>>>>>>>> level
> >>>>>>>>>>>> purpose build client and may break.
> >>>>>>>>>>>>
> >>>>>>>>>>>> If we change the aws version, we need to coordinate in
> >>>> such a
> >>>>> way
> >>>>>>>>> that
> >>>>>>>>>> they
> >>>>>>>>>>>> all
> >>>>>>>>>>>> can come along reasonably.
> >>>>>>>>>>>> IE: what happens if 1 or 2 break but the rest or OK?
> >>>>>>>>>>>>
> >>>>>>>>>>>>
> >>>>>>>>>>>>
> >>>>>>>>>>>> From: David Handermann <exceptionfact...@apache.org>
> >>>>>>>>>>>> <exceptionfact...@apache.org>
> >>>>>>>>>>>> Reply: dev@nifi.apache.org <dev@nifi.apache.org> <
> >>>>>>>>> dev@nifi.apache.org>
> >>>>>>>>>>>> Date: July 26, 2021 at 09:33:42
> >>>>>>>>>>>> To: dev@nifi.apache.org <dev@nifi.apache.org> <
> >>>>>>> dev@nifi.apache.org
> >>>>>>>>>
> >>>>>>>>>>>> Subject: Re: [DISCUSS] NiFi 2.0 Release Goals
> >>>>>>>>>>>>
> >>>>>>>>>>>> Chris,
> >>>>>>>>>>>>
> >>>>>>>>>>>> Thanks for the reply and recommendations. It seems like
> >>>> some
> >>>>> of
> >>>>>>> the
> >>>>>>>>>> work to
> >>>>>>>>>>>> reorganize the module structure could be done outside
> >> of
> >>> a
> >>>>> major
> >>>>>>>>>> release,
> >>>>>>>>>>>> but it would be great to target any breaking changes
> >> for
> >>>> 2.0.
> >>>>>>>>> Perhaps a
> >>>>>>>>>>>> separate feature proposal on module restructuring, with
> >>> the
> >>>>> goal
> >>>>>>> of
> >>>>>>>>>>>> supporting optimized builds, would be a helpful way to
> >>> move
> >>>>> that
> >>>>>>>> part
> >>>>>>>>>> of
> >>>>>>>>>>>> the discussion forward.
> >>>>>>>>>>>>
> >>>>>>>>>>>> Regarding updating AWS SDK to version 2, it seems like
> >>> that
> >>>>> might
> >>>>>>>> be
> >>>>>>>>>>>> possible now. I haven't taken a close look at the
> >>>> referencing
> >>>>>>>>>> components,
> >>>>>>>>>>>> so I'm not sure about the level of effort involved.
> >> Minor
> >>>>> NiFi
> >>>>>>>>> version
> >>>>>>>>>>>> updates have incorporated major new versions of
> >>>> dependencies.
> >>>>> For
> >>>>>>>>>> example,
> >>>>>>>>>>>> NiFi 1.14 included an upgrade from Spring Framework 4
> >> to
> >>> 5.
> >>>>> On
> >>>>>>> the
> >>>>>>>>> one
> >>>>>>>>>>>> hand, including the AWS SDK update as part of a major
> >>>> release
> >>>>>>> seems
> >>>>>>>>>>>> helpful, but unless there are changes that break
> >> existing
> >>>>>>> component
> >>>>>>>>>>>> properties, upgrading the AWS SDK could be worked
> >>>>> independently.
> >>>>>>>>>> Others may
> >>>>>>>>>>>> have more insight into particular usage of that
> >> library.
> >>>>>>>>>>>>
> >>>>>>>>>>>> Regards,
> >>>>>>>>>>>> David Handermann
> >>>>>>>>>>>>
> >>>>>>>>>>>> On Sun, Jul 25, 2021 at 2:12 AM Chris Sampson
> >>>>>>>>>>>> <chris.samp...@naimuri.com.invalid> wrote:
> >>>>>>>>>>>>
> >>>>>>>>>>>>> Might be worth considering refactoring the build as
> >>> part
> >>>> of
> >>>>>>> this
> >>>>>>>>> work
> >>>>>>>>>>>> too,
> >>>>>>>>>>>>> e.g. only building the bits of the repo affected by a
> >>>>> commit,
> >>>>>>>> etc.
> >>>>>>>>> -
> >>>>>>>>>>>>> discussed briefly in previous threads but don't think
> >>> any
> >>>>>>> changes
> >>>>>>>>>> made
> >>>>>>>>>>>> yet.
> >>>>>>>>>>>>> If NARs/components are likely to be split up and
> >>>> refactored
> >>>>>>> then
> >>>>>>>>> such
> >>>>>>>>>>>> work
> >>>>>>>>>>>>> around the build probably makes sense to consider.
> >>>>>>>>>>>>>
> >>>>>>>>>>>>> I've a couple of PRs open that include updates to
> >>>>> Elasticsearch
> >>>>>>>>>> versions
> >>>>>>>>>>>>> already, although I stopped at 7.10.2 (after which
> >>>> Elastic
> >>>>>>>> changed
> >>>>>>>>>>>> licence)
> >>>>>>>>>>>>> in case there were licence concerns. But more work
> >> can
> >>> be
> >>>>> done
> >>>>>>> to
> >>>>>>>>>> tidy up
> >>>>>>>>>>>>> the processors, absolutely.
> >>>>>>>>>>>>>
> >>>>>>>>>>>>> AWS libraries to v2 would seem a sensible move and a
> >>>>> refactor
> >>>>>>> of
> >>>>>>>>>> those
> >>>>>>>>>>>>> processors as well.
> >>>>>>>>>>>>>
> >>>>>>>>>>>>>
> >>>>>>>>>>>>> Cheers,
> >>>>>>>>>>>>>
> >>>>>>>>>>>>> Chris Sampson
> >>>>>>>>>>>>>
> >>>>>>>>>>>>> On Sat, 24 Jul 2021, 17:47 David Handermann, <
> >>>>>>>>>>>> exceptionfact...@apache.org>
> >>>>>>>>>>>>
> >>>>>>>>>>>>> wrote:
> >>>>>>>>>>>>>
> >>>>>>>>>>>>>> Thanks for pointing out the standard NAR bundles,
> >>> Mark.
> >>>>> There
> >>>>>>>>> are a
> >>>>>>>>>>>>> number
> >>>>>>>>>>>>>> of components in the standard NAR bundles with
> >>>> particular
> >>>>>>>>>> dependencies
> >>>>>>>>>>>>> that
> >>>>>>>>>>>>>> would make more sense in separate NARs.
> >> Reorganizing
> >>>> the
> >>>>>>>> standard
> >>>>>>>>>> NAR
> >>>>>>>>>>>> to
> >>>>>>>>>>>>>> components with limited dependencies and wide
> >>>>> applicability
> >>>>>>>> would
> >>>>>>>>>>>>>> definitely help with future maintenance.
> >>>>>>>>>>>>>>
> >>>>>>>>>>>>>> Regards,
> >>>>>>>>>>>>>> David Handermann
> >>>>>>>>>>>>>>
> >>>>>>>>>>>>>> On Sat, Jul 24, 2021 at 10:57 AM Mark Payne <
> >>>>>>>>> marka...@hotmail.com>
> >>>>>>>>>>>>> wrote:
> >>>>>>>>>>>>>>
> >>>>>>>>>>>>>>> There’s also some code that exists in order to
> >>>> maintain
> >>>>>>>>> backward
> >>>>>>>>>>>>>>> compatibility in the repositories. I would very
> >>> much
> >>>>> like
> >>>>>>> the
> >>>>>>>>>>>>>> repositories
> >>>>>>>>>>>>>>> to contain no unnecessary code. And swap file
> >>> format
> >>>>>>> supports
> >>>>>>>>>> really
> >>>>>>>>>>>>> old
> >>>>>>>>>>>>>>> formats. And the old impls of the repositories
> >>>>> themselves,
> >>>>>>>> like
> >>>>>>>>>>>>>>> PersistentProvRepo instead of WriteAheadProv
> >> Repo,
> >>>> etc.
> >>>>>>> Lots
> >>>>>>>> of
> >>>>>>>>>> stuff
> >>>>>>>>>>>>>> there
> >>>>>>>>>>>>>>> that can be removed. And some methods in
> >>>> ProcessSession
> >>>>>>> that
> >>>>>>>>> are
> >>>>>>>>>>>> never
> >>>>>>>>>>>>>> used
> >>>>>>>>>>>>>>> by any processor in the codebase but exists in
> >> the
> >>>>> public
> >>>>>>> API
> >>>>>>>>> so
> >>>>>>>>>>>> can’t
> >>>>>>>>>>>>> be
> >>>>>>>>>>>>>>> removed till 2.0.
> >>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>> I think his is also a great time to clean up the
> >>>>> “standard
> >>>>>>>>> nar.”
> >>>>>>>>>> At
> >>>>>>>>>>>>> this
> >>>>>>>>>>>>>>> point, it’s something like 70 MB. And many of the
> >>>>>>> components
> >>>>>>>>>> there
> >>>>>>>>>>>> are
> >>>>>>>>>>>>>> not
> >>>>>>>>>>>>>>> really “standard” - things like connecting to
> >> FTP &
> >>>>> SFTP
> >>>>>>>>>> servers, XML
> >>>>>>>>>>>>>>> processing, Jolt transform, etc. could
> >> potentially
> >>> be
> >>>>> moved
> >>>>>>>>> into
> >>>>>>>>>>>> other
> >>>>>>>>>>>>>>> nars. The
> >>>>> nifi-standard-content-viewer-1.15.0-SNAPSHOT.war
> >>>>>>> is
> >>>>>>>>>> 6.9 MB
> >>>>>>>>>>>> is
> >>>>>>>>>>>>>> not
> >>>>>>>>>>>>>>> necessary for stateless or minifi java. Lots of
> >>>> things
> >>>>>>>> probably
> >>>>>>>>>> to
> >>>>>>>>>>>>>>> reconsider within the standard nar.
> >>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>> I definitely think this is a reasonable approach,
> >>> to
> >>>>> allow
> >>>>>>>> for
> >>>>>>>>> a
> >>>>>>>>>> 2.0
> >>>>>>>>>>>>> that
> >>>>>>>>>>>>>>> is not a huge feature release but allows the
> >>> project
> >>>> to
> >>>>> be
> >>>>>>>>>> simpler
> >>>>>>>>>>>> and
> >>>>>>>>>>>>>> more
> >>>>>>>>>>>>>>> nimble.
> >>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>> Thanks
> >>>>>>>>>>>>>>> -Mark
> >>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>> On Jul 24, 2021, at 10:59 AM, Mike Thomsen <
> >>>>>>>>>> mikerthom...@gmail.com
> >>>>>>>>>>>>>> <mailto:
> >>>>>>>>>>>>>>> mikerthom...@gmail.com>> wrote:
> >>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>> Russell,
> >>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>> AFAICT from looking at Elastic's repos, the low
> >>> level
> >>>>> REST
> >>>>>>>>>> client is
> >>>>>>>>>>>>>>> still fine.
> >>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>
> >>>>>>>>>>>>>
> >>>>>>>>>>>>
> >>>>>>>>>>>>
> >>>>>>>>>>
> >>>>>>>>>
> >>>>>>>>
> >>>>>>>
> >>>>>
> >>>>
> >>>
> >> https://github.com/elastic/elasticsearch/blob/e5518e07f13701e3bb3dcc6842b9023966752497/client/rest/src/main/java/org/elasticsearch/client/RestClient.java
> >>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>> Our Elasticsearch support is spread over two NARs
> >>> at
> >>>>>>> present.
> >>>>>>>>> One
> >>>>>>>>>>>> uses
> >>>>>>>>>>>>>>> OkHttp and the other uses that low level Elastic
> >>> REST
> >>>>>>> client.
> >>>>>>>>>>>>>>> Therefore, I think we're fine on licensing for
> >> the
> >>>>> moment.
> >>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>> Mike
> >>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>> On Fri, Jul 23, 2021 at 1:10 PM Russell Bateman <
> >>>>>>>>>>>> r...@windofkeltia.com
> >>>>>>>>>>>>>>> <mailto:r...@windofkeltia.com>> wrote:
> >>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>> Bringing up Elastic also reminds me that the
> >>> Elastic
> >>>>>>>> framework
> >>>>>>>>>> has
> >>>>>>>>>>>> just
> >>>>>>>>>>>>>>> recently transitioned out of Open Source, so to
> >>>>> acknowledge
> >>>>>>>>> that,
> >>>>>>>>>>>> maybe
> >>>>>>>>>>>>>>> some effort toward OpenSearch--I say this not
> >>>>> understanding
> >>>>>>>>>> exactly
> >>>>>>>>>>>> how
> >>>>>>>>>>>>>>> this sort of thing is considered in a
> >> large-scale,
> >>>>>>>> world-class
> >>>>>>>>>>>> software
> >>>>>>>>>>>>>>> project like Apache NiFi. (I'm not a contributor,
> >>>> just
> >>>>> a
> >>>>>>>>> grateful
> >>>>>>>>>>>>>>> consumer.)
> >>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>> Russ
> >>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>> On 7/23/21 10:28 AM, Matt Burgess wrote:
> >>>>>>>>>>>>>>> Along with the itemized list for ancient
> >> components
> >>>> we
> >>>>>>> should
> >>>>>>>>>> look at
> >>>>>>>>>>>>>>> updating versions of drivers, SDKs, etc. for
> >>> external
> >>>>>>> systems
> >>>>>>>>>> such as
> >>>>>>>>>>>>>>> Elasticsearch, Cassandra, etc. There may be
> >>> breaking
> >>>>>>> changes
> >>>>>>>>> but
> >>>>>>>>>> 2.0
> >>>>>>>>>>>>>>> is probably the right time to get things up to
> >> date
> >>>> to
> >>>>> make
> >>>>>>>>> them
> >>>>>>>>>> more
> >>>>>>>>>>>>>>> useful to more people.
> >>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>> On Fri, Jul 23, 2021 at 12:21 PM Nathan Gough <
> >>>>>>>>>> thena...@gmail.com
> >>>>>>>>>>>>>> <mailto:
> >>>>>>>>>>>>>>> thena...@gmail.com>> wrote:
> >>>>>>>>>>>>>>> I'm a +1 for removing pretty much all of this
> >>> stuff.
> >>>>> There
> >>>>>>>> are
> >>>>>>>>>>>> security
> >>>>>>>>>>>>>>> implications to keeping old dependencies around,
> >> so
> >>>> the
> >>>>>>> more
> >>>>>>>>> old
> >>>>>>>>>> code
> >>>>>>>>>>>>> we
> >>>>>>>>>>>>>>> can remove the better. I agree that eventually we
> >>>> need
> >>>>> to
> >>>>>>>> move
> >>>>>>>>> to
> >>>>>>>>>>>>>>> supporting only Java 11+, and as our next release
> >>>> will
> >>>>>>>> probably
> >>>>>>>>>> be
> >>>>>>>>>>>>> about
> >>>>>>>>>>>>>> 4
> >>>>>>>>>>>>>>> - 6 months from now that doesn't seem too soon.
> >> We
> >>>>> could
> >>>>>>>>>> potentially
> >>>>>>>>>>>>>> break
> >>>>>>>>>>>>>>> this in two and remove the deprecated processors
> >>> and
> >>>>> leave
> >>>>>>>> 1.x
> >>>>>>>>> on
> >>>>>>>>>>>> Java
> >>>>>>>>>>>>> 8,
> >>>>>>>>>>>>>>> and finally start on 2.x which would support only
> >>>> Java
> >>>>> 11.
> >>>>>>>> I'm
> >>>>>>>>>> unsure
> >>>>>>>>>>>>> of
> >>>>>>>>>>>>>>> what implications changing the date and time
> >>> handling
> >>>>> would
> >>>>>>>>> have
> >>>>>>>>>> -
> >>>>>>>>>>>> for
> >>>>>>>>>>>>>>> running systems that use long term historical
> >> logs,
> >>>>>>>> unexpected
> >>>>>>>>>>>> impacts
> >>>>>>>>>>>>> to
> >>>>>>>>>>>>>>> time logging could be a problem.
> >>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>> As Joe says I think feature work will have to be
> >>>>> dedicated
> >>>>>>> to
> >>>>>>>>>> 2.x and
> >>>>>>>>>>>>> we
> >>>>>>>>>>>>>>> could support 1.x for security fixes for some
> >>> period
> >>>> of
> >>>>>>> time.
> >>>>>>>>> 2.x
> >>>>>>>>>>>> seems
> >>>>>>>>>>>>>>> like a gargantuan task but it's probably time to
> >>> get
> >>>>>>> started.
> >>>>>>>>> Not
> >>>>>>>>>>>> sure
> >>>>>>>>>>>>>> how
> >>>>>>>>>>>>>>> we handle all open PRs and the transition between
> >>> 1.x
> >>>>> and
> >>>>>>>> 2.x.
> >>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>> On Fri, Jul 23, 2021 at 10:57 AM Joe Witt <
> >>>>>>>> joe.w...@gmail.com
> >>>>>>>>>>>> <mailto:
> >>>>>>>>>>>>>>> joe.w...@gmail.com>> wrote:
> >>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>> Jon
> >>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>> You're right we have to be careful and you're
> >> right
> >>>>> there
> >>>>>>> are
> >>>>>>>>>> still
> >>>>>>>>>>>>>>> significant Java 8 users out there. But we also
> >>> have
> >>>> to
> >>>>> be
> >>>>>>>>>> careful
> >>>>>>>>>>>>>>> about security and sustainability of the
> >> codebase.
> >>> If
> >>>>> we
> >>>>>>> had
> >>>>>>>>>> talked
> >>>>>>>>>>>>>>> about this last year when that article came out
> >> I'd
> >>>>> have
> >>>>>>>> agreed
> >>>>>>>>>> it is
> >>>>>>>>>>>>>>> too early. Interestingly that link seems to get
> >>>> updated
> >>>>>>> and I
> >>>>>>>>>> tried
> >>>>>>>>>>>>>>> [1] and found more recent data (not sure how
> >>> recent).
> >>>>>>> Anyway
> >>>>>>>> it
> >>>>>>>>>>>>>>> suggests Java 8 is still the top dog but we see
> >>> good
> >>>>> growth
> >>>>>>>> on
> >>>>>>>>>> 11. In
> >>>>>>>>>>>>>>> my $dayjob this aligns to what I'm seeing too.
> >>>>> Customers
> >>>>>>>> didn't
> >>>>>>>>>> seem
> >>>>>>>>>>>>>>> to care about Java 11 until later half last year
> >>> and
> >>>>> now
> >>>>>>>>>> suddenly it
> >>>>>>>>>>>>>>> is all over the place.
> >>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>> I think once we put out a NiFi 2.0 release we'd
> >> see
> >>>>> rapid
> >>>>>>>>>> decrease in
> >>>>>>>>>>>>>>> work on the 1.x line just being blunt. We did
> >> this
> >>>> many
> >>>>>>> years
> >>>>>>>>> ago
> >>>>>>>>>>>>>>> with 0.x to 1.x and we stood behind 0.x for a
> >> while
> >>>>> (maybe
> >>>>>>> a
> >>>>>>>>>> year or
> >>>>>>>>>>>>>>> so) but it was purely bug fix/security related
> >>> bits.
> >>>> We
> >>>>>>> would
> >>>>>>>>>> need to
> >>>>>>>>>>>>>>> do something similar. But feature work would
> >> almost
> >>>>>>> certainly
> >>>>>>>>> go
> >>>>>>>>>> to
> >>>>>>>>>>>>>>> the 2.x line. Maybe there are other workable
> >> models
> >>>> but
> >>>>> my
> >>>>>>>>>> instinct
> >>>>>>>>>>>>>>> suggests this is likely to follow a similar path.
> >>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>> ...anyway I agree it isn't that easy of a call to
> >>>> dump
> >>>>> Java
> >>>>>>>> 8.
> >>>>>>>>> We
> >>>>>>>>>>>>>>> need to make the call in both the interests of
> >> the
> >>>> user
> >>>>>>> base
> >>>>>>>>> and
> >>>>>>>>>> the
> >>>>>>>>>>>>>>> contributor base of the community.
> >>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>> [1]
> >>>> https://www.jetbrains.com/lp/devecosystem-2021/java/
> >>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>> Thanks
> >>>>>>>>>>>>>>> Joe
> >>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>> On Fri, Jul 23, 2021 at 7:46 AM Joe Witt <
> >>>>>>> joe.w...@gmail.com
> >>>>>>>>>> <mailto:
> >>>>>>>>>>>>>>> joe.w...@gmail.com>> wrote:
> >>>>>>>>>>>>>>> Russ
> >>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>> Yeah the flow registry is a key part of it. But
> >>> also
> >>>>> now
> >>>>>>> you
> >>>>>>>>> can
> >>>>>>>>>>>>>>> download the flow definition in JSON (upload i
> >>> think
> >>>> is
> >>>>>>> there
> >>>>>>>>> now
> >>>>>>>>>>>>>>> too). Templates offered a series of challenges
> >> such
> >>>> as
> >>>>> we
> >>>>>>>> store
> >>>>>>>>>> them
> >>>>>>>>>>>>>>> in the flow definition which has made flows
> >> massive
> >>>> in
> >>>>> an
> >>>>>>>>>> unintended
> >>>>>>>>>>>>>>> way which isn't fun for cluster behavior.
> >>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>> We have a couple cases where we headed down a
> >>>>> particular
> >>>>>>>>> concept
> >>>>>>>>>> and
> >>>>>>>>>>>>>>> came up with better approaches later. We need to
> >>>>> reconcile
> >>>>>>>>> these
> >>>>>>>>>> with
> >>>>>>>>>>>>>>> the benefit of hindsight, and while being careful
> >>> to
> >>>> be
> >>>>> not
> >>>>>>>>>> overly
> >>>>>>>>>>>>>>> disruptive to existing users, to reduce the
> >>>>>>>>> codebase/maintenance
> >>>>>>>>>>>>>>> burden and allow continued evolution of the
> >>> project.
> >>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>> Thanks
> >>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>> On Fri, Jul 23, 2021 at 7:43 AM Russell Bateman <
> >>>>>>>>>>>> r...@windofkeltia.com
> >>>>>>>>>>>>>>> <mailto:r...@windofkeltia.com>>
> >>>>>>>>>>>>>>> wrote:
> >>>>>>>>>>>>>>> Joe,
> >>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>> I apologize for the off-topic intrusion, but what
> >>>>> replaces
> >>>>>>>>>> templates?
> >>>>>>>>>>>>>>> The Registry? Templates rocked and we have used
> >>> them
> >>>>> since
> >>>>>>>>> 0.5.x.
> >>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>> Russ
> >>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>> On 7/23/21 8:31 AM, Joe Witt wrote:
> >>>>>>>>>>>>>>> David,
> >>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>> I think this is a highly reasonable approach and
> >>>> such a
> >>>>>>> focus
> >>>>>>>>>> will
> >>>>>>>>>>>>>>> greatly help make a 2.0 release far more
> >>> approachable
> >>>>> to
> >>>>>>>> knock
> >>>>>>>>>> out.
> >>>>>>>>>>>>>>> Not only that but tech debt reduction would help
> >>> make
> >>>>> work
> >>>>>>>>>> towards
> >>>>>>>>>>>>>>> major features we'd think about in a 'major
> >>> release'
> >>>>> sense
> >>>>>>>> more
> >>>>>>>>>>>>>>> approachable.
> >>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>> We should remove all deprecated things (as well
> >> as
> >>>>> verify
> >>>>>>> we
> >>>>>>>>>> have the
> >>>>>>>>>>>>>>> right list). We should remove/consider removal of
> >>>>>>> deprecated
> >>>>>>>>>>>>>>> concepts
> >>>>>>>>>>>>>>> like templates. We should consider whether we can
> >>>>> resolve
> >>>>>>> the
> >>>>>>>>>>>>>>> various
> >>>>>>>>>>>>>>> ways we've handled what are now parameters down
> >> to
> >>>> one
> >>>>>>> clean
> >>>>>>>>>>>>>>> approach.
> >>>>>>>>>>>>>>> We should remove options in the nifi.properties
> >>> which
> >>>>> turn
> >>>>>>>> out
> >>>>>>>>> to
> >>>>>>>>>>>>>>> never be used quite right (if there are). There
> >> is
> >>>>> quite a
> >>>>>>>> bit
> >>>>>>>>> we
> >>>>>>>>>>>>>>> can
> >>>>>>>>>>>>>>> do purely in the name of tech debt reduction.
> >>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>> Lots to consider here but I think this is the
> >> right
> >>>>>>>> discussion.
> >>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>> Than ks
> >>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>> On Fri, Jul 23, 2021 at 7:26 AM Bryan Bende <
> >>>>>>>> bbe...@gmail.com
> >>>>>>>>>>>> <mailto:
> >>>>>>>>>>>>>>> bbe...@gmail.com>>
> >>>>>>>>>>>>>>> wrote:
> >>>>>>>>>>>>>>> I'm a +1 for this... Not sure if this falls under
> >>>>> "Removing
> >>>>>>>>>>>>>>> Deprecated
> >>>>>>>>>>>>>>> Components", but I think we should also look at
> >>>>> anything
> >>>>>>> that
> >>>>>>>>> has
> >>>>>>>>>>>>>>> been
> >>>>>>>>>>>>>>> marked as deprecated throughout the code base as
> >> a
> >>>>>>> candidate
> >>>>>>>>> for
> >>>>>>>>>>>>>>> removal. There are quite a few classes, methods,
> >>>>>>> properties,
> >>>>>>>>> etc
> >>>>>>>>>>>>>>> that
> >>>>>>>>>>>>>>> have been waiting for a chance to be removed.
> >>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>> On Fri, Jul 23, 2021 at 10:13 AM David Handermann
> >>>>>>>>>>>>>>> <exceptionfact...@apache.org<mailto:
> >>>>>>>>> exceptionfact...@apache.org
> >>>>>>>>>>>>
> >>>>>>>>>>>>> wrote:
> >>>>>>>>>>>>>>> Team,
> >>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>> With all of the excellent work that many have
> >>>>> contributed
> >>>>>>> to
> >>>>>>>>> NiFi
> >>>>>>>>>>>>>>> over the
> >>>>>>>>>>>>>>> years, the code base has also accumulated some
> >>> amount
> >>>>> of
> >>>>>>>>>> technical
> >>>>>>>>>>>>>>> debt. A
> >>>>>>>>>>>>>>> handful of components have been marked as
> >>> deprecated,
> >>>>> and
> >>>>>>>> some
> >>>>>>>>>>>>>>> components
> >>>>>>>>>>>>>>> remain in the code base to support integration
> >> with
> >>>> old
> >>>>>>>>> versions
> >>>>>>>>>>>>>>> of various
> >>>>>>>>>>>>>>> products. Following the principles of semantic
> >>>>> versioning,
> >>>>>>>>>>>>>>> introducing a
> >>>>>>>>>>>>>>> major release would provide the opportunity to
> >>> remove
> >>>>> these
> >>>>>>>>>>>>>>> deprecated and
> >>>>>>>>>>>>>>> unsupported components.
> >>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>> Rather than focusing the next major release on
> >> new
> >>>>>>> features,
> >>>>>>>>> what
> >>>>>>>>>>>>>>> do you
> >>>>>>>>>>>>>>> think about focusing on technical debt removal?
> >>> This
> >>>>>>> approach
> >>>>>>>>>>>>>>> would not
> >>>>>>>>>>>>>>> make for the most interesting release, but it
> >>>> provides
> >>>>> the
> >>>>>>>>>>>>>>> opportunity to
> >>>>>>>>>>>>>>> clean up elements that involve breaking changes.
> >>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>> Focusing on technical debt, at least three
> >> primary
> >>>>> goals
> >>>>>>> come
> >>>>>>>>> to
> >>>>>>>>>>>>>>> mind for
> >>>>>>>>>>>>>>> the next major release:
> >>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>> 1. Removal of deprecated and unmaintained
> >>> components
> >>>>>>>>>>>>>>> 2. Require Java 11 as the minimum supported
> >> version
> >>>>>>>>>>>>>>> 3. Transition internal date and time handling to
> >>> JSR
> >>>>> 310
> >>>>>>>>>> java.time
> >>>>>>>>>>>>>>> components
> >>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>> *Removing Deprecated Components*
> >>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>> Removing support for older and deprecated
> >>> components
> >>>>>>>> provides a
> >>>>>>>>>>>>>>> great
> >>>>>>>>>>>>>>> opportunity to improve the overall security
> >> posture
> >>>>> when it
> >>>>>>>>> comes
> >>>>>>>>>>>>>>> to
> >>>>>>>>>>>>>>> maintaining dependencies. The OWASP dependency
> >>> plugin
> >>>>>>> report
> >>>>>>>>>>>>>>> currently
> >>>>>>>>>>>>>>> generates 50 MB of HTML for questionable
> >>>> dependencies,
> >>>>> many
> >>>>>>>> of
> >>>>>>>>>>>>>>> which are
> >>>>>>>>>>>>>>> related to old versions of various libraries.
> >>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>> As a starting point, here are a handful of
> >>> components
> >>>>> and
> >>>>>>>>>>>>>>> extension modules
> >>>>>>>>>>>>>>> that could be targeted for removal in a major
> >>>> version:
> >>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>> - PostHTTP and GetHTTP
> >>>>>>>>>>>>>>> - ListenLumberjack and the entire
> >>>>> nifi-lumberjack-bundle
> >>>>>>>>>>>>>>> - ListenBeats and the entire nifi-beats-bundle
> >>>>>>>>>>>>>>> - Elasticsearch 5 components
> >>>>>>>>>>>>>>> - Hive 1 and 2 components
> >>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>> *Requiring Java 11*
> >>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>> Java 8 is now over seven years old, and NiFi has
> >>>>> supported
> >>>>>>>>>> general
> >>>>>>>>>>>>>>> compatibility with Java 11 for several years.
> >> NiFi
> >>>>> 1.14.0
> >>>>>>>>>>>>>>> incorporated
> >>>>>>>>>>>>>>> internal improvements specifically related to TLS
> >>>> 1.3,
> >>>>>>> which
> >>>>>>>>>>>>>>> allowed
> >>>>>>>>>>>>>>> closing out the long-running Java 11
> >> compatibility
> >>>> epic
> >>>>>>>>>> NIFI-5174.
> >>>>>>>>>>>>>>> Making
> >>>>>>>>>>>>>>> Java 11 the minimum required version provides the
> >>>>>>> opportunity
> >>>>>>>>> to
> >>>>>>>>>>>>>>> address
> >>>>>>>>>>>>>>> any lingering edge cases and put NiFi in a better
> >>>>> position
> >>>>>>> to
> >>>>>>>>>>>>>>> support
> >>>>>>>>>>>>>>> current Java versions.
> >>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>> *JSR 310 for Date and Time Handling*
> >>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>> Without making the scope too broad, transitioning
> >>>>> internal
> >>>>>>>> date
> >>>>>>>>>>>>>>> and time
> >>>>>>>>>>>>>>> handling to use DateTimeFormatter instead of
> >>>>>>> SimpleDateFormat
> >>>>>>>>>>>>>>> would provide
> >>>>>>>>>>>>>>> a number of advantages. The Java Time components
> >>>>> provide
> >>>>>>> much
> >>>>>>>>>>>>>>> better
> >>>>>>>>>>>>>>> clarity when it comes to handling localized date
> >>> and
> >>>>> time
> >>>>>>>>>>>>>>> representations,
> >>>>>>>>>>>>>>> and also avoid the inherent confusion of
> >>>> java.sql.Date
> >>>>>>>>> extending
> >>>>>>>>>>>>>>> java.util.Date. Many internal components,
> >>>> specifically
> >>>>>>>>>>>>>>> Record-oriented
> >>>>>>>>>>>>>>> processors and services, rely on date parsing,
> >>>> leading
> >>>>> to
> >>>>>>>>>>>>>>> confusion and
> >>>>>>>>>>>>>>> various workarounds. The pattern formats of
> >>>>>>> SimpleDateFormat
> >>>>>>>>> and
> >>>>>>>>>>>>>>> DateTimeFormatter are very similar, but there
> >> are a
> >>>> few
> >>>>>>>> subtle
> >>>>>>>>>>>>>>> differences.
> >>>>>>>>>>>>>>> Making this transition would provide a much
> >> better
> >>>>>>> foundation
> >>>>>>>>>>>>>>> going forward.
> >>>>>>>>>>>>>>> *Conclusion*
> >>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>> Thanks for giving this proposal some
> >> consideration.
> >>>>> Many of
> >>>>>>>> you
> >>>>>>>>>>>>>>> have been
> >>>>>>>>>>>>>>> developing NiFi for years and I look forward to
> >>> your
> >>>>>>>> feedback.
> >>>>>>>>> I
> >>>>>>>>>>>>>>> would be
> >>>>>>>>>>>>>>> glad to put together a more formalized
> >>> recommendation
> >>>>> on
> >>>>>>>>>>>>>>> Confluence and
> >>>>>>>>>>>>>>> write up Jira epics if this general approach
> >> sounds
> >>>>>>> agreeable
> >>>>>>>>> to
> >>>>>>>>>>>>>>> the
> >>>>>>>>>>>>>>> community.
> >>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>> Regards,
> >>>>>>>>>>>>>>> David Handermann
> >>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>
> >>>>>>>>>>>>>
> >>>>>>>>>>>>
> >>>>>>>>>>
> >>>>>>>>>
> >>>>>>>>
> >>>>>>>
> >>>>
> >>>
> >>
>

Reply via email to