{"record":{"id":"5ca0a7bdf22ae7b7","repo":"phacility/phabricator","slug":"repository-s-is-not-a-cluster-repository-it-is","errorCode":null,"errorMessage":"Repository \"%s\" is not a cluster repository: it is not bound to an Almanac service.","messagePattern":"Repository \"(.+?)\" is not a cluster repository: it is not bound to an Almanac service\\.","errorType":"console","errorClass":"PhutilArgumentUsageException","httpStatus":null,"severity":"error","filePath":"src/applications/repository/management/PhabricatorRepositoryManagementThawWorkflow.php","lineNumber":210,"sourceCode":"    foreach ($devices as $device) {\n      foreach ($repositories as $repository) {\n        $repository_phid = $repository->getPHID();\n\n        $write_lock = PhabricatorRepositoryWorkingCopyVersion::getWriteLock(\n          $repository_phid);\n\n        echo tsprintf(\n          \"%s\\n\",\n          pht(\n            'Waiting to acquire write lock for \"%s\"...',\n            $repository->getDisplayName()));\n\n        $write_lock->lock(phutil_units('5 minutes in seconds'));\n        try {\n\n          $service = $repository->loadAlmanacService();\n          if (!$service) {\n            throw new PhutilArgumentUsageException(\n              pht(\n                'Repository \"%s\" is not a cluster repository: it is not '.\n                'bound to an Almanac service.',\n                $repository->getDisplayName()));\n          }\n\n          if ($promote) {\n            // You can only promote active devices. (You may demote active or\n            // inactive devices.)\n            $bindings = $service->getActiveBindings();\n            $bindings = mpull($bindings, null, 'getDevicePHID');\n            if (empty($bindings[$device->getPHID()])) {\n              throw new PhutilArgumentUsageException(\n                pht(\n                  'Repository \"%s\" has no active binding to device \"%s\". '.\n                  'Only actively bound devices can be promoted.',\n                  $repository->getDisplayName(),\n                  $device->getName()));","sourceCodeStart":192,"sourceCodeEnd":228,"githubUrl":"https://github.com/phacility/phabricator/blob/5720a38cfe95b00ca4be5016dd0d2f3195f4fa04/src/applications/repository/management/PhabricatorRepositoryManagementThawWorkflow.php#L192-L228","documentation":"Error \"Repository \"%s\" is not a cluster repository: it is not bound to an Almanac service.\" thrown in phacility/phabricator.","triggerScenarios":"Thrown at src/applications/repository/management/PhabricatorRepositoryManagementThawWorkflow.php:210 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":[],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"5720a38cfe95b00ca4be5016dd0d2f3195f4fa04","analyzedAt":"2026-08-21T05:07:25.672Z","schemaVersion":2},"datasetVersion":"2026-08-21T11:28:35.574Z"}