Delta source ended unexpectedly [500, #200003] using Subversion 1.6.17 with Apache http server 2.2.21

2012-02-11 Thread Ravi Roy
Hello community,

I have compiled subversion 1.6.17 and Apache 2.2.21 from source on CentOS
5.6 and serving my repository using Apache httpd server with the following
details :

Server version: Apache/2.2.21 (Unix)
Server loaded:  APR 1.4.5, APR-Util 1.3.12
Compiled using: APR 1.4.5, APR-Util 1.3.12

Getting the folloiwng normal message in apache log :

[Sat Feb 11 14:13:41 2012] [notice] Apache/2.2.21 (Unix) DAV/2
mod_ssl/2.2.21 OpenSSL/0.9.8e-fips-rhel5 SVN/1.6.17 PHP/5.1.6 configured --
resuming normal operations

Problem : When try to commit from the checkout made from master everything
works fine, but when I try to commit from the checkout from slave I get the
following message in apache's log :

[Sat Feb 11 10:04:01 2012] [error] [client xxx.xxx.xx.xxx] could not write
the file contents  [500, #23]
[Sat Feb 11 10:04:01 2012] [error] [client xxx.xxx.xx.xxx] Delta source
ended unexpectedly  [500, #23]

I am using  TortoiseSVN 1.6.16 to commit to repository.

Does somebody knows if this is known bug or have somebody faced this issue
earlier?

Thanks for the help in advance!

Regards
Ravi.


Re: Delta source ended unexpectedly [500, #200003] using Subversion 1.6.17 with Apache http server 2.2.21

2012-02-11 Thread Ravi Roy
I found this under
http://subversion.tigris.org/ds/viewMessage.do?dsForumId=462&dsMessageId=193527
in the mail archive of dated back to 2002 and this seems to be fixed as per
the bug report.

Can somebody please comment on the issue?

Thanks.


On Sat, Feb 11, 2012 at 2:40 PM, Ravi Roy  wrote:

> Hello community,
>
> I have compiled subversion 1.6.17 and Apache 2.2.21 from source on CentOS
> 5.6 and serving my repository using Apache httpd server with the following
> details :
>
> Server version: Apache/2.2.21 (Unix)
> Server loaded:  APR 1.4.5, APR-Util 1.3.12
> Compiled using: APR 1.4.5, APR-Util 1.3.12
>
> Getting the folloiwng normal message in apache log :
>
> [Sat Feb 11 14:13:41 2012] [notice] Apache/2.2.21 (Unix) DAV/2
> mod_ssl/2.2.21 OpenSSL/0.9.8e-fips-rhel5 SVN/1.6.17 PHP/5.1.6 configured --
> resuming normal operations
>
> Problem : When try to commit from the checkout made from master everything
> works fine, but when I try to commit from the checkout from slave I get the
> following message in apache's log :
>
> [Sat Feb 11 10:04:01 2012] [error] [client xxx.xxx.xx.xxx] could not write
> the file contents  [500, #23]
> [Sat Feb 11 10:04:01 2012] [error] [client xxx.xxx.xx.xxx] Delta source
> ended unexpectedly  [500, #23]
>
> I am using  TortoiseSVN 1.6.16 to commit to repository.
>
> Does somebody knows if this is known bug or have somebody faced this issue
> earlier?
>
> Thanks for the help in advance!
>
> Regards
> Ravi.
>


Re: Delta source ended unexpectedly [500, #200003] using Subversion 1.6.17 with Apache http server 2.2.21

2012-02-11 Thread Stefan Sperling
On Sat, Feb 11, 2012 at 04:36:46PM +0530, Ravi Roy wrote:
> I found this under
> http://subversion.tigris.org/ds/viewMessage.do?dsForumId=462&dsMessageId=193527
> in the mail archive of dated back to 2002 and this seems to be fixed as per
> the bug report.
> 
> Can somebody please comment on the issue?

So you're running a master/slave setup with a write-through proxy
configuration, yes? You don't mention whether you're quoting logs
from the master or from the slave server.

Is the slave repository properly synced with the master?

Does 'svnadmin verify' pass on both sides or is there repository
corruption involved?

Could this problem be relevant?
http://subversion.tigris.org/issues/show_bug.cgi?id=3445
 
> On Sat, Feb 11, 2012 at 2:40 PM, Ravi Roy  wrote:
> 
> > Hello community,
> >
> > I have compiled subversion 1.6.17 and Apache 2.2.21 from source on CentOS
> > 5.6 and serving my repository using Apache httpd server with the following
> > details :
> >
> > Server version: Apache/2.2.21 (Unix)
> > Server loaded:  APR 1.4.5, APR-Util 1.3.12
> > Compiled using: APR 1.4.5, APR-Util 1.3.12
> >
> > Getting the folloiwng normal message in apache log :
> >
> > [Sat Feb 11 14:13:41 2012] [notice] Apache/2.2.21 (Unix) DAV/2
> > mod_ssl/2.2.21 OpenSSL/0.9.8e-fips-rhel5 SVN/1.6.17 PHP/5.1.6 configured --
> > resuming normal operations
> >
> > Problem : When try to commit from the checkout made from master everything
> > works fine, but when I try to commit from the checkout from slave I get the
> > following message in apache's log :
> >
> > [Sat Feb 11 10:04:01 2012] [error] [client xxx.xxx.xx.xxx] could not write
> > the file contents  [500, #23]
> > [Sat Feb 11 10:04:01 2012] [error] [client xxx.xxx.xx.xxx] Delta source
> > ended unexpectedly  [500, #23]
> >
> > I am using  TortoiseSVN 1.6.16 to commit to repository.
> >
> > Does somebody knows if this is known bug or have somebody faced this issue
> > earlier?
> >
> > Thanks for the help in advance!
> >
> > Regards
> > Ravi.
> >


Re: Delta source ended unexpectedly [500, #200003] using Subversion 1.6.17 with Apache http server 2.2.21

2012-02-11 Thread Ravi Roy
> So you're running a master/slave setup with a write-through proxy
> configuration, yes? You don't mention whether you're quoting logs
> from the master or from the slave server.
>
   I apologize; yes I am running master/slave setup with a write-trough
proxy.
  Logs belong to Master.



>
> Is the slave repository properly synced with the master?
>

Before trying to commit, both master and slave are synced.


>
> Does 'svnadmin verify' pass on both sides or is there repository
> corruption involved?
>

I used 'svnadmin verify' and all revisions are verified and no error /
inconsistency reported.


>
> Could this problem be relevant?
> http://subversion.tigris.org/issues/show_bug.cgi?id=3445
>

Could be, but I have to verify it.

Thanks!


Re: multiple svn front-ends, single SAN repo volume

2012-02-11 Thread Bruce Lysik
The current storage isn't on the SAN, so yes, we believe the new storage will 
be faster.  It's already many repositories, not a single one, so we're already 
in good shape there.
 
--
Bruce Z. Lysik 



 From: Les Mikesell 
To: Bruce Lysik  
Cc: "users@subversion.apache.org"  
Sent: Friday, February 10, 2012 10:50 PM
Subject: Re: multiple svn front-ends, single SAN repo volume
 
On Fri, Feb 10, 2012 at 11:29 PM, Bruce Lysik  wrote:
> We have a single server installation which is currently not fast enough.
>
> The LB pair + 3 svn front-ends + SAN storage is not strictly for
> performance, but also for reliability.  Scaling vertically would probably
> solve performance problems in the short term, but still wouldn't address
> single points of failure.
>
> Thanks for all the responses to this thread, it's very educational.

Is the current storage on the san?  If not, putting it there with
fail-over svn servers fixes the reliability issue without introducing
new locking issues.   And if the san is faster than the local disk it
may help with speed as well.    Does it all have to be in a single
repository?  If not, moving different parts to different svn servers
spreads the load without sharing the same transaction lock.

-- 
   Les Mikesell
    lesmikes...@gmail.com

Re: multiple svn front-ends, single SAN repo volume

2012-02-11 Thread Nico Kadel-Garcia
On Fri, Feb 10, 2012 at 6:14 PM, Stefan Sperling  wrote:
> On Fri, Feb 10, 2012 at 04:47:31PM -0600, Ryan Schmidt wrote:
>> So thinking all this through, I agree svnsync does not make sense if
>> you are hosting a repository on a SAN and trying to connect multiple
>> svn servers to it. But it sounds like it would work fine, if you
>> simply don't use svnsync. Configure one server to be the master (let
>> it accept write requests). Configure the other servers to be slaves
>> (read-only, and proxy any incoming write requests to the master). All
>> servers point to the same repository data on the SAN and it can't get
>> corrupted because only one server is writing to it. Sound ok?
>
> Ah, I see what you mean.
>
> Well, I suppose this would work, yes. You are essentially using
> the write-through proxy feature to implement load balancing for
> incoming TCP connections.
>
> But it isn't necessary because the SAN should support file locking
> so multiple concurrent servers writing to the same repository
> synchronise write operations anyway.

I would be *extremely* leery of this kind of multiple simultaneous
write access to a shared resource. Even with a SAN, filesystem changes
on one system are vulnerable to phase delays or interruptions, and
there have been way, way, way too many systems that worked very well
this way until stressed and corrupted the heck out of what were
supposed to be atomic corruptions. The ability of filesystem authors
to change specs and practics and update parameters, and create really
startling changes in systems that used to work well, is amazing.

If what you're running into is performance issues, I'm really going to
urge you to talk to Wandisco about their distributed multi-server
setup, which seems to to a very good job of doing synchronized,
distributed servers.


Re: multiple svn front-ends, single SAN repo volume

2012-02-11 Thread Nico Kadel-Garcia
On Sat, Feb 11, 2012 at 5:36 PM, Nico Kadel-Garcia  wrote:

> I would be *extremely* leery of this kind of multiple simultaneous
> write access to a shared resource. Even with a SAN, filesystem changes
> on one system are vulnerable to phase delays or interruptions, and
> there have been way, way, way too many systems that worked very well
> this way until stressed and corrupted the heck out of what were
> supposed to be atomic corruptions. The ability of filesystem authors
> to change specs and practics and update parameters, and create really
> startling changes in systems that used to work well, is amazing.

By the way: I'm not making this claim based on reading the Subversion
handling of atomic operations, but rather on several decades of
experience of exciting surprises in filesystem adventures.


svnserve daemon mode + SSH

2012-02-11 Thread André Hänsel
Hi list,

can I use svnserve in daemon mode (to take advantage of its authorization
mechanisms) and still have the client use an SSH tunnel (probably with
different credentials) to connect to it, so I only have to expose the SSH
port?

I found a post at http://svn.haxx.se/users/archive-2004-12/1413.shtml
talking about something called "SVN over SSH" but it's not mentioning how to
set it up.

Regards,
André



Re: svnserve daemon mode + SSH

2012-02-11 Thread Daniel Shahaf
You should look into either svn+ssh:// or using svnserve over ssh port
forwarding ('ssh -L').  These are two distinct options. The former is
documented in the book; some of the SSH set-up tips there are applicable
to both modes.

André Hänsel wrote on Sun, Feb 12, 2012 at 03:27:12 +0100:
> Hi list,
> 
> can I use svnserve in daemon mode (to take advantage of its authorization
> mechanisms) and still have the client use an SSH tunnel (probably with
> different credentials) to connect to it, so I only have to expose the SSH
> port?
> 
> I found a post at http://svn.haxx.se/users/archive-2004-12/1413.shtml
> talking about something called "SVN over SSH" but it's not mentioning how to
> set it up.
> 
> Regards,
> André
> 


Re: svnserve daemon mode + SSH

2012-02-11 Thread Nico Kadel-Garcia
On Sat, Feb 11, 2012 at 9:27 PM, André Hänsel  wrote:
> Hi list,
>
> can I use svnserve in daemon mode (to take advantage of its authorization
> mechanisms) and still have the client use an SSH tunnel (probably with
> different credentials) to connect to it, so I only have to expose the SSH
> port?
>
> I found a post at http://svn.haxx.se/users/archive-2004-12/1413.shtml
> talking about something called "SVN over SSH" but it's not mentioning how to
> set it up.

It's in the famous Subversion "Red Book", at
http://svnbook.red-bean.com/. It works well: the only difficulty with
it is managing the keys, which needs to be worked out thoughtfully as
a matter of policy file management. The last example, the one that
uses individual keys installed in an svn user account, forced
commands,  specific usernames tied to the keys with, and perhaps even
the "--root" directove to provide simpler URL's is the one you want to
use. I've been a strong proponent of it for years because it avoids
Linux and UNIX clients for Subversion storing passwords in cleartext,
as all such clients do by default for HTTP and HTTPS access. It also
can avoid fascinating interactions with Apache setups.

There are performance and configuration trade-offs, but I find it very
usefl, especially if I need to publish a freely accessible version of
the repository that can be just plain "http" accessed. This is how
www.sourceforge.net does this.


Finally got around to putting subversion-1.7.2 RPM building components at https://github.com/nkadel/subversion-1.7.2-srpm

2012-02-11 Thread Nico Kadel-Garcia
I finally got around to putting these up on github.com. I've submitted
these to repoforge, and will submit them to Fedora. These are the bits
and pieces necessary to build clean RPM's for RHEL 5, RHEL 6, and
recent Fedora releases of subversion-1.7.2.

The irony of publishing Subversion patches on a git repository is not
lost on me. There are also some subtleties in the .spec file: The
dependencies for KDE have changing names between releases of RHEL, and
don't work in older releases, so the .spec file does not enable them
for older releases.

The previously included "psvn" tools are still in the RPM's, even
though they're no longer in a "contrib" directory of Subversion source
code. The psvn tools are also *not* installed on older RHEL releases,
becauase the compatibility with Emacs has changed and they requie a
recent emacs. But rather than factor that out separately and get
incompatible with expected Fedora layouts, I just excluded it or not
as appropriate, because it *breaks* Emacs rather badly if Emacs is not
recent enough.

"serf" or "libserf" is not part of RHEL or Fedora, so serf support is
not yet enabled.

If it's desirable, I've got a structure for replacing the old RPM
building widgets in the Subversion source tree. It basically runs
"make" against a subversion.spec.in, and applies the above patches. I
can put that up as well if there's any desire to use that for testing.
The old existing structure replaces the user's ".rpmmacros" file,
without warning, which I personally consider quite nasty.


Re: Delta source ended unexpectedly [500, #200003] using Subversion 1.6.17 with Apache http server 2.2.21

2012-02-11 Thread Ravi Roy
On Sun, Feb 12, 2012 at 4:18 AM, Nico Kadel-Garcia  wrote:

> On Sat, Feb 11, 2012 at 4:10 AM, Ravi Roy  wrote:
> > Hello community,
> >
> > I have compiled subversion 1.6.17 and Apache 2.2.21 from source on CentOS
> > 5.6 and serving my repository using Apache httpd server with the
> following
> > details :
>
> If you need the latest Subversion features, consider hopping directly
> to the 1.7.1 or pending 1.7.2 release for RPMforge. My .spec files are
> at https://github.com/nkadel/subversion-1.7.2-srpm: Enjoy.
>

This is a decision which is not easy to take :-) Thanks.

>
> Why are you using CentOS 5.x to support such a large update as Apache
> 2.2.21? Wouldn't you be better off updateing to CentOS or Scientific
> Linux 6.x and using httpd-2.2.15 ?
>

Did not know about this (large update ..etc). I updated to httpd-2.2.15 but
problems were not resolved.
But when I downgraded to Subversion 1.6.12 alongwith httpd-2.2.15,
problems are resolved.

May be somebody needs to analyze as to why Subversion 1.6.17 have got these
problems...

Thanks everyone for help and support.


Re: multiple svn front-ends, single SAN repo volume

2012-02-11 Thread Blair Zajac

On 2/10/2012 10:21 AM, Bruce Lysik wrote:

Hi,

I'm considering deploying 3 front-ends, all mounting the same SAN volume
for repo. (The SAN handle flock() and fnctl() correctly.) These 3 FEs
would be load balanced by a Citrix Netscaler. (At least for http(s).)


The largest issues I've run into using a shared storage is not the 
flock() and fcntl() but the atomic renames.  fsfs will atomically rename 
three files to do a commit and the last rename of the 'current' file, on 
some shared filesystems, will result in points of time where the systems 
not doing a commit will not see a 'current' file.  If this happens, then 
any svn read or write operation on the repository will temporarily fail.


We had GPFS and it never failed to implement the posix requirements, but 
it was slow for the number of commits we were pushing (6/sec), so we 
ended up going to a single server solution with a standby.  There was 
another filesystem, I forgot its name, which didn't implement atomic 
renames correctly and wasn't usable for svn.


Have you tested your SAN deployment?

What I would do is create a fsfs repository and on one of your hosts, do 
as many commits per second as you can in a tight loop, then have another 
host in a tight loop do an operation on the repository, like get the log 
message of the HEAD revision.


If you want to test your flock() and fcntl() and see how well that 
performs, try to do as many commits per second into the same repo from 
two or more hosts.  In this case, have a repository with N directories 
and have each host modify a file in a single directory, that way you 
won't get any conflicts.


How many commits per second are you expecting in practice?

Blair

--
Blair Zajac, Ph.D.
CTO, OrcaWare Technologies

Subversion training, consulting and support
http://www.orcaware.com/svn/