You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@subversion.apache.org by NormW <no...@bocnet.com.au> on 2005/11/12 20:39:21 UTC

SVN and NetWare moves along...

Good morning All,
Based on Branko's advice, hopefully NetWare's APR is being fixed to make 
rename() work properly again. (Apparently at one time it did, but that's 
another story.)

By putting a patch into APR I can now get the 'merge' (from TortoiseSVN) 
to work correctly (one small step for...) but a closer look at svnserve 
to see why it won't unload on a NetWare box, and a few questions came to 
mind:

- At the bottom of main.c there's a while (1) loop, with no visible exit 
means on it; how do other platforms shut down 'svnserve'? (I'm using 
'daemon' mode since that's the closest we have of the modes that are 
available).

- Once a thread is created for a connection, does it ever close?

- It seems there is nothing to prevent a shutdown in the middle of 
request processing on a thread?

- Some MaxThreads count limit would be desirable I think.

If SVN 1.3 is still some distance off, can someone provide a link to the 
latest RC2 please? If I'm going to 'doodle' on these matters with a view 
to proposing patches then it is less wasted effort to use the 'latest'. 
(I'm currently working on 1.2.3)

TIA,
Norm


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org

Re: SVN and NetWare moves along...

Posted by NormW <no...@bocnet.com.au>.
I'm just looking to get it to unload on NetWare; the lluxury items come 
after that.
N.

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org

Re: SVN and NetWare moves along...

Posted by mark benedetto king <mb...@lowlatency.com>.
On Sun, Nov 13, 2005 at 06:37:55PM +0100, Branko ??ibej wrote:
> NormW wrote:
> >- At the bottom of main.c there's a while (1) loop, with no visible 
> >exit means on it; how do other platforms shut down 'svnserve'? (I'm 
> >using 'daemon' mode since that's the closest we have of the modes that 
> >are available).
> There's no way to shut down svnserve short of killing the process.
> 

This would be a nice feature to add (clean shutdown).  How would it
be triggered?

> >- Once a thread is created for a connection, does it ever close?
> Yes, a thread serves one request, then exits. I know it's not the most 
> optimal thing to do, but that's what we have now.
> 
> >- It seems there is nothing to prevent a shutdown in the middle of 
> >request processing on a thread?
> That's right.
> 
> >- Some MaxThreads count limit would be desirable I think.
> The trouble with this is that the "dumb" way of limiting the number of 
> threads could easily lead to a deadlock. A client can open several 
> interdependent connections to svnserve, and if we just blindly limited 
> the number of threads, that'd lead th clients blocking themselves.
> 
> (I tried that once, so this is based on experience, not conjecture. :)


Maybe something like 

    accept();
    if (thread_count > high_water)
        sleep(base*pow(backoff, thread_count - high_water));

might work as a heuristic to prevent the creation of more threads
than the server can handle, while still guaranteeing that all requests
complete... eventually.

Or maybe it's wiser to implement a "server too busy" response,
and let the clients figure it how to handle the error (this could
result in starvation, though).

--ben


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org

Re: SVN and NetWare moves along...

Posted by Branko Čibej <br...@xbc.nu>.
NormW wrote:
> - At the bottom of main.c there's a while (1) loop, with no visible 
> exit means on it; how do other platforms shut down 'svnserve'? (I'm 
> using 'daemon' mode since that's the closest we have of the modes that 
> are available).
There's no way to shut down svnserve short of killing the process.

> - Once a thread is created for a connection, does it ever close?
Yes, a thread serves one request, then exits. I know it's not the most 
optimal thing to do, but that's what we have now.

> - It seems there is nothing to prevent a shutdown in the middle of 
> request processing on a thread?
That's right.

> - Some MaxThreads count limit would be desirable I think.
The trouble with this is that the "dumb" way of limiting the number of 
threads could easily lead to a deadlock. A client can open several 
interdependent connections to svnserve, and if we just blindly limited 
the number of threads, that'd lead th clients blocking themselves.

(I tried that once, so this is based on experience, not conjecture. :)

> If SVN 1.3 is still some distance off, can someone provide a link to 
> the latest RC2 please? If I'm going to 'doodle' on these matters with 
> a view to proposing patches then it is less wasted effort to use the 
> 'latest'. (I'm currently working on 1.2.3)
I very strongly suggest you make your changes in a working copy checked 
out from SVN trunk. For one thing, you'll be tracking the latest code as 
well. For another, we won't accept patches against anything else.

-- Brane


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org

Re: SVN and NetWare moves along...

Posted by NormW <no...@bocnet.com.au>.
Good morning Eric from Au.
Thanks for the _very_ prompt reply! Can now continue the research.
Regards,
Norm

Erik Huelsmann wrote:
> On 11/12/05, NormW <no...@bocnet.com.au> wrote:
> 
> You should be able to find the RC2 at tarballs:
> http://lolut.utbm.info/pub/subversion-1.3.0/rc2/
> 
> HTH,
> 
> 
> Erik.


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org

Re: SVN and NetWare moves along...

Posted by Erik Huelsmann <eh...@gmail.com>.
On 11/12/05, NormW <no...@bocnet.com.au> wrote:
> Good morning All,
> Based on Branko's advice, hopefully NetWare's APR is being fixed to make
> rename() work properly again. (Apparently at one time it did, but that's
> another story.)
>
> By putting a patch into APR I can now get the 'merge' (from TortoiseSVN)
> to work correctly (one small step for...) but a closer look at svnserve
> to see why it won't unload on a NetWare box, and a few questions came to
> mind:
>
> - At the bottom of main.c there's a while (1) loop, with no visible exit
> means on it; how do other platforms shut down 'svnserve'? (I'm using
> 'daemon' mode since that's the closest we have of the modes that are
> available).
>
> - Once a thread is created for a connection, does it ever close?
>
> - It seems there is nothing to prevent a shutdown in the middle of
> request processing on a thread?
>
> - Some MaxThreads count limit would be desirable I think.
>
> If SVN 1.3 is still some distance off, can someone provide a link to the
> latest RC2 please? If I'm going to 'doodle' on these matters with a view
> to proposing patches then it is less wasted effort to use the 'latest'.
> (I'm currently working on 1.2.3)

You should be able to find the RC2 at tarballs:
http://lolut.utbm.info/pub/subversion-1.3.0/rc2/

HTH,


Erik.