RE: Issue with browsing a SVN 1.9.2, schema 7, packed, repository

2015-12-11 Thread Cotrut, Michael
Hi Stefan,

Thanks for  your email.  
We've done two things. One, we realized that our tag folder is to flat and we 
made an archive organized by release, this moved about 4000 tags in a subfolder.
Second, the settings you suggested also made a big difference , this is what we 
ended up with:


  # Enable a 1 Gb Subversion data cache for both fulltext and deltas.
  SVNInMemoryCacheSize 1048576
  SVNCacheTextDeltas On
  SVNCacheFullTexts On
  MaxMemFree 4096


This fixed the issue we had and also improved performance in general. Thank you 
so much for your help.

Thanks,

Michael Cotrut
Consultant, DevCentre 
Canada Border Services Agency 
Place Vanier, 333 North River road, 17th floor, Tower A, 17th Floor 17077 
Ottawa, Ontario
343-291-6097 Office

-Original Message-
From: Stefan Fuhrmann [mailto:stef...@apache.org] 
Sent: December 10, 2015 7:42 AM
To: users@subversion.apache.org; Cotrut, Michael
Subject: Re: Issue with browsing a SVN 1.9.2, schema 7, packed, repository

> Hi,
>
> We've been using SVN for a couple of years, recently we migrated from 1.7.6 
> to 1.9.2. We also
> migrated (dump and load) some of the larger repositories to schema 7 and 
> packed them.

So, you have not tried the old repository format with 1.9.2?
If you should have a copy of that available (backup?), put
that one onto the server in a separate dir/location, e.g.
"my-repo-old".  Test whether the problem occurs with the old
format as well.

> One of this recently migrated repositories (  SVN 1.9.2 schema 7 repository)  
> is about 100
> GB mostly jar files under tags. About 9000 tags.

Format 7 will hardly give you any advantage with large binary
files without deep histories. Results may differ, though.

9000 entries in a single directory is a lot but not excessive.

> When browsing  the root/tags with TortoiseSVN 1.9.2 the operation hangs and 
> causes  the server
> to recycle after a couple of minutes.  This happens consistently every single 
> time we try
> to browse the root/tags of the repository.
> We've got same issue when testing SmartSVN.

It sounds like your server is running out of memory. Observe
the memory usage of the httpd.exe processes (there may be 2
of them) while running the request.

> The same browsing operation was working in 1.7.6, would take a couple of 
> minutes (4-5)  but
> was working.

My guess is that SVN 1.9.2 simply uses slightly more memory
than 1.7.6 did.  A normal 'svn ls -v' should take only a
second or so.  The long execution time is a strong indicator
that your server is doing something expensive and possibly
memory-consuming.  So, while 1.7.6 might have kept it just
below the out-of-memory threshold, 1.9.2 needs a few percent
more and crosses it.

> Faulting application httpd.exe, version 2.2.29.0, time stamp 0x5550b4ed, 
> faulting module libsvn_subr-1.dll,
> version 1.9.2.65436, time stamp 0x561e5208, exception code 0x4015, fault 
> offset 0x00026624,
> process id 0x968, application start time 0x01d131b996a721ff.

0x4015 is basically an "abort".  We do this when we need
more memory but can't get it.

9000 directory entries is around the capacity of the default
cache configuration (16MB).  Make sure, you set the cache to
at least 100MB ("SVNInMemoryCacheSize 102400" in httpd.conf)
but NOT larger than 1GB in case you are using 32 bit Apache.

Set "MaxMemFree" in httpd.conf to something like 4096.  The
default of 0 is problematic.

Also, there is a fair chance that you are using path-based
authorization (authz). Disable it and see whether that makes
a difference.  E.g. create a separate  for the same
repo without authz.

Let us know what you found.

-- Stefan^2.




Re: Issue with browsing a SVN 1.9.2, schema 7, packed, repository

2015-12-11 Thread Stefan Sperling
On Thu, Dec 10, 2015 at 01:41:40PM +0100, Stefan Fuhrmann wrote:
> 0x4015 is basically an "abort".  We do this when we need
> more memory but can't get it.
> 
> 9000 directory entries is around the capacity of the default
> cache configuration (16MB).  Make sure, you set the cache to
> at least 100MB ("SVNInMemoryCacheSize 102400" in httpd.conf)
> but NOT larger than 1GB in case you are using 32 bit Apache.
>
> Set "MaxMemFree" in httpd.conf to something like 4096.  The
> default of 0 is problematic.

Would it be feasible to avoid crashing when the cache is misconfigured,
or even set to the default setting, so users see a performance drop
instead of a crash?

