Ryan Schmidt wrote on Fri, Oct 29, 2010 at 18:26:25 -0500:
> On Oct 29, 2010, at 17:11, Daniel Shahaf wrote:
> 
> > Short version: it's a bug in Google's backend, and I can reproduce it
> > with neon but not with serf.
> 
> > % $svn log -v -r2967 http://pure-lang.googlecode.com/svn/trunk 
> > --config-option servers:global:http-library=serf
> > ------------------------------------------------------------------------
> > % echo $?
> > 0
> > % $svn log -v -r2967 http://pure-lang.googlecode.com/svn/trunk 
> > --config-option servers:global:http-library=neon
> > ...
> > subversion/libsvn_ra_neon/util.c:773: (apr_err=160004)
> > svn: Observed changes didn't match count
> > % echo %?
> > 1
> > % ./tools/dev/which-error.py 160004
> > 00160004  SVN_ERR_FS_CORRUPT
> > % $svn --version | head -n2
> > svn, version 1.7.0 (dev build)
> >   compiled Oct 27 2010, 15:38:01
> > % 
> 
> I agree using serf instead of neon makes the error message go away.
> But it also doesn't actually show the list of files affected by the
> commit like it should. See "svn diff --summarize -r2967" for all the
> files that should be shown there.
> 

More specifically, it behaves as if there are no relevant revisions to show:

[[[
% $svn log -vr1000000 http://svn.eu.apache.org/repos/asf/subversion
------------------------------------------------------------------------

% $svn log -vr1000000 http://svn.eu.apache.org/repos/asf
------------------------------------------------------------------------
r1000000 | yonik | 2010-09-22 16:48:10 +0200 (Wed, 22 Sep 2010) | 1 line
Changed paths:
   M /lucene/dev/trunk/solr/CHANGES.txt
   M /lucene/dev/trunk/solr/src/java/org/apache/solr/search/FunctionQParser.java
   M /lucene/dev/trunk/solr/src/java/org/apache/solr/search/QueryParsing.java
   M 
/lucene/dev/trunk/solr/src/test/org/apache/solr/search/FunctionQParserTest.java
   M 
/lucene/dev/trunk/solr/src/test/org/apache/solr/search/function/TestFunctionQuery.java

SOLR-2128: full param substitution for function queries
------------------------------------------------------------------------

% 
]]]

There shouldn't be any authz restrictions on this repository, right?

> Also, even when I change http-library to serf in the servers config
> file, svnsync still shows the "Observed changes didn't match count"
> error. Does svnsync not use this library setting?
> 

Examining the code shows that the apr_hash_t *config is passed down to
svn_ra_open4(), and upon trying I cannot reproduce this:

[[[
% $svnsync init http://localhost:8081/t/{r2,r1}
DBG: ra_loader.c: 493: vtable='Module for accessing a repository via WebDAV 
protocol using serf.' url='http://localhost:8081/t/r2'
DBG: ra_loader.c: 493: vtable='Module for accessing a repository via WebDAV 
protocol using serf.' url='http://localhost:8081/t/r1'
Copied properties for revision 0.
% mkdir cfg
% cat > cfg/servers
[global]
http-library = neon
% $svnsync sync http://localhost:8081/t/r2 --config-dir cfg
DBG: ra_loader.c: 493: vtable='Module for accessing a repository via WebDAV 
protocol using Neon.' url='http://localhost:8081/t/r2'
DBG: ra_loader.c: 493: vtable='Module for accessing a repository via WebDAV 
protocol using Neon.' url='http://localhost:8081/t/r1'
Transmitting file data ............
Committed revision 1.
Copied properties for revision 1.
]]]

> 
> >> I'm unsure what we should try from here. Possibly this error is unique
> >> to Google Code's Subversion backend,
> > 
> > The error code confirms your suspicion.  Furthermore, the word
> > "Observed" doesn't appear in Subversion's source code.
> 
> I suppose we should report the problem to Google Code and hope they
> can uncorrupt the repository somehow?

Yes.  SVN_ERR_FS_CORRUPT justifies reporting this to the Google admins.

> Apparently a couple dozen
> subsequent revisions see the same error, through r2993.
> 

Reply via email to