Return-Path: X-Original-To: apmail-subversion-dev-archive@minotaur.apache.org Delivered-To: apmail-subversion-dev-archive@minotaur.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 6B4DD1795B for ; Thu, 23 Oct 2014 21:51:42 +0000 (UTC) Received: (qmail 34015 invoked by uid 500); 23 Oct 2014 21:51:42 -0000 Delivered-To: apmail-subversion-dev-archive@subversion.apache.org Received: (qmail 33961 invoked by uid 500); 23 Oct 2014 21:51:42 -0000 Mailing-List: contact dev-help@subversion.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Delivered-To: mailing list dev@subversion.apache.org Received: (qmail 33950 invoked by uid 99); 23 Oct 2014 21:51:41 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 23 Oct 2014 21:51:41 +0000 X-ASF-Spam-Status: No, hits=1.5 required=5.0 tests=HTML_MESSAGE,RCVD_IN_DNSWL_LOW,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (athena.apache.org: domain of stefan.fuhrmann@wandisco.com designates 209.85.223.179 as permitted sender) Received: from [209.85.223.179] (HELO mail-ie0-f179.google.com) (209.85.223.179) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 23 Oct 2014 21:51:37 +0000 Received: by mail-ie0-f179.google.com with SMTP id ar1so1793792iec.38 for ; Thu, 23 Oct 2014 14:49:46 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=wandisco.com; s=gapps; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type; bh=tj3iNdkQDVdXqQU2anl4iFclK0rL9HzzWNthjzdYgZQ=; b=Ty4+XximOWcLmptvNj8PR1LzTfrkPw7BWmSAi12jrAXk4JjYU6Ua6/1gHsKb3EcWv8 h1QBBtkpPZbT64XMBSjIpdkOC8R+3Sm96UYW9B14/UiPubSKhdduKaYal8IDeTzrFmAh YmcPBkmG0ZXXobeaZfaErmyxy5wUjL5/NHXmU= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:date :message-id:subject:from:to:content-type; bh=tj3iNdkQDVdXqQU2anl4iFclK0rL9HzzWNthjzdYgZQ=; b=Zb20Ppafi2sKKTXDjO265e5muwPW4Jr2zrsunUxnlsh7qfMj1anMVodSD6GmK5/nYv 0fuetMAQ4Odpo7M4BWkETJ+tx+t2mY9UQVi67E53O+gcRWU+x68TXthJTib10MD3bfSs 4f0pUriQErdP6e2ZgvHLsJL9Iz3ZWlgLVkVzpHmU3ZoqjBDta34lHQU/WM5we/cLQE6+ 4zeh8Jc8Re8TfDrDECcb4M1u2SwWZVOaE6RTaADzFbw3ox4PDtpXA6W0U/PIMZil/uiU 9ch2YlRZardmQiVRJ1tIae7i027Gv5pQcLXSnh4PeqVY7zGBY3GPGez0/J6qnb/kp2FX GI4g== X-Gm-Message-State: ALoCoQm6ND/5OyBiDCOZzpb8g3Qnel+HFQQK/aFdntmob7FlIcFyzlOghenRjPrvAk6K/ZxjCeAl MIME-Version: 1.0 X-Received: by 10.107.160.200 with SMTP id j191mr274916ioe.75.1414100986015; Thu, 23 Oct 2014 14:49:46 -0700 (PDT) Received: by 10.50.224.138 with HTTP; Thu, 23 Oct 2014 14:49:45 -0700 (PDT) In-Reply-To: <20141016142519.GD20396@ted.stsp.name> References: <20140928175602.181C823889E2@eris.apache.org> <20140928211750.GC21344@ted.stsp.name> <20140930091518.GB9104@ted.stsp.name> <20141016142519.GD20396@ted.stsp.name> Date: Thu, 23 Oct 2014 23:49:45 +0200 Message-ID: Subject: Re: svn commit: r1628093 - in /subversion/trunk/subversion/libsvn_fs_fs: index.c structure-indexes From: Stefan Fuhrmann To: Stefan Fuhrmann , Subversion Development Content-Type: multipart/mixed; boundary=001a1140ec12f2f27205061e0a14 X-Virus-Checked: Checked by ClamAV on apache.org --001a1140ec12f2f27205061e0a14 Content-Type: multipart/alternative; boundary=001a1140ec12f2f26505061e0a12 --001a1140ec12f2f26505061e0a12 Content-Type: text/plain; charset=UTF-8 On Thu, Oct 16, 2014 at 4:25 PM, Stefan Sperling wrote: > On Tue, Sep 30, 2014 at 11:44:04AM +0200, Stefan Fuhrmann wrote: > > On Tue, Sep 30, 2014 at 11:15 AM, Stefan Sperling > wrote: > > > How do you open a transaction and postpone the commit? > > > Using some custom code written against the FS API? > > > > > > > It would require some custom code like "create greek tree, > > create txn, modify a few nodes" on one side and "open the > > only available txn, commit txn" on the other side. > > Do you have some example or starting point for that somewhere? > I attached a test that should do the right thing. Execute the first two steps on separate architectures and the 3rd one on an arch of your choice. > > > Or can some tool such as svnmucc already do this? > > > > > > > svnadmin can only list and remove txns. svnmucc > > > > svnmucc what? :) > Hm ... don't quite remember. Probably something along the line of "starts, builds up and commits a txn in a single call". Basically, hard to use for the purpose at hand. > > > I presume you rely on apr_off_t, not off_t, right? > > > > > > Yes, I always use apr_off_t. On my system, APR typedefs > > it as off_t. > > off_t is always 64bit on OpenBSD, so I could only test little/big endian > variance. Unless perhaps if I patched APR to use a 32bit type for off_t. > It would certainly be interesting to a) find systems in the wild that still uses 32 bit off_t and b) for us to check whether we still work on them. > Would it be possible to test this in our regression test suite somehow? > That's probably hard unless we find a setup with genuine 32 bit off_t because APR uses it directly with lseek() and friends. So, we can't just redefine it. Even the ILP32 bb-openbsd buildbot has 64 off_t. -- Stefan^2. --001a1140ec12f2f26505061e0a12 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable


