OpenFlow Protocol

Errors

Error Handling

Error Classification

The OpenFlow Protocol defines a standardized error classification system organized by category:

Validation Errors (1000-1999)

CodeError TypeDescriptionCommon Causes
1001SCHEMA_VALIDATION_ERRORFlow does not conform to required schemaMissing required fields, incorrect JSON structure
1002MISSING_REQUIRED_FIELDRequired property is missingIncomplete flow definition
1003INVALID_TYPEProperty value does not match expected typeString provided where number expected
1004INVALID_FORMATProperty value format is incorrectInvalid email, URL, or regex format
1005DUPLICATE_IDENTIFIERNon-unique ID found within scopeDuplicate node IDs, variable names
1006CIRCULAR_DEPENDENCYCircular reference detected in flowNode A depends on Node B which depends on Node A
1007MISSING_DEPENDENCYReferenced variable or node not foundTypo in variable reference
1008FORWARD_REFERENCEInvalid reference to future nodeNode references another node that executes later

Execution Errors (2000-2999)

CodeError TypeDescriptionRecovery Actions
2001NODE_EXECUTION_ERRORGeneric node execution failureCheck node configuration, retry
2002PROVIDER_ERRORExternal provider service errorCheck provider status, credentials
2003TIMEOUT_ERROROperation exceeded configured timeoutIncrease timeout, optimize query
2004RATE_LIMIT_ERRORProvider rate limit exceededImplement backoff, upgrade plan
2005AUTHENTICATION_ERRORProvider authentication failureVerify credentials, check permissions
2006PERMISSION_ERRORInsufficient permissions for operationReview access rights
2007RESOURCE_ERRORInsufficient system resourcesScale system, optimize memory usage
2008NETWORK_ERRORNetwork connectivity issueCheck connection, retry

Runtime Errors (3000-3999)

CodeError TypeDescriptionResolution
3001VARIABLE_RESOLUTION_ERRORUnable to resolve variable referenceCheck variable exists, correct scope
3002TYPE_CONVERSION_ERRORType conversion failureValidate input types
3003OUTPUT_VALIDATION_ERRORNode output doesn't match schemaReview node implementation
3004CONCURRENCY_ERRORConcurrency limit exceededAdjust global limits
3005MEMORY_ERROROut of memory conditionOptimize flow, increase memory
3006FILE_SYSTEM_ERRORFile operation failureCheck file permissions, disk space

System Errors (4000-4999)

CodeError TypeDescriptionAdmin Actions
4001INTERNAL_ERRORUnexpected system errorContact support, check logs
4002CONFIGURATION_ERRORInvalid system configurationReview configuration files
4003VERSION_ERRORProtocol version mismatchUpdate implementation
4004PLUGIN_ERRORExtension/plugin failureUpdate/reinstall plugins

Error Response Format

All errors MUST follow this standardized format:

FieldTypeRequiredDescriptionExample
codeintegerError code (1000-4999)2003
typestringError type identifierTIMEOUT_ERROR
messagestringHuman-readable description"Operation exceeded 30s timeout"
detailsobjectAdditional error context{"timeout_ms": 30000, "actual_ms": 45000}
node_idstringFailing node identifierllm_processor_1
flow_idstringFlow execution identifier20240115_143022_001
timestampstringISO 8601 timestamp2024-01-15T14:30:22.123Z
stack_tracestringDebug stack traceError at line 42...
retry_afterintegerRetry delay in seconds60
{
  "error": {
    "code": 2003,
    "type": "TIMEOUT_ERROR",
    "message": "LLM request exceeded configured timeout of 30 seconds",
    "details": {
      "timeout_ms": 30000,
      "actual_duration_ms": 45000,
      "provider": "openai",
      "model": "gpt-4"
    },
    "node_id": "llm_processor_1",
    "flow_id": "20240115_143022_001",
    "timestamp": "2024-01-15T14:30:22.123Z",
    "retry_after": 60
  }
}

Error Propagation

Error LevelBehaviorImpactAutomatic Recovery
Node-LevelStops flow execution immediatelyCurrent flow failsNo retry by default
Flow-LevelPrevents execution from startingFlow rejectedValidation must pass
Provider-LevelMay trigger retry logicTemporary failureConfigurable retry policies
System-LevelRequires admin interventionService degradationManual recovery required

Recovery Mechanisms

MechanismPurposeConfigurationUse Cases
Retry PoliciesAutomatic retry with backoffmax_retries, backoff_strategyTransient network errors
Circuit BreakersPrevent cascade failuresfailure_threshold, recovery_timeoutProvider outages
Fallback ProvidersAlternative service endpointsfallback_provider_idHigh availability
Graceful DegradationReduced functionalityFeature flagsPartial service issues

On this page