Thanks for the sleuthing Stefan! This definitely is a bit unfortunate. It
sounds like a replacement is not really practical so I'll ignore that
option for now, until a viable alternative is proposed. I am -1 on us
writing our own without strong, strong justification -- primarily because I
think the likelihood is we introduce more bugs before getting to something
stable.

Regarding the remaining options, mostly some thoughts:

- it would be nice to have some specific evidence of other projects using
the EA versions and what their developers have said about it.
- it sounds like if we go with the EA route, the onus to test for
correctness / compatibility increases. They do test but anything marked
"early access" I think deserves more scrutiny from the C* community before
release. That could come in the form of more tests (or showing that we
already have good coverage of where its used).
- i assume each time we upgrade we would pick the most recently released EA
version

Jordan


On Mon, Sep 16, 2024 at 1:46 PM Štefan Miklošovič <smikloso...@apache.org>
wrote:

> We are using a library called Chronicle Queue (1) and its dependencies and
> we ship them in the distribution tarball.
>
> The version we use in 5.0 / trunk as I write this is 2.23.36. If you look
> closely here (2), there is one more release like this, 2.23.37 and after
> that all these releases have "ea" in their name.
>
> "ea" stands for "early access". The project has changed the versioning /
> development model in such a way that "ea" releases act, more or less, as
> glorified snapshots which are indeed released to Maven Central but the
> "regular" releases are not there. The reason behind this is that "regular"
> releases are published only for customers who pay to the company behind
> this project and they offer commercial support for that.
>
> "regular" releases are meant to get all the bug fixes after "ea" is
> published and they are official stable releases. On the other hand "ea"
> releases are the ones where the development happens and every now and then,
> once the developers think that it is time to cut new 2.x, they just publish
> that privately.
>
> I was investigating how this all works here (3) and while they said that,
> I quote (4):
>
> "In my experience this is consumed by a large number of open source
> projects reliably (for our other artifacts too). This development/ea branch
> still goes through an extensive test suite prior to release. Releases from
> this branch will contain the latest features and bug fixes."
>
> I am not completely sure if we are OK with this. For the record, Mick is
> not overly comfortable with that and Brandon would prefer to just replace
> it / get rid of this dependency (comments / reasons / discussion from (5)
> to the end)
>
> The question is if we are OK with how things are and if we are then what
> are the rules when upgrading the version of this project in Cassandra in
> the context of "ea" versions they publish.
>
> If we are not OK with this, then the question is what we are going to
> replace it with.
>
> If we are going to replace it, I very briefly took a look and there is
> practically nothing out there which would hit all the buttons for us.
> Chronicle is just perfect for this job and I am not a fan of rewriting this
> at all.
>
> I would like to have this resolved because there is CEP-12 I plan to
> deliver and I hit this and I do not want to base that work on something we
> might eventually abandon. There are some ideas for CEP-12 how to bypass
> this without using Chronicle but I would like to firstly hear your opinion.
>
> Regards
>
> (1) https://github.com/OpenHFT/Chronicle-Queue
> (2) https://repo1.maven.org/maven2/net/openhft/chronicle-core/
> (3) https://github.com/OpenHFT/Chronicle-Core/issues/668
> (4)
> https://github.com/OpenHFT/Chronicle-Core/issues/668#issuecomment-2322038676
> (5)
> https://issues.apache.org/jira/browse/CASSANDRA-18712?focusedCommentId=17878254&page=com.atlassian.jira.plugin.system.issuetabpanels%3Acomment-tabpanel#comment-17878254
>

Reply via email to