I know our code is very lazy about checking allocations in general (which
I don't like, but that's besides the point). In this context some additional
effort into avoiding crashes would be a worthwhile investment.


Creating working copy without checkouting- to use svn add and svn ci form cron for /home

2015-12-11 Thread Peter Fodrek
Dear Subversion experts,

I would like to monitor /home directory for X-host that is used by  
20 X-terminals for eductional classroom.
I want to monitor students work flor evalution a to find out who is cheating 
by copying others programs.

I was done svn import for /home succesfully. 
I do not want to checkout repository to the  /home as it is risky 

svn commit does not work as /home is not working copy o the repository
svn import does not work as well becuase of duplicity


Is there any way to setup /home as working copy without checkout,please?


I was mentioned  that I do chcekout in another directory and simply copy .svn 
directory into /home as a workarround. Does anybody know if it will 
work,please ? Is it correct or it is solution with as less as possible 
incorrectness, please?
 

I look forward hearing from you

Yours faithfully

Peter Fodrek


Re: Creating working copy without checkouting- to use svn add and svn ci form cron for /home

2015-12-11 Thread Eric Johnson
Your questions are somewhat confusing, because you seem to state a number
of different problems that you want to solve:
- which students are copying?
- how to do a checkout without a working copy?
- can you just copy the .svn folder of a working copy some place else? (And
expect what to work, exactly?)

I think your first question is bigger than this mailing list, and I don't
see how Subversion can help you solve that problem.

Your second question doesn't make sense to me, insofar as I don't
understand what you mean by a working copy without a checkout? Do you mean
you want person A to checkout, and B uses a working copy? Or do you mean
you want a checkout at one point in time, and then later use of the same
working copy when the server is not available?

For your third question, I have a suspicion you'll be unsatisfied trying
that, as the first thing you'll need to do is an "svn revert -R ." to
restore the missing files, which will effective amount to having a clean
checkout.

Eric.


On Fri, Dec 11, 2015 at 7:35 AM, Peter Fodrek  wrote:

> Dear Subversion experts,
>
> I would like to monitor /home directory for X-host that is used by
> 20 X-terminals for eductional classroom.
> I want to monitor students work flor evalution a to find out who is
> cheating
> by copying others programs.
>
> I was done svn import for /home succesfully.
> I do not want to checkout repository to the  /home as it is risky
>
> svn commit does not work as /home is not working copy o the repository
> svn import does not work as well becuase of duplicity
>
>
> Is there any way to setup /home as working copy without checkout,please?
>
>
> I was mentioned  that I do chcekout in another directory and simply copy
> .svn
> directory into /home as a workarround. Does anybody know if it will
> work,please ? Is it correct or it is solution with as less as possible
> incorrectness, please?
>
>
> I look forward hearing from you
>
> Yours faithfully
>
> Peter Fodrek
>


Re: Unexpected HTTP status 400 'Bad request'.

2015-12-11 Thread Chris Capon

On 2015-12-08 11:16, Stefan Sperling wrote:
please try raising HTTPD's LogLevel to "Debug" or higher. See 
http://httpd.apache.org/docs/2.4/mod/core.html#loglevel Perhaps that 
will shed more light on the problem. 


Hi All.
I appreciate the time you guys are taking to help me.  Thank you.

Here is the output of the *Apache2 error.log* after setting the level to 
*DEBUG* and re-running the test.





*Here is the output from a shell prompt on the Subversion server:*

myself@myserver:~/Folder$ svn checkout 
https://myserver/svn/repository/dev/trunk --username myself dev

Passphrase for '/home/myself/Folder/myself.p12': ***

Adev/code
Adev/code/provider
Adev/code/provider/Investor
Adev/code/provider/Investor/Properties
Adev/code/provider/Plugin
Adev/code/provider/Plugin/Properties
Adev/code/provider/Client
Adev/code/provider/Client/Properties
Adev/code/provider/ClientInstitutional
Adev/code/provider/Client/Price-wrapper.xml
Adev/code/provider/Client/Account.xsd
Adev/code/provider/Client/History-sample.xml
Adev/code/provider/ClientInstitutional/migrate.xml
svn: E175002: Unexpected HTTP status 400 'Bad request' on 
'/svn/repository/!svn/rvr/3062/dev/trunk/code/provider/Investor/Investor.cs'

myself@myserver:~/Folder$




*Most of the Apache2 error.log on the server is filled with GET requests 
(2,198 of them).  Each of the GET requests is made up of 4 lines that 
look like this:**

