paascloud/paascloud-master · error · OmcBizException
OMC10031012
OMC10031012
Error message
OMC10031012
What it means
ErrorCodeEnum.OMC10031012 ('upload failed', 上传失败) is thrown by OpcOssServiceImpl.uploadFile when the opc-oss Feign call returns a null Wrapper or a Wrapper in error state. It wraps any failure of the remote OSS file-upload service (network error, Feign fallback, or downstream rejection) as a single business exception.
Solutions
- Check that the opc-oss service is running and registered (registry console / /health endpoint)
- Inspect opc-oss logs for the real cause (bucket/credentials/size limit) and fix the downstream issue
- Verify Feign timeout and fallback configuration for opcOssFeignApi; add retry for transient failures
Example fix
// before
Wrapper<OptUploadFileRespDto> wrapper = opcOssFeignApi.uploadFile(optUploadFileReqDto);
if (null == wrapper || wrapper.error()) {
throw new OmcBizException(ErrorCodeEnum.OMC10031012);
}
// after
Wrapper<OptUploadFileRespDto> wrapper = opcOssFeignApi.uploadFile(optUploadFileReqDto);
if (null == wrapper || wrapper.error()) {
log.error("oss upload failed, reason={}", wrapper == null ? "no response/fallback" : wrapper.getError());
throw new OmcBizException(ErrorCodeEnum.OMC10031012);
} Defensive patterns
Strategy: retry
Validate before calling
Preconditions.checkNotNull(optUploadFileReqDto, "upload request required"); // optionally check file size/type before calling the remote service
Try / catch
try {
OptUploadFileRespDto resp = opcOssService.uploadFile(req);
} catch (OmcBizException e) {
if (e.getCode() == 10031012) { /* surface upload failure; check opc-oss health */ }
else throw e;
} Prevention
- Monitor opc-oss service health/registration before traffic peaks
- Enforce file size/type limits at the edge before forwarding to OSS
- Keep OSS credentials and bucket config validated in each environment
- Add Feign timeouts and bounded retries for transient RPC failures
When it happens
Trigger: Calling uploadFile(optUploadFileReqDto) when the opc-oss service is down/unreachable, the Feign client returns its error fallback (null wrapper), or the OSS service rejects the file (size/type limits, storage failure) — wrapper.error() true.
Common situations: opc-oss provider not registered in the registry (service not deployed), file exceeding OSS size limits, expired OSS credentials/bucket config, network partition between services.
Related errors
AI-assisted analysis of paascloud/paascloud-master@781281a950 (2026-09-10).
Data as JSON: /api/errors/0e9a23154b822d08.
Report an issue: GitHub.
Appendix: source
Thrown at paascloud-provider/paascloud-provider-omc/src/main/java/com/paascloud/provider/service/impl/OpcOssServiceImpl.java:43
import javax.annotation.Resource;
/**
* The class Opc oss service.
*
* @author paascloud.net@gmail.com
*/
@Slf4j
@Service
public class OpcOssServiceImpl implements OpcOssService {
@Resource
private OpcOssFeignApi opcOssFeignApi;
@Override
public OptUploadFileRespDto uploadFile(OptUploadFileReqDto optUploadFileReqDto) {
log.info("uploadFile - 上传附件. optUploadFileReqDto={}", optUploadFileReqDto);
Wrapper<OptUploadFileRespDto> wrapper = opcOssFeignApi.uploadFile(optUploadFileReqDto);
if (null == wrapper || wrapper.error()) {
throw new OmcBizException(ErrorCodeEnum.OMC10031012);
}
return wrapper.getResult();
}
@Override
public String getFileUrl(OptGetUrlRequest optGetUrlRequest) {
log.info("getFileUrl - 获取附件地址. optUploadFileReqDto={}", optGetUrlRequest);
Wrapper<String> wrapper = opcOssFeignApi.getFileUrl(optGetUrlRequest);
if (null == wrapper || wrapper.error()) {
throw new OmcBizException(ErrorCodeEnum.OMC10031013);
}
return wrapper.getResult();
}
}
View on GitHub (pinned to 781281a950)