Hi Ajantha,

Thanks for driving this, but I have to vote -1 (binding) on the RC1.
Reasons include formal ones as well as technical concerns.

* Artifacts should, in my opinion, not be changed after the vote has started
* The Nexus repository was wrong (it was the API endpoint, not the actual
Maven repo URL)
* Unclear whether the uber-jar contains the declared or expected
dependencies.

I ran `./gradlew clean -Prelease jar` locally two times and indeed got
different "uber jars", with many warnings about duplicate files. Although
the "Gradle task inputs" are stable, in order and value, the _content_ of
the uber jar on
https://dist.apache.org/repos/dist/dev/incubator/polaris/apache-polaris-iceberg-catalog-migrator/1.0.0-incubating/
and the one built locally is different, even if it is just a `jandex.idx`
file. I noticed that the iceberg-catalog-migrator uses an old Jandex plugin
version, which uses a Jandex version known not to guarantee reproducible
outputs, this might explain the varying Jandex indexes. Technically, I
think including Jandex indexes from other JARs is wrong, but we can omit
the index entirely.

Regarding the (reproducible) content of the uber-jar, I'm unsure if it
contains the expected class files because the shadow-jar plugin handled
(filtered) the duplicates. In other words: do the class files in the
uber-jar match the expected dependency versions?
The uber-jar itself contains duplicate file entries: some
package-info.class some Yarn .class files, some META-INF/DEPENDENCIES files
and META-INF/jandex.idx files.

I think we must be sure that the uber-jar contains only one copy of the
expected dependencies. The jandex.idx file(s) can be excluded, and the
META-INF/DEPENDENCIES files contents should be concatenated or the content
inspected and relevant content added to the uber-jar's LICENSE/NOTICE files.

The uber-jar contains two DISCLAIMER files: the Polaris one (correct) and
one from Groovy (which has been TLP for quite a while).

I know that uber-jars are hard to get right, especially when dependencies
bring in many transitive dependencies in various and old-ish versions, and
those dependencies are uber-jars themselves.

LICENSE and NOTICE files are executable in Git and the source tarball, this
could be fixed.

Robert


On Wed, Feb 18, 2026 at 10:03 AM Ajantha Bhat <[email protected]> wrote:

> Thanks JB for the binding vote.
>
> And Thanks Dmitri for the verification.
> Instructions were unclear to me on how to publish these.
>
> To publish jars to nexus repo, I have used the below command
>
> > ./gradlew clean publishToApache closeApacheStagingRepository -Prelease
> > -PuseGpgAgent
>
>
> To the ASF dist I manually compiled a jar from my command line using
> gradle command "./gradlew clean build"
> and then used "gtar" to archive the jar into a zip (to avoid mac os hidden
> files to get included in the zip).
> Hence, both fat jars are compiled at different times but on the same code
> tag.
>
> *I have now downloaded the fat jar and its signatures from nexus repo and
> refreshed the ASF dist *
> *by uploading the same to svn. *
> Please take another look and maybe you can re-vote after the verification.
>
>
> Thanks,
> Ajantha
>
>
> On Wed, Feb 18, 2026 at 8:57 AM Dmitri Bourlatchkov <
> [email protected]> wrote:
>
> > +0 (binding)
> >
> > I checked:
> >
> > * Checksums
> > * Signatures
> > * Basic tools invocation with java 21 (--help)
> >
> > The above look good.
> >
> > However, the fat jar in the staged Nexus repo (from JB's link) is
> different
> > from the fat jar in the tar in the ASF dist.
> >
> > The differences appear to be minor and located in the ZIP index area. Is
> > that significant?
> >
> > Thanks,
> > Dmitri.
> >
> >
> > On Tue, Feb 17, 2026 at 2:02 AM Jean-Baptiste Onofré <[email protected]>
> > wrote:
> >
> > > +1 (binding)
> > >
> > > Note for the reviewer: there is a mistake in the vote email: the right
> > > Nexus URL is
> > >
> >
> https://repository.apache.org/content/repositories/orgapachepolaris-1056/
> > >
> > > I checked:
> > > - source distribution
> > > -- incubating is in the name/version
> > > -- signature and checksum are good
> > > -- nit: the source tar.gz contains an inner folder
> > > iceberg-catalog-migrator, it's OK, but personally I prefer to have
> > directly
> > > the root folder
> > > -- DISCLAIMER is present
> > > -- LICENSE and NOTICE look good
> > > -- ASF header present in expected files
> > > -- No binary file found in the source distribution
> > > - CLI (binary) distribution
> > > -- incubating is in the name/version
> > > -- signature and checksum are good
> > > -- DISCLAIMER is present
> > > -- LICENSE and NOTICE look good
> > >
> > > Thanks !
> > > Regards
> > > JB
> > >
> > > On Mon, Feb 16, 2026 at 1:03 PM Ajantha Bhat <[email protected]>
> > > wrote:
> > >
> > > > Hi everyone,
> > > >
> > > > I propose that we release the following RC as the official
> > > > Apache Polaris Iceberg catalog migrator 1.0.0-incubating release.
> > > >
> > > > * This corresponds to the tag:
> > > > apache-polaris-iceberg-catalog-migrator-1.0.0-incubating-rc1
> > > > *
> > > >
> > > >
> > >
> >
> https://github.com/apache/polaris-tools/commits/apache-polaris-iceberg-catalog-migrator-1.0.0-incubating-rc1/
> > > > *
> > > >
> > > >
> > >
> >
> https://github.com/apache/polaris-tools/tree/ab6c82eb7004f2b9a5dce20f729bd9228fed5df3
> > > >
> > > > The release tarball, signature, and checksums are here:
> > > > *
> > > >
> > > >
> > >
> >
> https://dist.apache.org/repos/dist/dev/incubator/polaris/apache-polaris-iceberg-catalog-migrator/1.0.0-incubating/
> > > >
> > > > You can find the KEYS file here:
> > > > * https://downloads.apache.org/incubator/polaris/KEYS
> > > >
> > > > Convenience binary artifacts are staged on Nexus. The Maven
> > repositories
> > > > URLs are:
> > > > *
> > > >
> > > >
> > >
> >
> https://repository.apache.org/service/local/repositories/orgapachepolaris-1056
> > > >
> > > > Please download, verify, and test.
> > > >
> > > > Please vote in the next 72 hours.
> > > >
> > > > [ ] +1 Release this as Polaris Iceberg catalog migrator
> > 1.0.0-incubating
> > > > [ ] +0
> > > > [ ] -1 Do not release this because...
> > > >
> > > > Only PPMC members and mentors have binding votes, but other community
> > > > members are encouraged to cast non-binding votes. This vote will pass
> > if
> > > > there are
> > > > 3 binding +1 votes and more binding +1 votes than -1 votes.
> > > >
> > > > - Ajantha
> > > >
> > >
> >
> >
> > --
> > Dmitri Bourlatchkov
> > Senior Staff Software Engineer, Dremio
> > Dremio.com
> > <
> >
> https://www.dremio.com/?utm_medium=email&utm_source=signature&utm_term=na&utm_content=email-signature&utm_campaign=email-signature
> > >
> > /
> > Follow Us on LinkedIn <https://www.linkedin.com/company/dremio> / Get
> > Started <https://www.dremio.com/get-started/>
> >
> >
> > The Agentic Lakehouse
> > The only lakehouse built for agents, managed by agents
> >
>

Reply via email to