On Thu, Oct 16, 2014 at 4:25 PM, Stefan Sperling <= stsp@elego.de> wrote:
On Tue, Sep = 30, 2014 at 11:44:04AM +0200, Stefan Fuhrmann wrote:
> On Tue, Sep 30, 2014 at 11:15 AM, Stefan Sperling <stsp@apache.org> wrote:
> > How do you open a transaction and postpon= e the commit?
> > Using some custom code written against the FS API?
> >
>
> It would require some custom code like "create greek tree,
> create txn, modify a few nodes" on one side and "open the > only available txn, commit txn" on the other side.

Do you have some example or starting point for that somewhere?

I attached a test that should do the right t= hing.
Execute the first two steps on separate architectures
and the 3rd one on an arch of your choice.
=C2= =A0
> > Or can some tool such as svnmucc already do this= ?
> >
>
> svnadmin can only list and remove txns. svnmucc
>

svnmucc what? :)

Hm ... don'= t quite remember. Probably something
along the line of "starts, bui= lds up and commits
a txn in a single call". Basically, h= ard to use for
the purpose at hand.
=C2=A0
> > I presume you rely on apr_off_t, not off_t, righ= t?
>
>
> Yes, I always use apr_off_t. On my system, APR typedefs
> it as off_t.

off_t is always 64bit on OpenBSD, so I could only test little/big en= dian
variance. Unless perhaps if I patched APR to use a 32bit type for off_t.

It would certainly be interesting to a) f= ind systems
in the wild that still uses 32 bit off_t and b) for us to
check whether we still work on them.
=C2=A0
=
Would it be possible to test this in our regression test suite somehow?
=

That's probably hard unless we find a = setup with
genuine 32 bit off_t because APR uses it directly
with lse= ek() and friends. So, we can't just redefine it.
Even the= ILP32 bb-openbsd buildbot has 64 off_t.

-- Stefan^2.
=

