+1
Thanks for driving this!

Best,
Yangze Guo

On Thu, Dec 17, 2020 at 2:39 PM Igal Shilman <i...@ververica.com> wrote:
>
> +1 it works really well in StateFun for quite some time.
>
> On Thursday, December 17, 2020, Wei Zhong <weizhong0...@gmail.com> wrote:
>
> > +1 for the coding style automation. Thanks for driving this!
> >
> > Best,
> > Wei
> >
> > > 在 2020年12月17日,10:10,Xingbo Huang <hxbks...@gmail.com> 写道:
> > >
> > > +1 asap. Spotless can greatly help us save the time of fixing checkstyle
> > > errors.
> > >
> > > Best,
> > > Xingbo
> > >
> > > Kostas Kloudas <kklou...@gmail.com> 于2020年12月17日周四 上午4:14写道:
> > >
> > >> +1 asap from my side as well.
> > >>
> > >> On Wed, Dec 16, 2020 at 8:04 PM Arvid Heise <ar...@ververica.com>
> > wrote:
> > >>>
> > >>> +1 asap.
> > >>>
> > >>> On Wed, Dec 16, 2020 at 7:44 PM Robert Metzger <rmetz...@apache.org>
> > >> wrote:
> > >>>
> > >>>> +1
> > >>>>
> > >>>> Thanks for driving this.
> > >>>>
> > >>>> On Wed, Dec 16, 2020 at 7:33 PM Chesnay Schepler <ches...@apache.org>
> > >>>> wrote:
> > >>>>
> > >>>>> +1 to set this up ASAP. Now's a good time to (finally) finalize this
> > >>>>> effort with a new release cycle having started and
> > >> christmas/vacations
> > >>>>> being around the corner.
> > >>>>>
> > >>>>> On 12/16/2020 7:20 PM, Aljoscha Krettek wrote:
> > >>>>>> Let's try and conclude this discussion! I've prepared a PoC that
> > >> uses
> > >>>>>> Spotless with google-java-format to do the formatting:
> > >>>>>> https://github.com/aljoscha/flink/commits/flink-xxx-spotless
> > >>>>>>
> > >>>>>> To summarize from earlier discussion, the main benefits are:
> > >>>>>> - no more worrying about code style, both as reviewer and
> > >> implementer
> > >>>>>> - everyone can configure their IDE to auto-format, there will
> > >> never
> > >>>>>> be unrelated formatting changes
> > >>>>>>
> > >>>>>> Also, this uses git's blame.ignoreRevsFile to add a file that tells
> > >>>>>> git blame/IntelliJ to ignore the refactoring commit. However, you
> > >> need
> > >>>>>> to manually configure your git for that using:
> > >>>>>>
> > >>>>>> $ git config blame.ignoreRevsFile .git-blame-ignore-revs
> > >>>>>>
> > >>>>>> You can check out the PoC, look at the code in an IDE, play around
> > >>>>>> with blame/annotations.
> > >>>>>>
> > >>>>>> By the way, the coding style is not configurable, it’s the Google
> > >> Java
> > >>>>>> Style, wich uses spaces for indentation. In an IDE or on github the
> > >>>>>> code looks barely different from the previous formatting at a first
> > >>>>>> glance.
> > >>>>>>
> > >>>>>> For IDE setup, I will add a guide in the README but it boils down
> > >> to:
> > >>>>>>
> > >>>>>> - install the google-java-format plugin, enable it
> > >>>>>> - install the Save Actions plugin, enable "Optimize Imports" and
> > >>>>>> "Reformat File"
> > >>>>>>
> > >>>>>> With this, every time you save, formatting will be applied
> > >>>>>> automatically. You will never see formatting complaints from CI
> > >>>>>> (except for cases where you break semantical checkstyle rules,
> > >> such as
> > >>>>>> using certain imports that we don't allow.).
> > >>>>>>
> > >>>>>> What do you think?
> > >>>>>>
> > >>>>>> Best,
> > >>>>>> Aljoscha
> > >>>>>>
> > >>>>>> On 19.10.20 12:36, Aljoscha Krettek wrote:
> > >>>>>>> I don't like checkstyle because it cannot be easily applied from
> > >> the
> > >>>>>>> commandline. I'm happy to learn otherwise, though. And I'd also be
> > >>>>>>> very happy about alternative suggestions that can do that.
> > >>>>>>>
> > >>>>>>> Right now, I think Spotless is the most straightforward tool for
> > >>>>>>> that. Also I don't care so much about what style we choose in the
> > >>>>>>> end. (If we choose one). My main motivation is that we have a
> > >> common,
> > >>>>>>> strict style that can easily applied via tooling so that we no
> > >> longer
> > >>>>>>> need to comment on coding style in PRs.
> > >>>>>>>
> > >>>>>>> Aljoscha
> > >>>>>>>
> > >>>>>>> On 09.10.20 11:11, tison wrote:
> > >>>>>>>> +1 on locking on one codestyle and I think that is what current
> > >>>>>>>> checkstyle
> > >>>>>>>> rules serving.
> > >>>>>>>>
> > >>>>>>>> For automatic applying part, we suggest developing by IDEA and
> > >> with
> > >>>>>>>> Checkstyle Plugin on IDEA applying checkstyle suggestion is also
> > >>>>>>>> automatic.
> > >>>>>>>>
> > >>>>>>>> One short coming for spotless is that we can hardly adjust rules
> > >> if
> > >>>> the
> > >>>>>>>> project has its own issues to overcome. IIRC only several
> > >>>>>>>> pre-defined rules
> > >>>>>>>> and a clumsy general regex substitution rule can be used.
> > >>>>>>>>
> > >>>>>>>> FYI my team started with spotless but ended up with checkstyle
> > >> with
> > >>>> few
> > >>>>>>>> rules and Checkstyle Plugin for automation.
> > >>>>>>>>
> > >>>>>>>> Codestyle, in another perspective, is part of cognition of
> > >> developers
> > >>>>>>>> working in project, not something we just apply before pull
> > >> request.
> > >>>> No
> > >>>>>>>> matter how much automation introduced, most of developers will
> > >>>> converge
> > >>>>>>>> working with the configured codestyle.
> > >>>>>>>>
> > >>>>>>>> Best,
> > >>>>>>>> tison.
> > >>>>>>>>
> > >>>>>>>>
> > >>>>>>>> Kostas Kloudas <kklou...@gmail.com> 于2020年10月7日周三 下午6:37写道:
> > >>>>>>>>
> > >>>>>>>>> Hi all,
> > >>>>>>>>>
> > >>>>>>>>> +1 for enforcing "a" codestyle using "a" tool.
> > >>>>>>>>>
> > >>>>>>>>> As the project grows both in terms of LOCs and contributors,
> > >> this
> > >>>>>>>>> becomes more and more important as it eliminates some potential
> > >>>> points
> > >>>>>>>>> of friction without any additional effort.
> > >>>>>>>>>
> > >>>>>>>>> From the discussion, I am leaning towards having a single
> > >> commit
> > >>>> with
> > >>>>>>>>> all the codestyle-related changes. This will avoid sprinkling
> > >>>>>>>>> refactoring commits all over the place for the next year or
> > >> more.
> > >>>> But
> > >>>>>>>>> if this is the price to pay for having consensus on a tool,
> > >> then I
> > >>>> am
> > >>>>>>>>> ok with gradual implementation. I believe that the value added
> > >> by
> > >>>>>>>>> having an automated process of enforcing a codestyle exceeds the
> > >>>> cost
> > >>>>>>>>> of the nuisance of gradual refactoring.
> > >>>>>>>>>
> > >>>>>>>>> As for the actual format, I like the google-java-format but
> > >> again,
> > >>>> if
> > >>>>>>>>> the community agrees on a different one I would not oppose that
> > >> (as
> > >>>>>>>>> long as it does not use the same amount of indentation for
> > >> method
> > >>>> args
> > >>>>>>>>> and method body :P).
> > >>>>>>>>>
> > >>>>>>>>> Cheers,
> > >>>>>>>>> Kostas
> > >>>>>>>>>
> > >>>>>>>>> On Wed, Oct 7, 2020 at 10:26 AM Chesnay Schepler <
> > >>>> ches...@apache.org>
> > >>>>>>>>> wrote:
> > >>>>>>>>>>
> > >>>>>>>>>> To me, ratchet seems to combine the worst aspects of both
> > >>>> approaches.
> > >>>>>>>>>> You get disruptive changes, but only in singular files,
> > >>>>>>>>>> for something mundane as a typo fix or import change, which
> > >> would
> > >>>> be
> > >>>>>>>>>> annoying to keep separate from the actual functional changes
> > >> in a
> > >>>> PR.
> > >>>>>>>>>>
> > >>>>>>>>>> On 10/7/2020 10:04 AM, Matthias Pohl wrote:
> > >>>>>>>>>>> I find the ratchet feature you're suggesting interesting. But
> > >>>> Arvid
> > >>>>>>>>> has a
> > >>>>>>>>>>> point referring to the blog post about ignoring revisions in
> > >> git
> > >>>>>>>>>>> blame
> > >>>>>>>>> [1].
> > >>>>>>>>>>> Adding the configuration file for commits to ignore revs as
> > >>>> proposed
> > >>>>>>>>> in the
> > >>>>>>>>>>> blog post makes it even easier. One problem I see is that
> > >> this is
> > >>>>>>>>>>> not
> > >>>>>>>>>>> supported by Github (yet?) [2] as mentioned in [1].
> > >>>>>>>>>>>
> > >>>>>>>>>>> Considering all that I prefer applying the code style in one
> > >> go. I
> > >>>>>>>>> have no
> > >>>>>>>>>>> strong opinion on what codestyle is the best.
> > >>>>>>>>>>>
> > >>>>>>>>>>> PS: We used spotless in the project I previously worked on.
> > >> It was
> > >>>>>>>>>>> convenient to use.
> > >>>>>>>>>>>
> > >>>>>>>>>>> [1]
> > >>>>>>>>>>>
> > >>>>>>>>>
> > >>>>>
> > >>>>
> > >> https://www.moxio.com/blog/43/ignoring-bulk-change-commits-
> > with-git-blame
> > >>>>>>>>>
> > >>>>>>>>>>> [2]
> > >>>>>>>>>>>
> > >>>>>>>>>
> > >>>>>
> > >>>>
> > >> https://github.community/t/support-ignore-revs-file-in-
> > githubs-blame-view/3256
> > >>>>>>>>>
> > >>>>>>>>>>>
> > >>>>>>>>>>> On Tue, Oct 6, 2020 at 6:00 PM Aljoscha Krettek
> > >>>>>>>>>>> <aljos...@apache.org>
> > >>>>>>>>> wrote:
> > >>>>>>>>>>>
> > >>>>>>>>>>>> Maybe I wasn't very clear on how the ratchet works. The
> > >> changes
> > >>>> are
> > >>>>>>>>>>>> gradual yes, but it doesn't leave you an option: if you
> > >> touch a
> > >>>>>>>>>>>> file
> > >>>>>>>>> you
> > >>>>>>>>>>>> will it will have to conform to the coding style afterwards.
> > >>>>>>>>>>>> It's not
> > >>>>>>>>>>>> like the previous gradual process we had before where it
> > >> would be
> > >>>>>>>>> based
> > >>>>>>>>>>>> on people actively working towards a style.
> > >>>>>>>>>>>>
> > >>>>>>>>>>>> That being said, I also completely like the option of just
> > >> doing
> > >>>>>>>>>>>> one
> > >>>>>>>>> big
> > >>>>>>>>>>>> change commit.
> > >>>>>>>>>>>>
> > >>>>>>>>>>>> Regarding actual coding styles: we're a bit limited by what
> > >> tools
> > >>>>>>>>> exist.
> > >>>>>>>>>>>> I like Spotless because it can be used to both check and
> > >> apply a
> > >>>>>>>>> style.
> > >>>>>>>>>>>> Then you need a formatter that works with Spotless and of
> > >> those
> > >>>> we
> > >>>>>>>>> only
> > >>>>>>>>>>>> have the Eclipse Formatter, google-java-format, and Prettier.
> > >>>>>>>>>>>> Prettier
> > >>>>>>>>>>>> is a Javascript tool that I would like to avoid. Eclipse is
> > >>>>>>>>>>>> doable but
> > >>>>>>>>>>>> you need to fiddle with configuration files. I like
> > >>>>>>>>>>>> google-java-format
> > >>>>>>>>>>>> because of it's take-it-or-leave-it approach. You either use
> > >> the
> > >>>>>>>>>>>> style
> > >>>>>>>>>>>> or you don't but it's very thorough. The downside is that it
> > >>>>>>>>>>>> won't do
> > >>>>>>>>>>>> tabs-only formatting.
> > >>>>>>>>>>>>
> > >>>>>>>>>>>> Best,
> > >>>>>>>>>>>> Aljoscha
> > >>>>>>>>>>>>
> > >>>>>>>>>>>> On 06.10.20 17:43, Arvid Heise wrote:
> > >>>>>>>>>>>>> After having written that I did a quick search, you can even
> > >>>>>>>>>>>>> use git
> > >>>>>>>>>>>> blame
> > >>>>>>>>>>>>> with one big massive change commit [1], which would further
> > >>>>>>>>>>>>> help the
> > >>>>>>>>> idea
> > >>>>>>>>>>>>> of "just get over with it".
> > >>>>>>>>>>>>>
> > >>>>>>>>>>>>> With that option, I'd even change all whitespaces if the
> > >>>> community
> > >>>>>>>>> thinks
> > >>>>>>>>>>>>> that it's a better option (a separate discussion that I'll
> > >>>> gladly
> > >>>>>>>>> skip).
> > >>>>>>>>>>>>>
> > >>>>>>>>>>>>> [1]
> > >>>>>>>>>>>>>
> > >>>>>>>>>>>>
> > >>>>>>>>>
> > >>>>>
> > >>>>
> > >> https://www.moxio.com/blog/43/ignoring-bulk-change-commits-
> > with-git-blame
> > >>>>>>>>>
> > >>>>>>>>>>>>> On Tue, Oct 6, 2020 at 5:38 PM Arvid Heise <
> > >> ar...@ververica.com
> > >>>>>
> > >>>>>>>>> wrote:
> > >>>>>>>>>>>>>
> > >>>>>>>>>>>>>> I'm also +1 for automatically enforceable code style.
> > >>>>>>>>>>>>>>
> > >>>>>>>>>>>>>> I also would just go over it as Chesnay said. While it
> > >> makes
> > >>>> some
> > >>>>>>>>>>>> changes
> > >>>>>>>>>>>>>> a bit harder to track (inline git blame), it's easy to skip
> > >>>>>>>>>>>>>> over in
> > >>>>>>>>> any
> > >>>>>>>>>>>> git
> > >>>>>>>>>>>>>> history and if it's only one massive commit, then it's also
> > >>>> much
> > >>>>>>>>> easier
> > >>>>>>>>>>>> to
> > >>>>>>>>>>>>>> ignore than many gradual changes. Further, if we just do it
> > >>>> once,
> > >>>>>>>>> git
> > >>>>>>>>>>>> blame
> > >>>>>>>>>>>>>> will quickly become more reliable again.
> > >>>>>>>>>>>>>>
> > >>>>>>>>>>>>>> Btw I completely don't care about the code style as long
> > >> as it
> > >>>>>>>>>>>>>> plays
> > >>>>>>>>>>>> well
> > >>>>>>>>>>>>>> with IntelliJ (it used to be different, but things change
> > >> :p).
> > >>>>>>>>>>>>>>
> > >>>>>>>>>>>>>> On Tue, Oct 6, 2020 at 5:23 PM Chesnay Schepler
> > >>>>>>>>>>>>>> <ches...@apache.org
> > >>>>>>>>>>
> > >>>>>>>>>>>>>> wrote:
> > >>>>>>>>>>>>>>
> > >>>>>>>>>>>>>>> We shouldn't switch to spaces _now_; cutting this bit from
> > >>>> your
> > >>>>>>>>>>>> proposal
> > >>>>>>>>>>>>>>> will massively simplify things and there's hardly any
> > >> value in
> > >>>>>>>>> changing
> > >>>>>>>>>>>>>>> it.
> > >>>>>>>>>>>>>>>
> > >>>>>>>>>>>>>>> Also I'm getting rather tired of this constant idea of
> > >>>> "gradual
> > >>>>>>>>>>>>>>> application". We've been doing this for 2-3 years now
> > >> since we
> > >>>>>>>>>>>>>>> introduced Checkstyle and basically got nowhere. We should
> > >>>> just
> > >>>>>>>>> bite
> > >>>>>>>>>>>> the
> > >>>>>>>>>>>>>>> bullet and get it over with; we could've solved this whole
> > >>>>>>>>>>>>>>> problem
> > >>>>>>>>>>>>>>> already.
> > >>>>>>>>>>>>>>>
> > >>>>>>>>>>>>>>> In conclusion, I'm +1 on finally locking down the
> > >> codestyle
> > >>>> and
> > >>>>>>>>>>>> applying
> > >>>>>>>>>>>>>>> it immediately, I'm -1 on any gradual application scheme
> > >>>> because
> > >>>>>>>>> they
> > >>>>>>>>>>>>>>> _just don't work_.
> > >>>>>>>>>>>>>>>
> > >>>>>>>>>>>>>>> On 10/6/2020 2:15 PM, Aljoscha Krettek wrote:
> > >>>>>>>>>>>>>>>> Hi All,
> > >>>>>>>>>>>>>>>>
> > >>>>>>>>>>>>>>>> I know I know, but please keep reading because I recently
> > >>>>>>>>>>>>>>>> learned
> > >>>>>>>>>>>>>>>> about some new developments in the area of coding-style
> > >>>>>>>>> automation.
> > >>>>>>>>>>>>>>>>
> > >>>>>>>>>>>>>>>> The tool I would propose we use is Spotless
> > >>>>>>>>>>>>>>>> (https://github.com/diffplug/spotless). This doesn't
> > >> come
> > >>>>>>>>>>>>>>>> with a
> > >>>>>>>>>>>>>>>> formatter but allows using other popular formatters such
> > >> as
> > >>>>>>>>>>>>>>>> google-java-format. The nice thing about Spotless is
> > >> that it
> > >>>>>>>>> serves as
> > >>>>>>>>>>>>>>>> a verifier for CI but can also apply the configured style
> > >>>>>>>>>>>>>>>> automatically. That is, for the programmer all she has
> > >> to do
> > >>>> is
> > >>>>>>>>> `mvn
> > >>>>>>>>>>>>>>>> spotless:apply` to fix any style violations.
> > >>>>>>>>>>>>>>>>
> > >>>>>>>>>>>>>>>> An interesting feature, which was (somewhat) recently
> > >> added
> > >>>> is
> > >>>>>>>>>>>>>>>> "ratchet"
> > >>>>>>>>>>>>>>>> (
> > >>>>>>>>>>>>
> > >>>>>>>>>
> > >>>>>
> > >>>>
> > >> https://github.com/diffplug/spotless/blob/main/plugin-
> > maven/README.md#ratchet
> > >>>>>>>>>
> > >>>>>>>>>>>> ).
> > >>>>>>>>>>>>>>>> With this, you can set up Spotless to only apply it's
> > >> rules
> > >>>> to
> > >>>>>>>>> files
> > >>>>>>>>>>>>>>>> that were changed after a configured commit. This would
> > >>>> allow a
> > >>>>>>>>>>>>>>>> gradual application of the new coding style instead of
> > >> one
> > >>>> big
> > >>>>>>>>> change.
> > >>>>>>>>>>>>>>>>
> > >>>>>>>>>>>>>>>> If we decide to use Spotless, we would of course also
> > >> have to
> > >>>>>>>>> decide
> > >>>>>>>>>>>>>>>> on a coding style. For this I would propose
> > >>>> google-java-format,
> > >>>>>>>>> which
> > >>>>>>>>>>>>>>>> the flink-statefun project uses. The main difference
> > >> from our
> > >>>>>>>>> current
> > >>>>>>>>>>>>>>>> "style" is that this uses spaces instead of tabs for
> > >>>>>>>>>>>>>>>> indentation.
> > >>>>>>>>> By
> > >>>>>>>>>>>>>>>> default it would be 2 spaces but it can be configured to
> > >> use
> > >>>> 4
> > >>>>>>>>> spaces
> > >>>>>>>>>>>>>>>> which would make code look more or less like our current
> > >>>> style.
> > >>>>>>>>> There
> > >>>>>>>>>>>>>>>> are no more configuration knobs, so using tabs is not an
> > >>>>>>>>>>>>>>>> option.
> > >>>>>>>>>>>>>>>>
> > >>>>>>>>>>>>>>>> Finally, why should we do this? I think most engineers
> > >> agree
> > >>>>>>>>>>>>>>>> that
> > >>>>>>>>>>>>>>>> having a common enforced style is good to have so I only
> > >>>>>>>>>>>>>>>> want to
> > >>>>>>>>>>>>>>>> highlight a few thoughts here about things we could
> > >> improve:
> > >>>>>>>>>>>>>>>>
> > >>>>>>>>>>>>>>>>    - No more nits about coding style in reviews, this
> > >> makes
> > >>>> it
> > >>>>>>>>> easier
> > >>>>>>>>>>>>>>>> for both the reviewer and developer
> > >>>>>>>>>>>>>>>>
> > >>>>>>>>>>>>>>>>    - No manual fixing of Checkstyle errors because
> > >> Spotless
> > >>>>>>>>>>>>>>>> can
> > >>>>>>>>> do that
> > >>>>>>>>>>>>>>>> automatically
> > >>>>>>>>>>>>>>>>
> > >>>>>>>>>>>>>>>>    - Because Flink is such a big project little islands
> > >> of
> > >>>>>>>>>>>>>>>> coding
> > >>>>>>>>> style
> > >>>>>>>>>>>>>>>> have formed between people that commonly work on
> > >> components.
> > >>>> It
> > >>>>>>>>> can be
> > >>>>>>>>>>>>>>>> a nuisance when you work on a different component and
> > >> then
> > >>>>>>>>> reviewers
> > >>>>>>>>>>>>>>>> don't like your typical coding style. And you first have
> > >> to
> > >>>> get
> > >>>>>>>>> used
> > >>>>>>>>>>>>>>>> to the slight differences in style when reading code.
> > >>>>>>>>>>>>>>>>
> > >>>>>>>>>>>>>>>> There are also downsides I see in this:
> > >>>>>>>>>>>>>>>>
> > >>>>>>>>>>>>>>>>    - We break the history, but both "git blame" and
> > >> modern
> > >>>>>>>>> IntelliJ can
> > >>>>>>>>>>>>>>>> ignore whitespace when attributing changes. So for files
> > >>>>>>>>>>>>>>>> that are
> > >>>>>>>>>>>>>>>> already "well" formatted not much would change.
> > >>>>>>>>>>>>>>>>
> > >>>>>>>>>>>>>>>>    - In the short-term it will be harder to apply
> > >> changes
> > >>>>>>>>>>>>>>>> both to
> > >>>>>>>>>>>> master
> > >>>>>>>>>>>>>>>> and one of the release-x branches because formatting
> > >> will be
> > >>>>>>>>>>>>>>>> different. I think this is not too hard though because
> > >>>> Spotless
> > >>>>>>>>> can
> > >>>>>>>>>>>>>>>> automatically apply the style.
> > >>>>>>>>>>>>>>>>
> > >>>>>>>>>>>>>>>> In summary, we would have some short-term pain with this
> > >> but
> > >>>> I
> > >>>>>>>>> think
> > >>>>>>>>>>>>>>>> it would be good in the long run. What are your thoughts?
> > >>>>>>>>>>>>>>>>
> > >>>>>>>>>>>>>>>> Best,
> > >>>>>>>>>>>>>>>> Aljoscha
> > >>>>>>>>>>>>>>>>
> > >>>>>>>>>>>>>>>
> > >>>>>>>>>>>>>> --
> > >>>>>>>>>>>>>>
> > >>>>>>>>>>>>>> Arvid Heise | Senior Java Developer
> > >>>>>>>>>>>>>>
> > >>>>>>>>>>>>>> <https://www.ververica.com/>
> > >>>>>>>>>>>>>>
> > >>>>>>>>>>>>>> Follow us @VervericaData
> > >>>>>>>>>>>>>>
> > >>>>>>>>>>>>>> --
> > >>>>>>>>>>>>>>
> > >>>>>>>>>>>>>> Join Flink Forward <https://flink-forward.org/> - The
> > >> Apache
> > >>>>>>>>>>>>>> Flink
> > >>>>>>>>>>>>>> Conference
> > >>>>>>>>>>>>>>
> > >>>>>>>>>>>>>> Stream Processing | Event Driven | Real Time
> > >>>>>>>>>>>>>>
> > >>>>>>>>>>>>>> --
> > >>>>>>>>>>>>>>
> > >>>>>>>>>>>>>> Ververica GmbH | Invalidenstrasse 115, 10115 Berlin,
> > >> Germany
> > >>>>>>>>>>>>>>
> > >>>>>>>>>>>>>> --
> > >>>>>>>>>>>>>> Ververica GmbH
> > >>>>>>>>>>>>>> Registered at Amtsgericht Charlottenburg: HRB 158244 B
> > >>>>>>>>>>>>>> Managing Directors: Timothy Alexander Steinert, Yip Park
> > >> Tung
> > >>>>>>>>> Jason, Ji
> > >>>>>>>>>>>>>> (Toni) Cheng
> > >>>>>>>>>>>>>>
> > >>>>>>>>>>>>>
> > >>>>>>>>>>
> > >>>>>>>>>
> > >>>>>>>>
> > >>>>>>>
> > >>>>>>
> > >>>>>>
> > >>>>>
> > >>>>>
> > >>>>
> > >>>
> > >>>
> > >>> --
> > >>>
> > >>> Arvid Heise | Senior Java Developer
> > >>>
> > >>> <https://www.ververica.com/>
> > >>>
> > >>> Follow us @VervericaData
> > >>>
> > >>> --
> > >>>
> > >>> Join Flink Forward <https://flink-forward.org/> - The Apache Flink
> > >>> Conference
> > >>>
> > >>> Stream Processing | Event Driven | Real Time
> > >>>
> > >>> --
> > >>>
> > >>> Ververica GmbH | Invalidenstrasse 115, 10115 Berlin, Germany
> > >>>
> > >>> --
> > >>> Ververica GmbH
> > >>> Registered at Amtsgericht Charlottenburg: HRB 158244 B
> > >>> Managing Directors: Timothy Alexander Steinert, Yip Park Tung Jason, Ji
> > >>> (Toni) Cheng
> > >>
> >
> >

Reply via email to