Page MenuHomePhabricator

Service-based repositories in Phacility cluster fail too abruptly if cloning fails
Closed, ResolvedPublic

Description

I see the following when navigating to a newly created Diffusion repo that should mirror https://github.com/samplesizeofone/collapse :

Unhandled Exception ("ConduitClientException")
ERR-CONDUIT-CORE: File system entity `/core//repo/samplesizeofone/COLP/' does not exist.

Unfortunately, I don't seem to be able to delete the repository or check its settings.

phab.png (1×2 px, 208 KB)

Event Timeline

samplesizeofone raised the priority of this task from to Needs Triage.
samplesizeofone updated the task description. (Show Details)

We should improve the error handling behavior here. Because this is a clustered repository, we're failing more abruptly than we would with a non-service repository, but we should make the behavior more similar.

It looks like the credentials for the repository are incorrect. This error is occurring while trying to clone it:

Daemon 1 STDE [Wed, 05 Aug 2015 16:01:55 +0000] [2015-08-05 16:01:55] EXCEPTION: (PhutilProxyException) Error while updating the "rCOLP" repository. {>} (CommandException) Command failed with error #255!
Daemon 1 STDE [Wed, 05 Aug 2015 16:01:55 +0000] COMMAND
Daemon 1 STDE [Wed, 05 Aug 2015 16:01:55 +0000] '/core/lib/phabricator/bin/repository' update  -- 'COLP'
Daemon 1 STDE [Wed, 05 Aug 2015 16:01:55 +0000] 
Daemon 1 STDE [Wed, 05 Aug 2015 16:01:55 +0000] STDOUT
Daemon 1 STDE [Wed, 05 Aug 2015 16:01:55 +0000] (empty)
Daemon 1 STDE [Wed, 05 Aug 2015 16:01:55 +0000] 
Daemon 1 STDE [Wed, 05 Aug 2015 16:01:55 +0000] STDERR
Daemon 1 STDE [Wed, 05 Aug 2015 16:01:55 +0000] [2015-08-05 16:01:55] EXCEPTION: (CommandException) Command failed with error #128!
Daemon 1 STDE [Wed, 05 Aug 2015 16:01:55 +0000] COMMAND
Daemon 1 STDE [Wed, 05 Aug 2015 16:01:55 +0000] git clone --bare -- 'xxxxx' '/core//repo/samplesizeofone/COLP'
Daemon 1 STDE [Wed, 05 Aug 2015 16:01:55 +0000] 
Daemon 1 STDE [Wed, 05 Aug 2015 16:01:55 +0000] STDOUT
Daemon 1 STDE [Wed, 05 Aug 2015 16:01:55 +0000] (empty)
Daemon 1 STDE [Wed, 05 Aug 2015 16:01:55 +0000] 
Daemon 1 STDE [Wed, 05 Aug 2015 16:01:55 +0000] STDERR
Daemon 1 STDE [Wed, 05 Aug 2015 16:01:55 +0000] Cloning into bare repository '/core//repo/samplesizeofone/COLP'...
Daemon 1 STDE [Wed, 05 Aug 2015 16:01:55 +0000] Warning: Permanently added 'github.com,192.30.252.131' (RSA) to the list of known hosts.
Daemon 1 STDE [Wed, 05 Aug 2015 16:01:55 +0000] Permission denied (publickey).
Daemon 1 STDE [Wed, 05 Aug 2015 16:01:55 +0000] fatal: Could not read from remote repository.
Daemon 1 STDE [Wed, 05 Aug 2015 16:01:55 +0000] 
Daemon 1 STDE [Wed, 05 Aug 2015 16:01:55 +0000] Please make sure you have the correct access rights
Daemon 1 STDE [Wed, 05 Aug 2015 16:01:55 +0000] and the repository exists.
Daemon 1 STDE [Wed, 05 Aug 2015 16:01:55 +0000]  at [<phutil>/src/future/exec/ExecFuture.php:416]
Daemon 1 STDE [Wed, 05 Aug 2015 16:01:55 +0000] arcanist(head=stable, ref.master=29839e8c72c5, ref.stable=5fcf7b5a3b9e), libcore(), phabricator(head=stable, ref.master=b1a843b21a38, ref.stable=535c1a5f255e), phutil(head=stable, ref.master=992abe4a420c, ref.stable=aa6cd8f7e5e5), services(head=master, ref.master=576ad99b5406)
Daemon 1 STDE [Wed, 05 Aug 2015 16:01:55 +0000]   #0 ExecFuture::resolvex() called at [<phabricator>/src/applications/repository/storage/PhabricatorRepository.php:308]
Daemon 1 STDE [Wed, 05 Aug 2015 16:01:55 +0000]   #1 PhabricatorRepository::execxRemoteCommand(string, Phu... (854 more bytes) ... at [<phutil>/src/future/exec/ExecFuture.php:416]
Daemon 1 STDE [Wed, 05 Aug 2015 16:01:55 +0000] arcanist(head=stable, ref.master=29839e8c72c5, ref.stable=5fcf7b5a3b9e), libcore(), phabricator(head=stable, ref.master=b1a843b21a38, ref.stable=535c1a5f255e), phutil(head=stable, ref.master=992abe4a420c, ref.stable=aa6cd8f7e5e5), services(head=master, ref.master=576ad99b5406)
Daemon 1 STDE [Wed, 05 Aug 2015 16:01:55 +0000]   #0 <#3> ExecFuture::resolvex() called at [<phabricator>/src/applications/repository/daemon/PhabricatorRepositoryPullLocalDaemon.php:361]
Daemon 1 STDE [Wed, 05 Aug 2015 16:01:55 +0000]   #1 phlog(PhutilProxyException) called at [<phabricator>/src/applications/repository/daemon/PhabricatorRepositoryPullLocalDaemon.php:368]
Daemon 1 STDE [Wed, 05 Aug 2015 16:01:55 +0000]   #2 PhabricatorRepositoryPullLocalDaemon::resolveUpdateFuture(PhabricatorRepository, ExecFuture, integer) called at [<phabricator>/src/applications/repository/daemon/PhabricatorRepositoryPullLocalDaemon.php:201]
Daemon 1 STDE [Wed, 05 Aug 2015 16:01:55 +0000]   #3 PhabricatorRepositoryPullLocalDaemon::run() called at [<phutil>/src/daemon/PhutilDaemon.php:183]
Daemon 1 STDE [Wed, 05 Aug 2015 16:01:55 +0000]   #4 PhutilDaemon::execute() called at [<phutil>/scripts/daemon/exec/exec_daemon.php:125]

Have you double-checked that the credentials are correct and the private key you're using has permission to access the repository?

I'm almost certain I put in the wrong SSH key.

Unfortunately, I don't see anyway to access the repo configuration (all I see is what is in the screen shot originally attached). Is there an alternate route to repo configurations? Or is there a direct URL I could construct?

Alternately, I don't mind setting the repo up again if there is a way to delete it (and preferably recover its call sign).

If you manually go to /diffusion/COLP/edit/ does that work?

https://samplesizeofone.phacility.com/diffusion/COLP/edit/

I think that will work and let you fix it. If not, I can take a look at prioritizing a fix or workaround for this.

Er, sorry, had the wrong URL in the previous comment. Should be correct now, I think.

The edit link you provided let me fix my private key. I'm pretty sure I'm good to go now.

Thanks!

Another possible workaround would be to go find the credential in Passphrase and just update that, assuming the rest of the configuration is correct.

Awesome! I'll keep this around as context for getting the root issue fixed. Thanks for the report, and let us know if you run into anything else.

epriestley renamed this task from ConduitClientException for new repository in Diffusion to Service-based repositories in Phacility cluster fail too abruptly if cloning fails.Aug 5 2015, 4:16 PM
epriestley triaged this task as Normal priority.
epriestley edited projects, added Phacility, Diffusion; removed Phacility Support.

(This should deploy in the cluster on Saturday, give or take.)