*

[Fri Dec 11 17:40:07.405190 2015] [authz_core:debug] [pid 9390] 
mod_authz_core.c(809): [client 127.0.0.1:46222] AH01626: authorization 
result of Require valid-user : denied (no authenticated user yet)
[Fri Dec 11 17:40:07.405199 2015] [authz_core:debug] [pid 9390] 
mod_authz_core.c(809): [client 127.0.0.1:46222] AH01626: authorization 
result of : denied (no authenticated user yet)
[Fri Dec 11 17:40:07.405490 2015] [authz_svn:debug] [pid 9390] 
mod_authz_svn.c(450): [client 127.0.0.1:46222] Path to authz file is 
/root/subversion/.apache-auth
[Fri Dec 11 17:40:07.405502 2015] [authz_svn:info] [pid 9390] [client 
127.0.0.1:46222] Access granted: 'myself' *GET repository:/dev*



*The first few requests are OPTIONS and PROPFIND, the rest are all GET 
requests.  Here are the first few (imagine each being made up of the 4 
lines above):**

*

... OPTIONS repository:/dev/trunk
... OPTIONS repository:/dev/trunk
... OPTIONS repository:/dev/trunk
... PROPFIND repository:/dev/trunk
... OPTIONS repository:/dev/trunk
... REPORT repository:/dev/trunk
... GET repository:/dev
... GET repository:/
... REPORT repository:
... GET repository:/dev/trunk
... GET repository:/dev/trunk/code
... GET repository:/dev/trunk/code/provider
... GET repository:/dev/trunk/code/provider/Investor
... GET repository:/dev/trunk/code/provider/Investor/Investor.cs
... GET 
repository:/dev/trunk/code/provider/Investor/provider.Investor.csproj

... GET repository:/dev/trunk/code/provider/Investor/migrate.xml
... GET repository:/dev/trunk/code/provider/Investor/transform.xml
... GET repository:/dev/trunk/code/provider/Investor/data.cs
... GET repository:/dev/trunk/code/provider/Investor/data.xml
... GET repository:/dev/trunk/code/provider/Investor/Properties
... GET 
repository:/dev/trunk/code/provider/Investor/Properties/AssemblyInfo.cs

... (continues on for 2,198 requests)


*
**After removing all the GET requests, here is what remains in the 
Apache2 error.log file:**

*
[Fri Dec 11 17:40:02.071015 2015] [ssl:info] [pid 9390] [client 
127.0.0.1:46222] AH01964: Connection to child 0 established (server 
my.server.org:443)
[Fri Dec 11 17:40:02.071400 2015] [ssl:debug] [pid 9390] 
ssl_engine_kernel.c(1940): [client 127.0.0.1:46222] AH02044: No matching 
SSL virtual host for servername myserver found (using default/first 
virtual host)
[Fri Dec 11 17:40:07.368155 2015] [ssl:debug] [pid 9390] 
ssl_engine_kernel.c(1397): [client 127.0.0.1:46222] AH02275: Certificate 
Verification, depth 1, CRL checking mode: none [subject: 
CN=CertificateAuthority,OU=Development,O=MyCompany,L=MyTown,ST=MyState,C=CA 
/ issuer: 
CN=CertificateAuthority,OU=Development,O=MyCompany,L=MyTown,ST=MyState,C=CA 
/ serial: D8F3B73A249AB90D / notbefore: Dec  7 04:48:38 2011 GMT / 
notafter: Dec  4 04:48:38 2021 GMT]
[Fri Dec 11 17:40:07.368283 2015] [ssl:debug] [pid 9390] 
ssl_engine_kernel.c(1397): [client 127.0.0.1:46222] AH02275: Certificate 
Verification, depth 0, CRL checking mode: none [subject: 
CN=myself,OU=Development,O=MyCompany,ST=MyState,C=CA / issuer: 
CN=CertificateAuthority,OU=Development,O=MyCompany,L=MyTown,ST=MyState,C=CA 
/ serial: 100124 / notbefore: Dec  7 04:53:34 2011 GMT / notafter: Dec  
4 04:53:34 2021 GMT]
[Fri Dec 11 17:40:07.368923 2015] [ssl:debug] [pid 9390] 
ssl_engine_kernel.c(1860): [client 127.0.0.1:46222] AH02041: Protocol: 
TLSv1.2, Cipher: ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)
[Fri Dec 11 17:40:07.369230 2015] [ssl:debug] [pid 9390] 
ssl_engine_kernel.c(245): [client 127.0.0.1:46222] AH02034