It wouldn't have, separate versioning can't solve merging upstreams that
have breaking changes.

It's not about that, it's about respect towards people relying on TSDB.

I'd like prometheus people to acknowledge that their project is growing
outside their reach. This is a recognition that they did well, very well,
and *they should be really proud of that and embrace it*. I believe that
embracing it means starting to respect common development rules and it
should start with go modules conventions and SEMVER.

Like I said, TSDB is a cornerstone of the prometheus ecosystem.

If we want to make the ecosystem thrive, I believe *major components like
TSDB* should have their own *development oriented lifecycle*
(prometheus/prometheus has an user oriented lifecycle) which respects both
go module conventions and SEMVER git tags to make life easier for third
parties that use them.

That does not prevent anyone to make breaking changes to them and that
advertises those who rely on it what they can expect when managing their
prometheus dependencies.

You as Thanos maintainer want to upgrade from TSDB v0.7.0 to v0.7.2, you
should have almost nothing to do. But, if you want to upgrade from v0.7.2
to v2.0.3, you would know that should roll up your sleeves because you're
in for some heavy lifting.

Today if you want to upgrade prometheus in Thanos from 2.15.0 to 2.16.0 you
have absolutely no idea what you are stepping into. Well, you personally
might as you are quite involved in both projects but that is not the case
for everyone.

That's why I believe that the TSDB move was a bad thing and should never
have happened. Now that is has, I just want to make sure it's not something
we can't go back from. It might never happen, or it might, only time will
tell.

Regards.





On Sun, 16 Feb 2020 at 13:23, Bartłomiej Płotka <[email protected]> wrote:

