javadali1362 opened a new issue, #1656:
URL: https://github.com/apache/camel-karavan/issues/1656

   ### Describe the bug
   
   # Karavan 4.6.0 Load Balance EIP YAML Compatibility Issue with Apache Camel 
4.11.0
   
   ### Description
   
   We are using a customized Apache Camel Karavan 4.6.0 application as the 
visual route designer for an enterprise ESB platform.
   
   Our backend execution engine runs Apache Camel 4.11.0 with Spring Boot 3.4.2.
   
   We have encountered compatibility issues when configuring the **Load Balance 
EIP**, particularly the Failover and Round Robin load balancing strategies.
   
   The YAML definitions generated by our Karavan-based designer appear to be 
incompatible with the Camel 4.11 runtime, resulting in errors when loading or 
executing the generated routes.
   
   ### Environment
   
   - **Karavan Designer:** 4.6.0 (customized)
   - **Karavan Core:** 4.6.0
   - **Apache Camel Runtime:** 4.11.0
   - **Spring Boot:** 3.4.2
   - **Java:** 21
   - **Route Definition Format:** Camel YAML DSL
   - **Application Type:** Enterprise Service Bus (ESB)
   
   ### Steps to Reproduce
   
   1. Open the Karavan visual route designer.
   2. Create a route with a `direct` endpoint.
   3. Add the Load Balance EIP.
   4. Configure a Failover or Round Robin load balancing strategy.
   5. Add two or more target endpoints.
   6. Export or save the generated Camel YAML route.
   7. Load the generated YAML into an Apache Camel 4.11.0 runtime.
   
   ### Actual Behavior
   
   The generated Load Balance definition appears to be incompatible with the 
runtime.
   
   The route fails during loading or execution, depending on the generated 
configuration.
   
   The exact error message and generated YAML can be provided as additional 
reproduction details.
   
   ### Expected Behavior
   
   Karavan should generate a valid Camel YAML DSL definition that can be parsed 
and executed by the configured Camel runtime.
   
   Alternatively, the designer should clearly identify unsupported EIP 
configurations when the target runtime uses a newer Camel model.
   
   ### Initial Technical Findings
   
   During our investigation, we identified several potential compatibility 
differences:
   
   **1. Load Balancer naming changes**
   
   Camel 4.7 introduced changes to Load Balancer EIP naming conventions in XML 
and YAML DSL.
   
   For example:
   
   - `roundRobin` → `roundRobinLoadBalancer`
   - `random` → `randomLoadBalancer`
   - `failover` / `failOver` → `failoverLoadBalancer`
   
   Our Karavan 4.6 source model appears to retain older property names.
   
   **2. Failover error handler configuration**
   
   In newer Camel versions, `inheritErrorHandler` belongs to the Failover Load 
Balancer configuration rather than the parent Load Balance definition.
   
   **3. YAML serialization and deserialization**
   
   The Karavan model and YAML serialization/deserialization logic may require 
adjustments to support the newer Load Balance EIP structure.
   
   The following source areas appear relevant:
   
   - `CamelDefinition.ts`
   - `CamelMetadata.ts`
   - `CamelDefinitionApi.ts`
   - `CamelDefinitionYamlStep.ts`
   - `CamelDefinitionYaml.ts`
   
   ### Questions for the Maintainers
   
   1. Is Karavan 4.6.0 expected to support Load Balance definitions executed by 
Camel 4.11.0, or is version alignment required?
   2. What is the canonical YAML structure for Failover and Round Robin in 
Camel 4.11.0?
   3. Is there a recommended way to update the Karavan EIP model, metadata, and 
YAML serialization independently?
   4. Is there an official migration strategy for projects maintaining 
customized Karavan versions?
   5. Are there existing fixes or commits addressing these Load Balance 
compatibility changes?
   
   ### Additional Context
   
   We understand that Karavan 4.6.0 and Camel 4.11.0 are different release 
versions, and that our Karavan installation contains custom modifications.
   
   We are therefore reporting this primarily as a compatibility issue and 
requesting migration guidance, rather than claiming a confirmed defect in the 
current upstream Karavan release.
   
   Our goal is to maintain the existing customized visual designer while 
ensuring that its generated route definitions remain compatible with our Camel 
execution engine.
   
   Any recommendations, references, or examples would be greatly appreciated.
   
   Thank you for your support.
   
   ### Steps to reproduce the behavior
   
   1. Go to '...'a
   2. Click on '....'
   3. Scroll down to '....'
   4. See error
   
   
   ### Variant
   
   Web Application
   
   ### Container Management (if applicable)
   
   _No response_
   
   ### Operating System (if applicable)
   
   Linux
   
   ### Version
   
   4.8.0
   
   ### Relevant log output
   
   ```shell
   
   ```


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to