subversion - svnsync synchronize hangs - how to debug?

447 views
Skip to first unread message

Marc Breslow

unread,
Dec 1, 2014, 2:30:58 PM12/1/14
to us...@subversion.apache.org

Hi:

I’ve been trying to get an SVN repository to synchronize to a target server. When I run the
svnsync synchronize [target-http-url] [target-svn+ssh-url] I get the following output:

Transmitting file data .

It just hangs there. I managed to get some logging on the svnserve source side switched on and the last entry I see in the log is:

32272 2014-12-01T18:28:35.638273Z - [uid] [repo-name] replay / r108

Would love some suggestions about how to debug this. I've checked out revisions 107, 108 and 109 successfully.

Thanks!

Andreas Stieger

unread,
Dec 1, 2014, 4:06:59 PM12/1/14
to Marc Breslow, us...@subversion.apache.org
Hi,

> On 1 Dec 2014, at 18:40, Marc Breslow <marc...@gmail.com> wrote:
>
> I’ve been trying to get an SVN repository to synchronize to a target server. When I run the
> svnsync synchronize [target-http-url] [target-svn+ssh-url] I get the following output:
>
> Transmitting file data .

Why are you specifying the target twice?

> It just hangs there. I managed to get some logging on the svnserve source side switched on and the last entry I see in the log is:
>
> 32272 2014-12-01T18:28:35.638273Z - [uid] [repo-name] replay / r108

Does the target repository start a transaction, is there network traffic and is the in-progress transaction changing on disk?

>
> Would love some suggestions about how to debug this. I've checked out revisions 107, 108 and 109 successfully.

Does "svnadmin dump" and "svnrdump dump" finish giving dumps for these revisions?

Does syncing from a file:// source (on source host) to destination work?

Andreas

Marc Breslow

unread,
Dec 2, 2014, 10:13:50 AM12/2/14
to Andreas Stieger, us...@subversion.apache.org
+Mailing list

> On Dec 1, 2014, at 4:30 PM, Marc Breslow <marc...@gmail.com> wrote:
>
> Hi Andreas. Thanks so much for your quick reply. Please find my responses inline:
> —Marc
>
>> On Dec 1, 2014, at 4:06 PM, Andreas Stieger <andreas...@gmx.de> wrote:
>>
>> Hi,
>>
>>> On 1 Dec 2014, at 18:40, Marc Breslow <marc...@gmail.com> wrote:
>>>
>>> I’ve been trying to get an SVN repository to synchronize to a target server. When I run the
>>> svnsync synchronize [target-http-url] [target-svn+ssh-url] I get the following output:
>>>
>>> Transmitting file data .
>>
>> Why are you specifying the target twice?
>
> I’m not. I just wrote it wrong in the email. Sorry about that. Corrected to this
>
> svnsync synchronize [target-http-url] [source-svn+ssh-url]
>
>>
>>> It just hangs there. I managed to get some logging on the svnserve source side switched on and the last entry I see in the log is:
>>>
>>> 32272 2014-12-01T18:28:35.638273Z - [uid] [repo-name] replay / r108
>>
>> Does the target repository start a transaction, is there network traffic and is the in-progress transaction changing on disk?
>
> I don’t have direct access to the target svn server. I will need to work with someone tomorrow to find this out.
> svn info [target-url] shows
> Revision: 0
> Node Kind: directory
> Last Changed Rev: 0
>
>>
>>>
>>> Would love some suggestions about how to debug this. I've checked out revisions 107, 108 and 109 successfully.
>>
>> Does "svnadmin dump" and "svnrdump dump" finish giving dumps for these revisions?
>
> svnrdump dump [source-svn+ssh-url] -r [rev] —incremental succeeds for revs 107, 108 and 109
> svnadmin dump [local-path-to-repo] -r [rev] —incremental succeeds for revs 107, 108 and 109
>
>>
>> Does syncing from a file:// source (on source host) to destination work?
>
> There is no route to target from source host. One of the reasons why I am doing this sync.
>
>>
>> Andreas
>>
>

Marc Breslow

unread,
Dec 4, 2014, 10:01:11 AM12/4/14
to Andreas Stieger, us...@subversion.apache.org
Did some more testing here and still stuck.

In one test I changed the sync source to be a different repository on a different server and sync worked.  So pretty sure it is an issue with the source repo now.

There was also a question: 
Does the target repository start a transaction, is there network traffic and is the in-progress transaction changing on disk?

We see the timestamp on the db/txn-current file being updated when svnsync synchronize starts but we don't see the content of that file changing from 'a'

Any other thoughts on what the issue might be?

Philip Martin

unread,
Dec 4, 2014, 12:51:43 PM12/4/14
to Marc Breslow, Andreas Stieger, us...@subversion.apache.org
Marc Breslow <marc...@gmail.com> writes:

> Did some more testing here and still stuck.
>
> In one test I changed the sync source to be a different repository on a
> different server and sync worked. So pretty sure it is an issue with the
> source repo now.

>> >
>> > svnsync synchronize [target-http-url] [source-svn+ssh-url]
>> >
>> >>> It just hangs there.

To rule out HTTP you could create a local repository and change the
target URL from

http://http-server/...

to

file:///...

You said you already managed to get some svnserve logging, so the next
step would be to examine the traffic. Something like wireshark will
capture it but it will be encrypted. One way to get unencrypted svn+ssh
traffic is to set up a proxy on the machine running svnsync:

socat -v TCP-LISTEN:9630,reuseaddr,fork EXEC:'ssh ssh-server svnserve -t'

and change your source URL from

svn+ssh://ssh-server/...

to

svn://localhost:9630/...

In this way the network traffic is still encrypted but the socat proxy
dumps the unencrypted traffic to the terminal.

If the svnserve process on the ssh server really is hanging then you
need to log on to server and debug that process. Perhaps attach gdb to
the running process and get a backtrace, or attach strace to the running
process and see what system calls are happening.

--
Philip Martin | Subversion Committer
WANdisco // *Non-Stop Data*
Reply all
Reply to author
Forward
0 new messages