I did a release check for license issues - all in all, we need a new RC.

The only blocker I found was the missing jquery license file.

Another somewhat critical thing is that "statefun-flink-distribution"
bundles many unwanted dependencies.
  - Because the shading merges the notice files, this is not a legal issue.
  - Because Flinks inverted classloading still uses "parent-first" for all
"org.apache.flink.*" classes, this does not break the system
But it is unwanted behavior and makes the artifacts unnecessarily large.

I opened FLINK-16891 - FLINK-16897 for the issues I found.
All issues are fixed in this PR:
https://github.com/apache/flink-statefun/pull/85



On Tue, Mar 31, 2020 at 7:17 PM Stephan Ewen <se...@apache.org> wrote:

> I have found a few things, am preparing a joint PR to fix them.
>
> So far, only the missing jquery license would have been a release blocker.
>
> On Tue, Mar 31, 2020 at 6:24 PM Chesnay Schepler <ches...@apache.org>
> wrote:
>
>> The jquery license is in fact missing from the master/release-1.10
>> branches. https://issues.apache.org/jira/browse/FLINK-16888
>>
>>
>> On 31/03/2020 12:18, Chesnay Schepler wrote:
>> > For Kafka we traditionally exclude the NOTICE file since as far as we
>> > can tell it is misleading anyway, see the flink-sql-connector-kafka
>> > modules.
>> >
>> > @Robert for the Flink project the jquery license is in the source at
>> > licenses/LICENSE.jquery
>> >
>> > I'm a bit concerned just how many licensing issues are showing up in
>> > these RCs. I would suggest to do a proper scan of the licensing before
>> > opening another RC.
>> >
>> > And yes, the missing MIT license is grounds for cancellation, hence, -1.
>> >
>> > On 31/03/2020 11:56, Robert Metzger wrote:
>> >> Thanks a lot Gordon!
>> >>
>> >> Checked:
>> >> - files in the staging repository seem to be ok (no unexpected files,
>> >> versions set correctly, quickstart archetype looks ok)
>> >> - statefun-ridesharing-example-simulator-2.0.0.jar (and
>> >>
>> /org/apache/flink/statefun-flink-distribution/2.0.0/statefun-flink-distribution-2.0.0.jar)
>>
>> >>
>> >> contains a NOTICE file in the root which seems to come from Apache
>> >> Kafka.
>> >> The file states
>> >>
>> >>> This distribution has a binary dependency on jersey, which is
>> available
>> >>> under the CDDL
>> >>> License. The source code of jersey can be found at
>> >>> https://github.com/jersey/jersey/.
>> >> This text is not mentioned in our NOTICE file (which is located in
>> >> META-INF/NOTICE).
>> >> I'm not a lawyer, but the NOTICE file situation might be confusing in
>> >> that
>> >> jar. The first NOTICE file you see is from Kafka. If we argue that
>> >> this is
>> >> not the right file,
>> >> because that one is located in META-INF/NOTICE, then we might be at
>> >> risk of
>> >> not having properly forwarded Kafka's NOTICE file.
>> >> I believe this is okay, as we somehow include all the necessary
>> >> information, but we should address this in the next release (or if
>> >> this RC
>> >> gets cancelled again).
>> >> I'm also curious to hear the opinion of others on this.
>> >>
>> >> - The source release contains "docs/page/js/jquery.min.js", which is
>> MIT
>> >> licensed. The MIT license requires us to ship a copy of the license
>> with
>> >> each copy of the source.
>> >> apache/flink also has this file:
>> >> https://github.com/apache/flink/blob/master/docs/page/js/jquery.min.js,
>>
>> >> but
>> >> it ships the jquery license in the "licenses/" folder (even though this
>> >> file is not in git, I guess it's added during release generation?!)
>> >>
>> >> I believe we have to cancel this RC because of the missing license
>> >> file in
>> >> the source distribution? I'm not voting on this RC, in case I have
>> >> overlooked something and we can continue.
>> >>
>> >>
>> >> On Tue, Mar 31, 2020 at 9:31 AM Tzu-Li (Gordon) Tai
>> >> <tzuli...@apache.org>
>> >> wrote:
>> >>
>> >>> ======= NOTICE =======
>> >>>
>> >>> For your testing, please continue to use this staging area for the
>> >>> Maven
>> >>> artifacts:
>> >>>
>> https://repository.apache.org/content/repositories/orgapacheflink-1344/
>> >>>
>> >>> The only difference between this staging repo and the original repo
>> >>> posted
>> >>> in this thread (
>> >>>
>> https://repository.apache.org/content/repositories/orgapacheflink-1343/)
>> >>>
>> >>> is that a few unintended source release distributions have been
>> removed
>> >>> from the Maven repo staging area.
>> >>> Those should not be built and published by Maven, since we use our own
>> >>> tools to build the source distributions (staged at
>> >>>
>> https://dist.apache.org/repos/dist/dev/flink/flink-statefun-2.0.0-rc4/).
>> >>>
>> >>>
>> >>> Since this does not affect any code in the project, and the staged
>> >>> Maven
>> >>> artifacts are still built with the same commit hash as the source
>> >>> distribution,
>> >>> this RC vote will continue to run until the original vote end time.
>> >>>
>> >>> All previous votes in this thread will still be accounted for.
>> >>>
>> >>> On Tue, Mar 31, 2020 at 2:57 PM Tzu-Li (Gordon) Tai
>> >>> <tzuli...@apache.org>
>> >>> wrote:
>> >>>
>> >>>> Sounds good, I'll post a new link to this vote thread, which will
>> have
>> >>> the
>> >>>> problem fixed in a new maven staging repository.
>> >>>>
>> >>>> On Tue, Mar 31, 2020 at 2:51 PM Robert Metzger <rmetz...@apache.org>
>> >>>> wrote:
>> >>>>
>> >>>>> Thank you for looking into this.
>> >>>>>
>> >>>>> I'm fine with keeping this RC open, but re-vote on a new maven
>> >>>>> staging
>> >>>>> repository.
>> >>>>>
>> >>>>> On Tue, Mar 31, 2020 at 8:42 AM Tzu-Li (Gordon) Tai <
>> >>> tzuli...@apache.org>
>> >>>>> wrote:
>> >>>>>
>> >>>>>> Found the culprit:
>> >>>>>>
>> >>>>>> The Stateful Functions project uses the Apache POM as the parent
>> >>>>>> POM,
>> >>>>> and
>> >>>>>> uses the `apache-release` build profile to build the staging jars.
>> >>>>>>
>> >>>>>> The problem arises because the `apache-release` build profile
>> itself
>> >>>>>> bundles a source release distribution to be released to Maven.
>> >>>>>> This should be disabled specifically for us, because we use our own
>> >>>>> tooling
>> >>>>>> (tools/releasing/create_source_release.sh) to create the source
>> >>> tarballs
>> >>>>>> which does correctly exclude all those unexpected files Robert
>> >>>>>> found.
>> >>>>>>
>> >>>>>> Will rebuild the RC. I think in this case, it's completely fine to
>> >>> keep
>> >>>>>> with the original voting end time, since nothing is really touched,
>> >>> only
>> >>>>>> excluding some files from the staging Maven repository.
>> >>>>>>
>> >>>>>> On Tue, Mar 31, 2020 at 2:29 PM Tzu-Li (Gordon) Tai <
>> >>>>> tzuli...@apache.org>
>> >>>>>> wrote:
>> >>>>>>
>> >>>>>>> Hi Robert,
>> >>>>>>>
>> >>>>>>> I think you're right. There should be no tarballs / jars packaged
>> >>> for
>> >>>>>>> statefun-parent actually, only the pom file since that's the
>> parent
>> >>>>>> module
>> >>>>>>> which only has pom packaging.
>> >>>>>>> I'm looking into it.
>> >>>>>>>
>> >>>>>>> On Tue, Mar 31, 2020 at 2:23 PM Robert Metzger <
>> rmetz...@apache.org
>> >>>>>>> wrote:
>> >>>>>>>
>> >>>>>>>> While checking the release, I found a 77
>> >>>>>>>> MB statefun-parent-2.0.0-source-release.zip file in the maven
>> >>> staging
>> >>>>>>>> repo:
>> >>>>>>>>
>> >>>>>>>>
>> >>>
>> https://repository.apache.org/content/repositories/orgapacheflink-1343/org/apache/flink/statefun-parent/2.0.0/
>> >>>
>> >>>>>>>> It seems that the file contains all ruby dependencies in docs/
>> >>>>>>>> from
>> >>>>>> jekyll
>> >>>>>>>> for the docs (in
>> >>> "statefun-parent-2.0.0/docs/.rubydeps/ruby/2.5.0").
>> >>>>> I
>> >>>>>>>> don't think we want to publish these files as part of the release
>> >>> to
>> >>>>>> maven
>> >>>>>>>> central?
>> >>>>>>>> (It also contains python venv files in
>> "statefun-python-sdk/venv")
>> >>>>>>>>
>> >>>>>>>> I guess this is a reason to cancel the RC?
>> >>>>>>>>
>> >>>>>>>>
>> >>>>>>>> On Tue, Mar 31, 2020 at 6:10 AM Tzu-Li (Gordon) Tai <
>> >>>>>> tzuli...@apache.org>
>> >>>>>>>> wrote:
>> >>>>>>>>
>> >>>>>>>>> +1 (binding)
>> >>>>>>>>>
>> >>>>>>>>> ** Legal **
>> >>>>>>>>> - checksums and GPG files match corresponding release files
>> >>>>>>>>> - Source distribution does not contain binaries, contents are
>> >>> sane
>> >>>>> (no
>> >>>>>>>>> .git* / .travis* / generated html content files)
>> >>>>>>>>> - Bundled source LICENSEs and NOTICE looks good. Mentions
>> bundled
>> >>>>>>>>> font-awesome dependency in docs and copied sources from fastutil
>> >>> (
>> >>>>>>>>> http://fastutil.di.unimi.it/)
>> >>>>>>>>> - Bundled LICENSEs and NOTICE files for Maven artifacts looks
>> >>> good.
>> >>>>>>>>> Artifacts that do bundle dependencies are:
>> >>>>>> statefun-flink-distribution,
>> >>>>>>>>> statefun-ridesharing-example-simulator, statefun-flink-core
>> >>> (copied
>> >>>>>>>>> sources).
>> >>>>>>>>> - Python SDK distributions (source and wheel) contain ASLv2
>> >>> LICENSE
>> >>>>>> and
>> >>>>>>>>> NOTICE files (no bundled dependencies)
>> >>>>>>>>> - All POMs / README / Python SDK setup.py / Dockerfiles / doc
>> >>>>> configs
>> >>>>>>>> point
>> >>>>>>>>> to same version “2.0.0”
>> >>>>>>>>> - README looks good
>> >>>>>>>>>
>> >>>>>>>>> ** Functional **
>> >>>>>>>>> - Building from source dist with end-to-end tests enabled (mvn
>> >>>>> clean
>> >>>>>>>> verify
>> >>>>>>>>> -Prun-e2e-tests) passes (JDK 8)
>> >>>>>>>>> - Generated quickstart from archetype looks good (correct POM /
>> >>>>>>>> Dockerfile
>> >>>>>>>>> / service file)
>> >>>>>>>>> - Examples run: Java Greeter / Java Ridesharing / Python Greeter
>> >>> /
>> >>>>>>>> Python
>> >>>>>>>>> SDK Walkthrough
>> >>>>>>>>> - Flink Harness works in IDE
>> >>>>>>>>> - Test remote functions deployment mode with AWS ecosystem:
>> >>> remote
>> >>>>>>>> Python
>> >>>>>>>>> functions running in AWS Lambda behind AWS API Gateway, Java
>> >>>>> embedded
>> >>>>>>>>> functions running in AWS ECS
>> >>>>>>>>>
>> >>>>>>>>> On Tue, Mar 31, 2020 at 12:09 PM Tzu-Li (Gordon) Tai <
>> >>>>>>>> tzuli...@apache.org>
>> >>>>>>>>> wrote:
>> >>>>>>>>>
>> >>>>>>>>>> FYI - I've also updated the website Downloads page to include
>> >>>>> this
>> >>>>>>>>> release.
>> >>>>>>>>>> Please also consider that for your reviews:
>> >>>>>>>>>> https://github.com/apache/flink-web/pull/318
>> >>>>>>>>>>
>> >>>>>>>>>> On Tue, Mar 31, 2020 at 3:42 AM Konstantin Knauf <
>> >>>>>>>>> konstan...@ververica.com>
>> >>>>>>>>>> wrote:
>> >>>>>>>>>>
>> >>>>>>>>>>> Hi Gordon,
>> >>>>>>>>>>>
>> >>>>>>>>>>> +1 (non-binding)
>> >>>>>>>>>>>
>> >>>>>>>>>>> * Maven build from source...check
>> >>>>>>>>>>> * Python build from source...check
>> >>>>>>>>>>> * Went through Walkthrough based on local builds...check
>> >>>>>>>>>>>
>> >>>>>>>>>>> Cheers,
>> >>>>>>>>>>>
>> >>>>>>>>>>> Konstantin
>> >>>>>>>>>>>
>> >>>>>>>>>>> On Mon, Mar 30, 2020 at 5:52 AM Tzu-Li (Gordon) Tai <
>> >>>>>>>>> tzuli...@apache.org>
>> >>>>>>>>>>> wrote:
>> >>>>>>>>>>>
>> >>>>>>>>>>>> Hi everyone,
>> >>>>>>>>>>>>
>> >>>>>>>>>>>> Please review and vote on the *release candidate #4* for the
>> >>>>>>>> version
>> >>>>>>>>>>> 2.0.0
>> >>>>>>>>>>>> of Apache Flink Stateful Functions,
>> >>>>>>>>>>>> as follows:
>> >>>>>>>>>>>> [ ] +1, Approve the release
>> >>>>>>>>>>>> [ ] -1, Do not approve the release (please provide specific
>> >>>>>>>> comments)
>> >>>>>>>>>>>> **Testing Guideline**
>> >>>>>>>>>>>>
>> >>>>>>>>>>>> You can find here [1] a doc that we can use for
>> >>> collaborating
>> >>>>>>>> testing
>> >>>>>>>>>>>> efforts.
>> >>>>>>>>>>>> The listed testing tasks in the doc also serve as a
>> >>> guideline
>> >>>>> in
>> >>>>>>>> what
>> >>>>>>>>> to
>> >>>>>>>>>>>> test for this release.
>> >>>>>>>>>>>> If you wish to take ownership of a testing task, simply put
>> >>>>> your
>> >>>>>>>> name
>> >>>>>>>>>>> down
>> >>>>>>>>>>>> in the "Checked by" field of the task.
>> >>>>>>>>>>>>
>> >>>>>>>>>>>> **Release Overview**
>> >>>>>>>>>>>>
>> >>>>>>>>>>>> As an overview, the release consists of the following:
>> >>>>>>>>>>>> a) Stateful Functions canonical source distribution, to be
>> >>>>>>>> deployed to
>> >>>>>>>>>>> the
>> >>>>>>>>>>>> release repository at dist.apache.org
>> >>>>>>>>>>>> b) Stateful Functions Python SDK distributions to be
>> >>> deployed
>> >>>>> to
>> >>>>>>>> PyPI
>> >>>>>>>>>>>> c) Maven artifacts to be deployed to the Maven Central
>> >>>>> Repository
>> >>>>>>>>>>>> **Staging Areas to Review**
>> >>>>>>>>>>>>
>> >>>>>>>>>>>> The staging areas containing the above mentioned artifacts
>> >>>>> are as
>> >>>>>>>>>>> follows,
>> >>>>>>>>>>>> for your review:
>> >>>>>>>>>>>> * All artifacts for a) and b) can be found in the
>> >>>>> corresponding
>> >>>>>> dev
>> >>>>>>>>>>>> repository at dist.apache.org [2]
>> >>>>>>>>>>>> * All artifacts for c) can be found at the Apache Nexus
>> >>>>>> Repository
>> >>>>>>>> [3]
>> >>>>>>>>>>>> All artifacts are singed with the
>> >>>>>>>>>>>> key 1C1E2394D3194E1944613488F320986D35C33D6A [4]
>> >>>>>>>>>>>>
>> >>>>>>>>>>>> Other links for your review:
>> >>>>>>>>>>>> * JIRA release notes [5]
>> >>>>>>>>>>>> * source code tag "release-2.0.0-rc4" [6] [7]
>> >>>>>>>>>>>>
>> >>>>>>>>>>>> **Extra Remarks**
>> >>>>>>>>>>>>
>> >>>>>>>>>>>> * Part of the release is also official Docker images for
>> >>>>> Stateful
>> >>>>>>>>>>>> Functions. This can be a separate process, since the
>> >>> creation
>> >>>>> of
>> >>>>>>>> those
>> >>>>>>>>>>>> relies on the fact that we have distribution jars already
>> >>>>>> deployed
>> >>>>>>>> to
>> >>>>>>>>>>>> Maven. I will follow-up with this after these artifacts are
>> >>>>>>>> officially
>> >>>>>>>>>>>> released.
>> >>>>>>>>>>>> In the meantime, there is this discussion [8] ongoing about
>> >>>>> where
>> >>>>>>>> to
>> >>>>>>>>>>> host
>> >>>>>>>>>>>> the StateFun Dockerfiles.
>> >>>>>>>>>>>> * The Flink Website and blog post is also being worked on
>> >>> (by
>> >>>>>>>> Marta)
>> >>>>>>>>> as
>> >>>>>>>>>>>> part of the release, to incorporate the new Stateful
>> >>> Functions
>> >>>>>>>>> project.
>> >>>>>>>>>>> We
>> >>>>>>>>>>>> can follow up with a link to those changes afterwards in
>> >>> this
>> >>>>>> vote
>> >>>>>>>>>>> thread,
>> >>>>>>>>>>>> but that would not block you to test and cast your votes
>> >>>>> already.
>> >>>>>>>>>>>> * Since the Flink website changes are still being worked on,
>> >>>>> you
>> >>>>>>>> will
>> >>>>>>>>>>> not
>> >>>>>>>>>>>> yet be able to find the Stateful Functions docs from there.
>> >>>>> Here
>> >>>>>>>> are
>> >>>>>>>>> the
>> >>>>>>>>>>>> links [9] [10].
>> >>>>>>>>>>>>
>> >>>>>>>>>>>> **Vote Duration**
>> >>>>>>>>>>>>
>> >>>>>>>>>>>> Since this RC only fixes licensing issues from previous RCs,
>> >>>>>>>>>>>> and the code itself has not been touched,
>> >>>>>>>>>>>> I'd like to stick with the original vote ending time.
>> >>>>>>>>>>>>
>> >>>>>>>>>>>> The vote will be open for at least 72 hours starting Monday
>> >>>>>>>>>>>> *(target end date is Wednesday, April 1st).*
>> >>>>>>>>>>>> It is adopted by majority approval, with at least 3 PMC
>> >>>>>> affirmative
>> >>>>>>>>>>> votes.
>> >>>>>>>>>>>> Thanks,
>> >>>>>>>>>>>> Gordon
>> >>>>>>>>>>>>
>> >>>>>>>>>>>> [1]
>> >>>>>>>>>>>>
>> >>>>>>>>>>>>
>> >>>
>> https://docs.google.com/document/d/1P9yjwSbPQtul0z2AXMnVolWQbzhxs68suJvzR6xMjcs/edit?usp=sharing
>> >>>
>> >>>>>>>>>>>> [2]
>> >>>>>
>> https://dist.apache.org/repos/dist/dev/flink/flink-statefun-2.0.0-rc4/
>> >>>>>
>> >>>>>>>>>>>> [3]
>> >>>>>>>>>>>>
>> >>>
>> https://repository.apache.org/content/repositories/orgapacheflink-1343/
>> >>>>>>>>>>>> [4] https://dist.apache.org/repos/dist/release/flink/KEYS
>> >>>>>>>>>>>> [5]
>> >>>>>>>>>>>>
>> >>>>>>>>>>>>
>> >>>
>> https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12315522&version=12346878
>> >>>
>> >>>>>>>>>>>> [6]
>> >>>>>>>>>>>>
>> >>>>>>>>>>>>
>> >>>
>> https://gitbox.apache.org/repos/asf?p=flink-statefun.git;a=commit;h=5d5d62fca2dbe3c75e8157b7ce67d4d4ce12ffd9
>> >>>
>> >>>>>>>>>>>> [7]
>> >>>>>>>> https://github.com/apache/flink-statefun/tree/release-2.0.0-rc4
>> >>>>>>>>>>>> [8]
>> >>>>>>>>>>>>
>> >>>>>>>>>>>>
>> >>>
>> http://apache-flink-mailing-list-archive.1008284.n3.nabble.com/DISCUSS-Creating-a-new-repo-to-host-Stateful-Functions-Dockerfiles-td39342.html
>> >>>
>> >>>>>>>>>>>> [9]
>> >>>>>>>> https://ci.apache.org/projects/flink/flink-statefun-docs-master/
>> >>>>>>>>>>>> [10]
>> >>>>>
>> https://ci.apache.org/projects/flink/flink-statefun-docs-release-2.0/
>> >>>>>>>>>>>> TIP: You can create a `settings.xml` file with these
>> >>> contents:
>> >>>>>>>>>>>> """
>> >>>>>>>>>>>> <settings>
>> >>>>>>>>>>>>    <activeProfiles>
>> >>>>>>>>>>>> <activeProfile>flink-statefun-2.0.0</activeProfile>
>> >>>>>>>>>>>>    </activeProfiles>
>> >>>>>>>>>>>>    <profiles>
>> >>>>>>>>>>>>      <profile>
>> >>>>>>>>>>>> <id>flink-statefun-2.0.0</id>
>> >>>>>>>>>>>>        <repositories>
>> >>>>>>>>>>>>          <repository>
>> >>>>>>>>>>>> <id>flink-statefun-2.0.0</id>
>> >>>>>>>>>>>>            <url>
>> >>>>>>>>>>>>
>> >>>
>> https://repository.apache.org/content/repositories/orgapacheflink-1343/
>> >>>>>>>>>>>> </url>
>> >>>>>>>>>>>>          </repository>
>> >>>>>>>>>>>>          <repository>
>> >>>>>>>>>>>>            <id>archetype</id>
>> >>>>>>>>>>>>            <url>
>> >>>>>>>>>>>>
>> >>>
>> https://repository.apache.org/content/repositories/orgapacheflink-1343/
>> >>>>>>>>>>>> </url>
>> >>>>>>>>>>>>          </repository>
>> >>>>>>>>>>>>        </repositories>
>> >>>>>>>>>>>>      </profile>
>> >>>>>>>>>>>>    </profiles>
>> >>>>>>>>>>>> </settings>
>> >>>>>>>>>>>> """
>> >>>>>>>>>>>>
>> >>>>>>>>>>>> And reference that in you maven commands via `--settings
>> >>>>>>>>>>>> path/to/settings.xml`.
>> >>>>>>>>>>>> This is useful for creating a quickstart based on the staged
>> >>>>>>>> release
>> >>>>>>>>> and
>> >>>>>>>>>>>> for building against the staged jars.
>> >>>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>> --
>> >>>>>>>>>>>
>> >>>>>>>>>>> Konstantin Knauf | Head of Product
>> >>>>>>>>>>>
>> >>>>>>>>>>> +49 160 91394525
>> >>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>> Follow us @VervericaData Ververica <
>> >>> https://www.ververica.com/>
>> >>>>>>>>>>>
>> >>>>>>>>>>> --
>> >>>>>>>>>>>
>> >>>>>>>>>>> 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
>> >>>>>>>>>>> (Tony) Cheng
>> >>>>>>>>>>>
>> >
>> >
>>
>>

Reply via email to