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