SubVersion Detect and Checkout externals handling appears to be making SVN calls without Username

Version 1.8.1.325
Server 2012 R2
64bit
Bundled PostGreSQL
about 61% mem utiliziation, 25% CPU (CI idle)
Boot drive usage ~25%
Data drive usage ~86%, 133GB free it's a big drive.
SVN client version: svn, version 1.9.3 (r1718519)   compiled Dec 22 2015, 09:12:06 on x86_64-microsoft-windows6.2.9200
SVN server is VisualSVN 3.5.1, SVN 1.9.3, Apache 2.2.31, windows Server 2012 R2 and gobs of resources)

Roughly every second I'm getting the following in the windows application log:

Log Name:      Application
Source:        Continua
Date:          3/2/2017 4:08:36 PM
Event ID:      0
Task Category: None
Level:         Error
Keywords:      Classic
User:          N/A
Computer:      DevContinua.drbsystems.com
Description:
An error occurred while getting changesets for external with url 'https://devsubversion/svn/Development/Branches/SiteWatch_XCCS/SW22.9.X/Projects/XCCS/XCCMisc' at revision 'HEAD' of repository at url 'https://devsubversion.drbsystems.com/svn/Development'. Message: authentication failed

This seems to happen to every external in the repository, cycles through various paths.

We have a user/pass configured for the repository.  The Externals handling is set to 'Detect and Checkout..

Externals are definitely updating when there are other changes in the repository.

These requests aren't hitting our Active Directory server, I suspect that the svn command does not include a user name so when it hits the SVN server it just fails right off as there's nothing to authenticate.

If I left anything out, or you need more details let me know. I'll monitor this thread.

Hi,

Thank you for the detailed report. Does the external repository require different credential externals to the main repository? 

Continua CI attempts to run each command both with and without the credentials defined for the main repository. The order which this is done is based whether the external base url matches the base url of the main repository. If the urls match then the command is run first with credentials then, if this fails with an authentication error, it’s rerun without credentials. In your case the urls don’t match so the command is run without credentials first and then, if this fails with an authentication error, it’s rerun with credentials. 

We currently do not have a way to specify more than one set of credentials for a repository. If the credentials are different then your only option is to use separate Continua CI repository for the external. 

If the credentials required for the external are the same as the main repository then we would need to look at a debug log to work out what is going wrong here. Enable debug logging, restart the server, then wait until a changeset is picked up and the error reoccurs before sending the debug log to support@finalbuilder.com.  

Externals use same credentials, and I confirmed that users has full access.

Thanks for the details on how it works, that might explain these errors. I looked at several of our repositories and so far the URL of the repository matches the externals URL, however we have a lot of repositories defined and several externals so I’ll need to spend a little time making sure that they all match.

In the mean time I’ll enable debug logging, more information can’t hurt. I’ll post back on this thread as soon as I have more information one way or another.

Initial research and debug information confirms that we have some externals defined that are not using the FQDN for the server. I’m in the process of cleaning that up, it’ll take some time though as I’ll have to merge the changes around so avoid conflicts.

Thanks for the help, if this doesn’t clear up the problem I’ll capture debug information for any remaining issue and post a new thread. It think this can be closed/marked ‘user error’ :wink:

Might want to add this particular detail to a FAQ somewhere. I tried searching for “continuaci checking externals authentication failed” and didn’t turn up anything.