Re: [BuildStream] Buildtrees in 1.4 release
- From: Tristan Van Berkom <tristan vanberkom codethink co uk>
- To: Laurence Urhegyi <laurence urhegyi codethink co uk>, buildstream-list gnome org
- Subject: Re: [BuildStream] Buildtrees in 1.4 release
- Date: Fri, 30 Nov 2018 15:28:39 +0900
Hi Laurence,
On Thu, 2018-11-29 at 21:47 +0000, Laurence Urhegyi via BuildStream-list wrote:
Hi,
I think it's time we discussed buildtrees and whether to include this
functionality in the 1.4 release. I have had multiple conversations in
private channels about this and think it's right to bring these onto the
list.
To me, this opening statement on a public list reads like someone
yelling "fire" in a crowded theater.
I don't think you realize this or that you intended it this way :)
In my simple mind, we can summarise the problem like this:
Buildtrees are generally always large and thus cause big problems when
cached due to their size. This is annoying for users. There are three
aspects of buildtrees to consider:
* creating
* pushing
* pulling
There have been discussions since the feature was originally conceived
over whether the above should be optional or happen by default. Having
downloads be optional has landed [0], but creation and pushing have not.
There's a ticket for making the uploading of buildtrees configurable [1]
(and some thought gone into it) but I don't think there is one for
creation.
If we're being honest, it's looking unlikely that we'll be able to set
configuration options for creation and pushing in time for 1.4.
Is this really acceptable to users, to not have these be optional?
I'd like others to weigh in here but I feel like hiding this feature
with an experimental flag is the right thing to do for the 1.4 release.
A few things to say here:
* Enabling build tree creation to unblock the surrounding feature
work was the first thing we did when early branching for 1.2
Which means we have had more than an entire release cycle to
make this work perfectly - having to back this out now, would be
very sad.
* I am doubtful of the importance of any option for *creation* of
build trees, especially now that we have local cache cleanup
in a robust enough state.
In other words, the local cache only needs to be large enough
to store the sources, build trees and build results for a single
full build - this is the same amount of local disk space required
for a full build using say, JHBuild.
Has anyone even raised an issue or proposed that *creation* of
the build trees should be optional ?
* If there are other features that we've been planning for 1.4
much later in the cycle that are not landed yet, it makes a lot
more sense to postpone those in order to ensure what we've already
landed works seamlessly, than to start backing out previous
features.
Finally, I wanted to make a statement soon about the release dates but
didn't judge that people were going to be panicking this week yet.
The point is that, we're trying to move the release cycle to be earlier
in order for our releases to be more conveniently *before* our regular
hackfests and meetups, rather than releasing directly after our
meetups.
This totally makes sense for the sake of the meetups, but the quality
and reliability of the release is certainly more important than the
convenience of our meetup.
Maybe we were overzealous in moving the release dates too early too
quickly, and it will make more sense to keep it at the regular date for
1.4 (I think that puts release day in early March and feature/API
freeze in February).
It makes no sense for people to be developing in a state of panic, and
since we did try to change the release dates in mid cycle, not doing so
this cycle is a lot less drastic than backing out features.
Cheers,
-Tristan
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]