On Sun, 16 Feb 2020 at 14:34, Bartłomiej Płotka <[email protected]> wrote:
> I fully agree with your arguments here. Since both Cortex and Thanos are > very both active in Prometheus Team, it's easier for us to understand that > potential obstacles each version introduces. That's why I am looking > forward for proper versioning in some way of another. > > If we did move prematurely... Maybe, but we acknowledged that only > Prometheus, Thanos, Cortex, Loki and Conprof are using TSDB. Any other > project, if using, did not give any objections on public discussions if to > move TSDB or not. Since it's was very painful for Prometheus we went ahead. > If you think we were wrong or we could improve something in the process, > let us know. (: > Björn comment about waiting for the outcome of the go module compliance has been ignored ( https://github.com/prometheus/prometheus/pull/5805#issuecomment-516387796) although 3 people, me included, sided with him with a thumb up. > > In the same way decision to put TSDB now to junkyard was done in public > and with several months ahead. > > Anyway I think when moved we can get back TSDB alone anytime, so this > should answer your concern. However, in fact you can fork it and bring back > as your fork anytime as well: it's open source. But we, as a team, agreed > to maintain it inside Prometheus repo and IMO we see many benefits of it: > e.g reduction of complexity around tons of unnecessary interfaces, velocity > of release process and tsdb bug fixes! I think it was a good decision. (: > > Kind Regards, > Bartek > > On Sun, 16 Feb 2020, 13:16 Sylvain Rabot, <[email protected]> wrote: > >> 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]> >> > -- 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/CADjtP1EpJhSLyWVDNmAPvSAhpzH-uvmMncDzx0Vf5%3DXvnivqLA%40mail.gmail.com.

