Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtp (Exim 4.72) (envelope-from ) id 1UCVIj-0004W8-3H for pgsql-www@arkaria.postgresql.org; Mon, 04 Mar 2013 13:19:33 +0000 Received: from localhost ([127.0.0.1] helo=postgresql.org) by malur.postgresql.org with smtp (Exim 4.72) (envelope-from ) id 1UCVIi-0006fc-If for pgsql-www@arkaria.postgresql.org; Mon, 04 Mar 2013 13:19:32 +0000 Received: from makus.postgresql.org ([2001:4800:7903:4::125]) by malur.postgresql.org with esmtp (Exim 4.72) (envelope-from ) id 1UCVIh-0006fX-UC for pgsql-www@postgresql.org; Mon, 04 Mar 2013 13:19:32 +0000 Received: from mail-wi0-f181.google.com ([209.85.212.181]) by makus.postgresql.org with esmtp (Exim 4.72) (envelope-from ) id 1UCVIf-0006WC-B9 for pgsql-www@postgresql.org; Mon, 04 Mar 2013 13:19:31 +0000 Received: by mail-wi0-f181.google.com with SMTP id hm6so2006936wib.14 for ; Mon, 04 Mar 2013 05:19:27 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=mime-version:x-received:in-reply-to:references:date:message-id :subject:from:to:cc:content-type:x-gm-message-state; bh=wdeBa2tVEzkg8Ud9FHam3A/7D0IAtD5r9zNfyQzhpL4=; b=Re8O45G1b2zgh0Cshk/O5ToV4ywlbo3lssq37POxxugBpJtO5XcRhEsjLuU3nwJ0Vj TM9w0n1gRfeTmBxEZz2Icp04py5YBitkOi6WcUgudicXOYNX/r1tMNITDQ1Wsasjwrbk dk93UDjQ9XIgaPlp844lkVzQfoeg4CNyfEPajyLV65CRSfQIuFrI9Hdqiv4JrjHE6ZKD edUPUnq8kKD14EY1dSBW4wrgkUGPE99zq3bReFaArVHV7/naEixd5A7zGVUhpbcpndYs XOUJ+FRiK/XuHyXRgX/ZAYzfHxwuJyBB78rQJGEoFxIonDwJB0IULZxQciTm3dd+IQ/n KZdQ== MIME-Version: 1.0 X-Received: by 10.194.91.211 with SMTP id cg19mr31711665wjb.43.1362403167738; Mon, 04 Mar 2013 05:19:27 -0800 (PST) Received: by 10.194.171.40 with HTTP; Mon, 4 Mar 2013 05:19:27 -0800 (PST) In-Reply-To: <20130304125013.GB3943@awork2.anarazel.de> References: <19759.1362357835@sss.pgh.pa.us> <20130304020324.GE16142@tamriel.snowman.net> <2480.1362363162@sss.pgh.pa.us> <20130304023335.GH16142@tamriel.snowman.net> <20130304125013.GB3943@awork2.anarazel.de> Date: Mon, 4 Mar 2013 14:19:27 +0100 Message-ID: Subject: Re: gitweb is no longer a real-time view From: Magnus Hagander To: Andres Freund Cc: Tom Lane , Kevin Grittner , Peter Eisentraut , PostgreSQL WWW , Stephen Frost Content-Type: text/plain; charset=ISO-8859-1 X-Gm-Message-State: ALoCoQl2yNGly0K8DlQA3kWVvgZ+QCgMv5m5U7W6eghZxvE74IlYPzv3cD3QaN/vZ8YebJdvcAR5 X-Pg-Spam-Score: -2.6 (--) List-Archive: List-Help: List-ID: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: X-Mailing-List: pgsql-www Precedence: bulk Sender: pgsql-www-owner@postgresql.org On Mon, Mar 4, 2013 at 1:50 PM, Andres Freund wrote: > On 2013-03-04 08:32:35 +0100, Magnus Hagander wrote: >> On Mon, Mar 4, 2013 at 8:16 AM, Magnus Hagander wrote: >> > On Mon, Mar 4, 2013 at 3:33 AM, Stephen Frost wrote: >> >> * Tom Lane (tgl@sss.pgh.pa.us) wrote: >> >>> cron job? I was under the impression there was some sort of push >> >>> operation driven by a commit trigger. The web site has certainly >> >>> updated nearly immediately for as long as we've been using git. >> >>> Until this week, that is. >> >> >> >> Curiously, there's two cron jobs, apparently. There's a 'push' one and >> >> then another, independent, 'pull' one. I'll assume they're actually >> >> doing different things, but I wonder if the pull isn't just a >> >> hold-over.. In any case, the push-to-anon, which I hadn't seen >> > >> > No, the pull one doesn't do the main repository - that one pulls >> > "third party" repositories in as mirrors, such as e.g. Bucardo. That >> > one was, btw, broken for several months and nobody noticed - so that's >> > clearly a less important one :) >> > >> >> initially (looking at the pull side instead of the push side), does run >> >> once a minute, though it looks like there's a hook mechanism which >> >> would allow us to trigger the webserver to do a pull when a commit >> >> happens and would still be better than a once-a-minute cronjob. >> > >> > The one that deals with the main repo mirroring runs once per minute. >> > The commit trigger only drops a file in the filesystem so the cronjob >> > knows there is something to do. So that we don't risk holding up the >> > actual commit in case there is a problem with the anonymous mirror >> > server. >> > >> > >> >> Even with that, however, the concern raised was that the gitweb perl >> >> script is quite expensive to run for every request, hence the reason for >> >> doing the cacheing. I've lowered the varnish cacheing to a 5m ttl and >> >> 15m grace and I'll keep an eye on it. >> > >> > That's fixing the wrong problem. The cache is supposed to be >> > automatically purged whenever the push happens, to make sure that the >> > data never gets more than maybe a second stale. So clearly something >> > in that is not working - I didn't specifically test it with the >> > postgres.git repository, but I tested it with a couple of other ones >> > where it worked fine. But maybe we did something special with the main >> > one... >> >> Actually, looking closer, I'm seeing a failure when it actually tries the push: >> >> To ssh://git@git.postgresql.org/postgresql.git >> ! [rejected] master -> master (non-fast-forward) >> >> >> So the problem might have nothing at all to do with the cacheing. >> >> AFAICT, the three missing commits are materialized views, >> accidentally committed .orig file and \l support. >> >> But. The *anonymous* repository also has: >> bc61878682051678ade5f59da7bfd90ab72ce13b Fix >> map_sql_value_to_xml_value() to treat domains like their base types. >> >> This patch is *not* in the master repository, it's only in anonymous. >> (The object is in the repository, but it's not part of any branch) >> >> How the hell did *that* happen? >> >> The master repo has: >> commit 5db5974c692b0fc68e7608dd85a6b4e6173a0f28 >> Author: Peter Eisentraut >> >> psql: Let \l accept a pattern >> >> commit d63977eea3ab18fdec05e370b633d10b9fd20179 >> Author: Kevin Grittner >> >> Remove accidentally-committed .orig file. >> >> commit 3bf3ab8c563699138be02f9dc305b7b77a724307 >> Author: Kevin Grittner >> >> Add a materialized view relations. >> >> commit b15a6da29217b14f02895af1d9271e84415a91ae >> Author: Tom Lane >> >> Get rid of any toast table when converting a table to a view. >> >> >> And the anonymous one has: >> commit bc61878682051678ade5f59da7bfd90ab72ce13b >> Author: Tom Lane >> >> Fix map_sql_value_to_xml_value() to treat domains like their base types. >> >> commit 3bf3ab8c563699138be02f9dc305b7b77a724307 >> Author: Kevin Grittner >> >> Add a materialized view relations. >> >> commit b15a6da29217b14f02895af1d9271e84415a91ae >> Author: Tom Lane >> >> Get rid of any toast table when converting a table to a view. >> >> >> >> Does anybody have an explanation for that? Did someone do a force-push >> on the master repository, overwriting some old history? > > This really looks like Kevin forced a push. > > Could you show > git show --pretty=raw d63977eea3ab18fdec05e370b633d10b9fd20179 > git show --pretty=raw bc61878682051678ade5f59da7bfd90ab72ce13b > git show --pretty=raw 5db5974c692b0fc68e7608dd85a6b4e6173a0f28 In which of the repositories - master, anonymous, or both? > ? > I don't have all the commits here... > > The raw format will explicitly tell which parents are referenced in the > commits... > >> We don't explicitly forbid this on the master repo, since we expect >> committers to know how things work.. Maybe we need to do that, and >> manually turn it off in case someone actually *needs* to do a non fast >> forward push? But either way, it would be good to actually know how >> tihs happened... > > If you allow it the mirroring script should always force a push, > otherwise it will stop pushing in those cases. Yeah. But we shouldn't do it, so disallowing it seems like a good thing. > I think the most realistic way to resolve this is to push the current > anongit state to master and cherry-pick > bc61878682051678ade5f59da7bfd90ab72ce13b ontop it. That way only > committers need to deal with rebasing their branches and not everyone > else. Yeah, I agree that's probably the best way to do it - the number of committers is a lot more limited... Anyone else have an opinion on that part? -- Magnus Hagander Me: http://www.hagander.net/ Work: http://www.redpill-linpro.com/ -- Sent via pgsql-www mailing list (pgsql-www@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-www