flowable/flowable-engine · error · FlowableException

Error retrieving process info

Error message

Error retrieving process info

What it means

ProcessEngineResource.getEngineInfo wraps any exception thrown while building the engine info response in a FlowableException with message 'Error retrieving process info'. It signals that querying the process engine's metadata/state (including any stored engine exception info) failed unexpectedly, with the root cause attached as the cause.

Source

Thrown at modules/flowable-rest/src/main/java/org/flowable/rest/service/api/management/ProcessEngineResource.java:70

    public EngineInfoResponse getEngineInfo() {
        if (restApiInterceptor != null) {
            restApiInterceptor.accessManagementInfo();
        }
        
        EngineInfoResponse response = new EngineInfoResponse();

        try {
            EngineInfo engineInfo = ProcessEngines.getProcessEngineInfo(engine.getName());
            if (engineInfo != null) {
                response.setName(engineInfo.getName());
                response.setResourceUrl(engineInfo.getResourceUrl());
                response.setException(engineInfo.getException());
            } else {
                // Revert to using process-engine directly
                response.setName(engine.getName());
            }
        } catch (Exception e) {
            throw new FlowableException("Error retrieving process info", e);
        }

        response.setVersion(ProcessEngine.class.getPackage().getImplementationVersion());
        return response;
    }
}

View on GitHub (pinned to d6d39ce1c6)

Solutions

  1. Inspect the exception's 'cause' in server logs for the root problem
  2. Verify the process engine is initialized and the database is reachable before calling the endpoint
  3. Check Flowable datasource configuration (JDBC URL, credentials, driver) and test connectivity
  4. Restart the application/container to reinitialize the engine if it was closed mid-flight

Example fix

// before (diagnosis)
HTTP GET /management/engine -> 500 'Error retrieving process info'
// after
// check server log for 'Caused by: ...' and fix datasource, e.g.:
// spring.datasource.url=jdbc:h2:tcp://localhost/~/flowable;AUTO_SERVER=TRUE
Defensive patterns

Strategy: try-catch

Validate before calling

// verify engine health before calling info endpoint
boolean dbUp = pingDatabase(dataSource); // e.g. run 'SELECT 1'
if (!dbUp) { skipEngineInfoCall(); }

Try / catch

try {
    EngineInfoResponse info = restTemplate.getForObject(base + "/management/engine", EngineInfoResponse.class);
} catch (HttpServerErrorException e) {
    throw new IllegalStateException("Engine info unavailable; check server logs for root cause", e);
}

Prevention

When it happens

Trigger: GET /management/engine (getEngineInfo) when the underlying ProcessEngine/ManagementService call throws — e.g. engine not properly initialized, database unreachable while resolving engine info, or engineInfo retrieval failing.

Common situations: Flowable engine misconfiguration at startup; database down or connection pool exhausted; accessing the endpoint before/while the engine is being closed; classpath/version problems where engine introspection fails.

Related errors


AI-assisted analysis of flowable/flowable-engine@d6d39ce1c6 (2026-09-11). Data as JSON: /api/errors/274ceccfa95f9adf. Report an issue: GitHub.