> At least when it fails it fails immediately in build time :p
>
> So not sure how separate versioning would help you there. It would be a
> new major version of tsdb module, sure. But what then? It's will require
> extra manual bump anyway then you will have same work to be done, am I
> right?
>
>
> Kind Regards,
> Bartek
>
> On Sun, 16 Feb 2020, 12:21 Sylvain Rabot, <[email protected]> wrote:
>
>>
>> On Sun, 16 Feb 2020 at 13:01, Bartłomiej Płotka <[email protected]>
>> wrote:
>>
>>> Thanks for your opinion Sylvian! I agree. I totally see the versioning
>>> cycle being a problem. In fact as Thanos maintainers, together with Cortex
>>> maintainers, we are probably the biggest users of TSDB alone, so we feel
>>> the pain (which is not really THAT big).
>>>
>>
>> Yeah I knew that you, most of all people, would feel that pain. But I beg
>> to differ on the "which is not really THAT big", I spent a couple of
>> afternoons trying to keep prometheus up to date in thanos and I do not keep
>> good memories of it.
>>
>>
>>> That's why we started a discussion around proper go module versioning to
>>> solve this:
>>> https://groups.google.com/forum/#!searchin/prometheus-developers/versioning%7Csort:date/prometheus-developers/F1Vp0rLk3TQ/XyXngVP8AAAJ
>>> Hopefully once solved, we can keep mono-repo like structure but have
>>> separate versioning for TSDB. My personal opinion is that the work we do
>>> with Duco with help here:
>>> https://github.com/Helcaraxan/modularise-example-core
>>>
>>> We will see it in the soon future.
>>>
>>> Kind Regards,
>>> Bartek
>>>
>>> On Sun, 16 Feb 2020 at 12:00, Julien Pivotto <[email protected]>
>>> wrote:
>>>
>>>> On 16 Feb 12:52, Sylvain Rabot wrote:
>>>> > I strongly believe that TSDB is a cornerstone of the prometheus
>>>> ecosystem
>>>> > (and not prometheus/prometheus alone) and as such should have its own
>>>> > lifecycle.
>>>> >
>>>> > I also believe the original reason for the move ("Keeping them in
>>>> sync,
>>>> > versioning etc, is a pain") should have been solved by tooling.
>>>> >
>>>> > I'm sure at one point people using TSDB outside of prometheus will
>>>> complain
>>>> > about the TSDB versioning being tied to prometheus.
>>>> >
>>>> > So I'd like to make sure we can go back because even if the move is
>>>> > considered safe now, I'm persuaded it only benefits internal
>>>> prometheus
>>>> > developments at the expense of the whole ecosystem.
>>>> >
>>>> > Regards.
>>>>
>>>> There are discussions in progress outside of this discussion.
>>>>
>>>> I would like to add that golang versioning totally tolerate multiple
>>>> modules in one git repo with different versioning schemes.
>>>>
>>>> https://github.com/hashicorp/consul/tree/master/api
>>>>
>>>> is a go module on its own, module github.com/hashicorp/consul/api
>>>> inside the github.com/hashicorp/consul repo.
>>>>
>>>> They have dedicated versions (see
>>>> https://github.com/hashicorp/consul/tree/api/v1.4.0): consul/api is
>>>> v1.4.0,
>>>> while consul is v1.7.0.
>>>>
>>>> So it looks like we could get the advantages of a single repo and a
>>>> dedicated module lifecycle if we need to.
>>>>
>>>> >
>>>> > On Sun, 16 Feb 2020 at 12:39, Bartłomiej Płotka <[email protected]>
>>>> wrote:
>>>> >
>>>> > > Hm, why would it need to have its own lifecycle?
>>>> > >
>>>> > > We waited for some time exactly to make sure that all is safe for
>>>> the move.
>>>> > >
>>>> > > Bartek
>>>> > >
>>>> > > On Sun, 16 Feb 2020, 11:25 Sylvain Rabot, <[email protected]>
>>>> wrote:
>>>> > >
>>>> > >> Hi,
>>>> > >>
>>>> > >> Before doing so, could we make sure this action can be reverted ?
>>>> > >>
>>>> > >> I'd hate that, if we realize TSDB needs its own lifecycle, we
>>>> wouldn't be
>>>> > >> able to reopen github.com/prometheus/tsdb because of some github
>>>> logic.
>>>> > >>
>>>> > >> Regards.
>>>> > >>
>>>> > >> On Fri, 14 Feb 2020 at 00:19, Julien Pivotto <
>>>> [email protected]>
>>>> > >> wrote:
>>>> > >>
>>>> > >>> Dear community,
>>>> > >>>
>>>> > >>> In the dev summit 2019/1, it was decided to move tsdb to the
>>>> junkyard:
>>>> > >>>
>>>> > >>>
>>>> https://docs.google.com/document/d/1NQIX78nwBhfLZD3pAb0PK-uBKYqnkzjjVhOQ-kIaEGU/edit
>>>> > >>>
>>>> > >>> The https://github.com/prometheus/tsdb has been moved in
>>>> Augustus 2019
>>>> > >>> inside
>>>> > >>> the prometheus repo itself:
>>>> > >>> https://github.com/prometheus/prometheus/tsdb
>>>> > >>>
>>>> > >>> I would like to trigger the move of the old repo to
>>>> > >>> https://github.com/prometheus-junkyard/tsdb at the end of this
>>>> month (29
>>>> > >>> February). That is 200 days after the repo has been merged in the
>>>> > >>> prometheus server repo.
>>>> > >>>
>>>> > >>> GitHub says that "All links to the previous repository location
>>>> are
>>>> > >>> automatically redirected to the new location":
>>>> > >>>
>>>> > >>>
>>>> https://help.github.com/en/github/administering-a-repository/transferring-a-repository
>>>> > >>> which means that links to pull requests etc should still work
>>>> after
>>>> > >>> the rename.
>>>> > >>>
>>>> > >>> If someone has strong arguments against this, please reply to this
>>>> > >>> message.
>>>> > >>>
>>>> > >>> --
>>>> > >>>  (o-    Julien Pivotto
>>>> > >>>  //\    Open-Source Consultant
>>>> > >>>  V_/_   Inuits - https://www.inuits.eu
>>>> > >>>
>>>> > >>> --
>>>> > >>> You received this message because you are subscribed to the Google
>>>> > >>> Groups "Prometheus Developers" group.
>>>> > >>> To unsubscribe from this group and stop receiving emails from it,
>>>> send
>>>> > >>> an email to [email protected].
>>>> > >>> To view this discussion on the web visit
>>>> > >>>
>>>> https://groups.google.com/d/msgid/prometheus-developers/20200213231949.GA18483%40oxygen
>>>> > >>> .
>>>> > >>>
>>>> > >>
>>>> > >>
>>>> > >> --
>>>> > >> Sylvain Rabot <[email protected]>
>>>> > >>
>>>> > >> --
>>>> > >> You received this message because you are subscribed to the Google
>>>> Groups
>>>> > >> "Prometheus Developers" group.
>>>> > >> To unsubscribe from this group and stop receiving emails from it,
>>>> send an
>>>> > >> email to [email protected].
>>>> > >> To view this discussion on the web visit
>>>> > >>
>>>> https://groups.google.com/d/msgid/prometheus-developers/CADjtP1GFSFug0WYQO0svnJv2%3D2Xgz-GSzfL1ThN_kHeoznOQsg%40mail.gmail.com
>>>> > >> <
>>>> https://groups.google.com/d/msgid/prometheus-developers/CADjtP1GFSFug0WYQO0svnJv2%3D2Xgz-GSzfL1ThN_kHeoznOQsg%40mail.gmail.com?utm_medium=email&utm_source=footer
>>>> >
>>>> > >> .
>>>> > >>
>>>> > >
>>>> >
>>>> > --
>>>> > Sylvain Rabot <[email protected]>
>>>>
>>>> --
>>>>  (o-    Julien Pivotto
>>>>  //\    Open-Source Consultant
>>>>  V_/_   Inuits - https://www.inuits.eu
>>>>
>>>
>>
>> --
>> Sylvain Rabot <[email protected]>
>>
>

-- 
Sylvain Rabot <[email protected]>

-- 
You received this message because you are subscribed to the Google Groups 
"Prometheus Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/prometheus-developers/CADjtP1Fo_1mi8qnYQ-sLPRUahKAuQMdRh%2BEVBmJRB5V-QjdxEw%40mail.gmail.com.

Reply via email to