apolloconfig/apollo · error · BadRequestException
Env: %s is not supported emergency publish now
Error message
Env: %s is not supported emergency publish now
What it means
Thrown when a portal user or user token attempts an emergency publish in an environment where emergency publish is disabled by portal configuration. Consumer tokens are exempt from this check.
Source
Thrown at apollo-portal/src/main/java/com/ctrip/framework/apollo/openapi/v1/controller/ReleaseController.java:250
releaseModel.setNamespaceName(namespaceName);
releaseModel.setReleaseTitle(releaseDTO.getReleaseTitle());
releaseModel.setReleaseComment(releaseDTO.getReleaseComment());
releaseModel.setReleasedBy(releasedBy);
releaseModel.setEmergencyPublish(Boolean.TRUE.equals(releaseDTO.getIsEmergencyPublish()));
return releaseModel;
}
private String payloadReleasedBy(NamespaceReleaseDTO releaseDTO) {
return releaseDTO == null ? null : releaseDTO.getReleasedBy();
}
private void checkEmergencyPublishAllowedForUser(String env, boolean emergencyPublish) {
String authType = UserIdentityContextHolder.getAuthType();
if (emergencyPublish
&& (UserIdentityConstants.USER.equals(authType)
|| UserIdentityConstants.USER_TOKEN.equals(authType))
&& !portalConfig.isEmergencyPublishAllowed(Env.valueOf(env))) {
throw new BadRequestException("Env: %s is not supported emergency publish now", env);
}
}
private String resolveOperator(String queryOperator, String payloadOperator) {
String authType = UserIdentityContextHolder.getAuthType();
if (UserIdentityConstants.USER.equals(authType)
|| UserIdentityConstants.USER_TOKEN.equals(authType)) {
UserInfo loginUser = userInfoHolder.getUser();
if (loginUser == null || StringUtils.isBlank(loginUser.getUserId())) {
throw new BadRequestException("Current user not found");
}
return loginUser.getUserId();
}
if (UserIdentityConstants.CONSUMER.equals(authType)) {
String operator = StringUtils.isBlank(queryOperator) ? payloadOperator : queryOperator;
RequestPrecondition.checkArguments(!StringUtils.isContainEmpty(operator),
"operator should not be null or empty");View on GitHub (pinned to d95fc18d11)
Solutions
- Do not set isEmergencyPublish=true for this environment; publish a normal release instead.
- Have an Apollo administrator enable emergency publish for the environment via the portal config (apollo.portal.emergencyPublish.allowed or equivalent per-env setting).
- Retry the release without the emergencyPublish flag.
When it happens
Trigger: Thrown when an emergency publish is requested via the OpenAPI release endpoint for an environment whose portaldb ServerConfig does not enable emergency publish.
Common situations: The env (e.g. PROD) has emergency publish disabled in config; the caller passes an env name that is not configured for emergency publish.
AI-assisted analysis of apolloconfig/apollo@d95fc18d11 (2026-08-14).
Data as JSON: /api/errors/12809e7443a145e3.
Report an issue: GitHub.