--001a1140ec12f2f26505061e0a12-- --001a1140ec12f2f27205061e0a14 Content-Type: text/x-csrc; charset=US-ASCII; name="distributed-test.c" Content-Disposition: attachment; filename="distributed-test.c" Content-Transfer-Encoding: base64 X-Attachment-Id: f_i1mlwi950 LyogZGlzdHJpYnV0ZWQtdGVzdC5jIC0tLSB0ZXN0cyBkaXN0cmlidXRlZCB0cmFuc2FjdGlvbnMK ICoKICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT0KICogICAgTGljZW5zZWQgdG8gdGhlIEFwYWNoZSBTb2Z0d2FyZSBG b3VuZGF0aW9uIChBU0YpIHVuZGVyIG9uZQogKiAgICBvciBtb3JlIGNvbnRyaWJ1dG9yIGxpY2Vu c2UgYWdyZWVtZW50cy4gIFNlZSB0aGUgTk9USUNFIGZpbGUKICogICAgZGlzdHJpYnV0ZWQgd2l0 aCB0aGlzIHdvcmsgZm9yIGFkZGl0aW9uYWwgaW5mb3JtYXRpb24KICogICAgcmVnYXJkaW5nIGNv cHlyaWdodCBvd25lcnNoaXAuICBUaGUgQVNGIGxpY2Vuc2VzIHRoaXMgZmlsZQogKiAgICB0byB5 b3UgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlCiAqICAgICJMaWNl bnNlIik7IHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2UKICog ICAgd2l0aCB0aGUgTGljZW5zZS4gIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5z ZSBhdAogKgogKiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIu MAogKgogKiAgICBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRv IGluIHdyaXRpbmcsCiAqICAgIHNvZnR3YXJlIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNl IGlzIGRpc3RyaWJ1dGVkIG9uIGFuCiAqICAgICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFO VElFUyBPUiBDT05ESVRJT05TIE9GIEFOWQogKiAgICBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBp bXBsaWVkLiAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUKICogICAgc3BlY2lmaWMgbGFuZ3VhZ2Ug Z292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZCBsaW1pdGF0aW9ucwogKiAgICB1bmRlciB0aGUgTGlj ZW5zZS4KICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KICovCgojaW5jbHVkZSAiLi4vc3ZuX3Rlc3RfZnMuaCIKCi8q IE1ha2UgdGhpcyBwb2ludCB0byB0aGUgc2hhcmVkIHJlcG9zaXRvcnkgbG9jYXRpb24gaWYgaXQg aXMgbm90IGxvY2FsCiAqIHRvIHRoZSBjdXJyZW50IGZvbGRlci4KICovCmNvbnN0IGNoYXIgKnJl cG9fbmFtZSA9ICJ0ZXN0LXJlcG8tZGlzdHJpYnV0ZWQiOwoKLyotLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCgwKCnN0YXRp YyBzdm5fZXJyb3JfdCAqCmNyZWF0ZV90cmFuc2FjdGlvbihjb25zdCBzdm5fdGVzdF9vcHRzX3Qg Km9wdHMsCiAgICAgICAgICAgICAgICAgICBhcHJfcG9vbF90ICpwb29sKQp7CiAgc3ZuX3JlcG9z X3QgKnJlcG9zOwogIHN2bl9mc190ICpmczsKICBzdm5fZnNfdHhuX3QgKnR4bjsKICBzdm5fZnNf cm9vdF90ICp0eG5fcm9vdDsKCiAgLyogQ3JlYXRlIGEgZmlsZXN5c3RlbSAqLwogIFNWTl9FUlIo c3ZuX3Rlc3RfX2NyZWF0ZV9yZXBvcygmcmVwb3MsIHJlcG9fbmFtZSwgb3B0cywgcG9vbCkpOwog IGZzID0gc3ZuX3JlcG9zX2ZzKHJlcG9zKTsKCiAgLyogQWRkIHRoZSBHcmVlayB0cmVlICovCiAg U1ZOX0VSUihzdm5fZnNfYmVnaW5fdHhuMigmdHhuLCBmcywgMCwgMCwgcG9vbCkpOwogIFNWTl9F UlIoc3ZuX2ZzX3R4bl9yb290KCZ0eG5fcm9vdCwgdHhuLCBwb29sKSk7CiAgU1ZOX0VSUihzdm5f dGVzdF9fY3JlYXRlX2dyZWVrX3RyZWUodHhuX3Jvb3QsIHBvb2wpKTsKCiAgcmV0dXJuIFNWTl9O T19FUlJPUjsKfQoKc3RhdGljIHN2bl9lcnJvcl90ICoKY29tbWl0X3RyYW5zYWN0aW9uKGNvbnN0 IHN2bl90ZXN0X29wdHNfdCAqb3B0cywKICAgICAgICAgICAgICAgICAgIGFwcl9wb29sX3QgKnBv b2wpCnsKICBzdm5fcmVwb3NfdCAqcmVwb3M7CiAgc3ZuX2ZzX3QgKmZzOwogIGFwcl9hcnJheV9o ZWFkZXJfdCAqdHhuX2xpc3Q7CiAgY29uc3QgY2hhciAqdHhuX25hbWU7CiAgc3ZuX2ZzX3R4bl90 ICp0eG47CiAgc3ZuX3Jldm51bV90IHJldjsKCiAgLyogUmVvcGVuIHRoZSBmaWxlc3lzdGVtICov CiAgU1ZOX0VSUihzdm5fcmVwb3Nfb3BlbjMoJnJlcG9zLCByZXBvX25hbWUsIE5VTEwsIHBvb2ws IHBvb2wpKTsKICBmcyA9IHN2bl9yZXBvc19mcyhyZXBvcyk7CgogIC8qIFJlb3BlbiB0aGUgZmly c3QgdHJhbnNhY3Rpb24gdGhhdCB3ZSBjYW4gZmluZCAqLwogIC8qIFRoZXJlIHNob3VsZCBiZSBl eGFjdGx5IG9uZSBsZWZ0LiAqLwogIFNWTl9FUlIoc3ZuX2ZzX2xpc3RfdHJhbnNhY3Rpb25zKCZ0 eG5fbGlzdCwgZnMsIHBvb2wpKTsKICB0eG5fbmFtZSA9IEFQUl9BUlJBWV9JRFgodHhuX2xpc3Qs IDAsIGNvbnN0IGNoYXIgKik7CgogIC8qIENoZWNrIHRoZSBsaXN0LiBJdCBzaG91bGQgaGF2ZSAq ZXhhY3RseSogdHdvIGVudHJpZXMuICovCiAgU1ZOX0VSUihzdm5fZnNfb3Blbl90eG4oJnR4biwg ZnMsIHR4bl9uYW1lLCBwb29sKSk7CiAgU1ZOX0VSUihzdm5fZnNfY29tbWl0X3R4bihOVUxMLCAm cmV2LCB0eG4sIHBvb2wpKTsKCiAgcmV0dXJuIFNWTl9OT19FUlJPUjsKfQoKc3RhdGljIHN2bl9l cnJvcl90ICoKdmVyaWZ5X3JlcG9zaXRvcnkoY29uc3Qgc3ZuX3Rlc3Rfb3B0c190ICpvcHRzLAog ICAgICAgICAgICAgICAgICBhcHJfcG9vbF90ICpwb29sKQp7CiAgc3ZuX3JlcG9zX3QgKnJlcG9z OwoKICAvKiBSZW9wZW4gdGhlIGZpbGVzeXN0ZW0gKi8KICBTVk5fRVJSKHN2bl9yZXBvc19vcGVu MygmcmVwb3MsIHJlcG9fbmFtZSwgTlVMTCwgcG9vbCwgcG9vbCkpOwogIFNWTl9FUlIoc3ZuX3Jl cG9zX3ZlcmlmeV9mczMocmVwb3MsIFNWTl9JTlZBTElEX1JFVk5VTSwgU1ZOX0lOVkFMSURfUkVW TlVNLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRkFMU0UsIEZBTFNFLCBGQUxTRSwg TlVMTCwgTlVMTCwgTlVMTCwgTlVMTCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBv b2wpKTsKCiAgcmV0dXJuIFNWTl9OT19FUlJPUjsKfQoKCi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLwoM Ci8qIFRoZSB0ZXN0IHRhYmxlLiAgKi8KCnN0YXRpYyBpbnQgbWF4X3RocmVhZHMgPSAxOwoKc3Rh dGljIHN0cnVjdCBzdm5fdGVzdF9kZXNjcmlwdG9yX3QgdGVzdF9mdW5jc1tdID0KICB7CiAgICBT Vk5fVEVTVF9OVUxMLAogICAgU1ZOX1RFU1RfT1BUU19QQVNTKGNyZWF0ZV90cmFuc2FjdGlvbiwK ICAgICAgICAgICAgICAgICAgICAgICAiY3JlYXRlIHRyYW5zYWN0aW9uIiksCiAgICBTVk5fVEVT VF9PUFRTX1BBU1MoY29tbWl0X3RyYW5zYWN0aW9uLAogICAgICAgICAgICAgICAgICAgICAgICJj b21taXQgdHJhbnNhY3Rpb24iKSwKICAgIFNWTl9URVNUX09QVFNfUEFTUyh2ZXJpZnlfcmVwb3Np dG9yeSwKICAgICAgICAgICAgICAgICAgICAgICAidmVyaWZ5IHJlcG9zaXRvcnkiKSwKICAgIFNW Tl9URVNUX05VTEwKICB9OwoKU1ZOX1RFU1RfTUFJTgo= --001a1140ec12f2f27205061e0a14--