Re: "Offset too large" error when packing repository in FSFS 7 format
On 27.08.2016 10:59, Stefan Fuhrmann wrote: On 22.08.2016 11:38, Radek Krotil wrote: The repository contains 334243 revisions total. As suggested by Stefan, I did the grep on the problematic repo file. The rev 203908 is about 231 MB big. This confirms my suspicion that the problem is related to big revision data. Well, that is at least conceivable: Larger revisions with many changed nodes come with larger index information. There might be bugs along the line of "this time we need one more page than usually". Update: It seems that is exactly what is happening. Whenever a pack would contain >30 "items", or roughly 150 changes / rev on average, pack will always fail. From what I can see, no data will be corrupted. You may even retry packing with a fixed version of svnadmin and the process should complete just fine. I'm now able to reproduce the issue and fixes should be available with the next 1.9.x release. A workaround is possible with the attached patch (you may raise the limit even further if need be and you are using 64 bit binaries). -- Stefan^2. Index: subversion/libsvn_fs_fs/pack.c === --- subversion/libsvn_fs_fs/pack.c (revision 1757331) +++ subversion/libsvn_fs_fs/pack.c (working copy) @@ -87,7 +87,7 @@ /* Maximum amount of memory we allocate for placement information during * the pack process. */ -#define DEFAULT_MAX_MEM (64 * 1024 * 1024) +#define DEFAULT_MAX_MEM (512 * 1024 * 1024) /* Data structure describing a node change at PATH, REVISION. * We will sort these instances by PATH and NODE_ID such that we can combine
RE: "Offset too large" error when packing repository in FSFS 7 format
Thank you for the update and fix, Stefan! I guess it’s no longer necessary to answer your questions from the previous e-mail if you managed to reproduce the problem and provide a fix/workaround. Looking forward to the new version of Subversion. Best regards, Radek Krotil *From:* Stefan Fuhrmann [mailto:stef...@apache.org] *Sent:* Monday, August 29, 2016 10:14 AM *To:* Radek Krotil; Daniel Shahaf *Cc:* users@subversion.apache.org *Subject:* Re: "Offset too large" error when packing repository in FSFS 7 format On 27.08.2016 10:59, Stefan Fuhrmann wrote: On 22.08.2016 11:38, Radek Krotil wrote: Well, that is at least conceivable: Larger revisions with many changed nodes come with larger index information. There might be bugs along the line of "this time we need one more page than usually". Update: It seems that is exactly what is happening. Whenever a pack would contain >30 "items", or roughly 150 changes / rev on average, pack will always fail. >From what I can see, no data will be corrupted. You may even retry packing with a fixed version of svnadmin and the process should complete just fine. I'm now able to reproduce the issue and fixes should be available with the next 1.9.x release. A workaround is possible with the attached patch (you may raise the limit even further if need be and you are using 64 bit binaries). -- Stefan^2.
Re: How to remove a revision from the achieve
On Sun, Aug 28, 2016 at 11:38 PM, Eckard Klotz wrote: > Hello everybody. > > Unfortunately I have added something wrong into the my svn archive. I know > that it is possible how to remove it from the users content. But the file is > still part of the archive and I want to undo the adding of the file. > > Is it possible to remove it from the whole archive again by deleting the > last revisions? > Or it is possible to copy an archive just until a specific revision with a > command like hotcopy? > > Best regards, > > Eckard Klotz. Simple answer: not without setting up a new Subversion repository, with a new URL and the revision excluded, and making all your clients switch to it. The functionality you're looking for is the "obliterate" function. It is perhaps the oldest feature request for Subversion, and it has never been successfully implemented.
Re: How to remove a revision from the achieve
Nico Kadel-Garcia wrote on Mon, Aug 29, 2016 at 10:23:03 -0400: > Simple answer: not without setting up a new Subversion repository, > with a new URL and the revision excluded, and making all your clients > switch to it. To clarify: the "switch" Nico is referring to isn't an invocation of 'svn switch' but a "delete the current working copy and checkout a new one" procedure. The URL can stay the same, but the UUID has to change. Cheers, Daniel
Re: How to remove a revision from the achieve
On Mon, Aug 29, 2016 at 12:53 PM, Daniel Shahaf wrote: > Nico Kadel-Garcia wrote on Mon, Aug 29, 2016 at 10:23:03 -0400: >> Simple answer: not without setting up a new Subversion repository, >> with a new URL and the revision excluded, and making all your clients >> switch to it. > > To clarify: the "switch" Nico is referring to isn't an invocation of > 'svn switch' but a "delete the current working copy and checkout a new > one" procedure. > > The URL can stay the same, but the UUID has to change. Keeping the same URL with a fundamentally different repository, due to revision deletion, is asking to hurt yourself. Never do this.