[ 
https://issues.apache.org/jira/browse/SLING-13143?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Tomasz Misiewicz updated SLING-13143:
-------------------------------------
    Description: 
The issue is nearly identical to SLING-6764, but specifically triggered by a 
{{NoClassDefFoundError}} when an implementation class is present, but an 
interface it implements is missing at runtime.

*Context:* This scenario occurs when dependencies are marked as {{optional}} 
(present during compilation but missing in specific runtime environments). 
While the absence of the model itself is expected in these environments, it 
currently prevents other valid models from being initialized.

*Steps to reproduce:*
 # Define a Sling Model that implements an interface from an optional 
dependency.

 # Deploy the bundle to an environment where the optional dependency (the 
interface) is missing.

 # Observe that {{NoClassDefFoundError}} is thrown during the 
scanning/registration process.

*Observed Behavior:* The {{NoClassDefFoundError}} is not caught by the 
injector/registrar, causing a failure that halts the initialization of other 
models.

*Expected Behavior:* Similar to the fix in SLING-6764, {{NoClassDefFoundError}} 
should be caught and logged as a warning/error. The failure to load one model 
due to missing optional dependencies should not impact the availability of 
other models in the system.

  was:
h2. Description

The issue is nearly identical to SLING-6764, but specifically triggered by a 
{{NoClassDefFoundError}} when an implementation class is present, but an 
interface it implements is missing at runtime.

*Context:* This scenario occurs when dependencies are marked as {{optional}} 
(present during compilation but missing in specific runtime environments). 
While the absence of the model itself is expected in these environments, it 
currently prevents other valid models from being initialized.

*Steps to reproduce:*
 # Define a Sling Model that implements an interface from an optional 
dependency.

 # Deploy the bundle to an environment where the optional dependency (the 
interface) is missing.

 # Observe that {{NoClassDefFoundError}} is thrown during the 
scanning/registration process.

*Observed Behavior:* The {{NoClassDefFoundError}} is not caught by the 
injector/registrar, causing a failure that halts the initialization of other 
models.

*Expected Behavior:* Similar to the fix in SLING-6764, {{NoClassDefFoundError}} 
should be caught and logged as a warning/error. The failure to load one model 
due to missing optional dependencies should not impact the availability of 
other models in the system.


> Missing optional interface dependency causes NoClassDefFoundError in Sling 
> Models
> ---------------------------------------------------------------------------------
>
>                 Key: SLING-13143
>                 URL: https://issues.apache.org/jira/browse/SLING-13143
>             Project: Sling
>          Issue Type: Bug
>          Components: Sling Models
>    Affects Versions: Sling Models Impl 1.4.0
>            Reporter: Tomasz Misiewicz
>            Priority: Major
>
> The issue is nearly identical to SLING-6764, but specifically triggered by a 
> {{NoClassDefFoundError}} when an implementation class is present, but an 
> interface it implements is missing at runtime.
> *Context:* This scenario occurs when dependencies are marked as {{optional}} 
> (present during compilation but missing in specific runtime environments). 
> While the absence of the model itself is expected in these environments, it 
> currently prevents other valid models from being initialized.
> *Steps to reproduce:*
>  # Define a Sling Model that implements an interface from an optional 
> dependency.
>  # Deploy the bundle to an environment where the optional dependency (the 
> interface) is missing.
>  # Observe that {{NoClassDefFoundError}} is thrown during the 
> scanning/registration process.
> *Observed Behavior:* The {{NoClassDefFoundError}} is not caught by the 
> injector/registrar, causing a failure that halts the initialization of other 
> models.
> *Expected Behavior:* Similar to the fix in SLING-6764, 
> {{NoClassDefFoundError}} should be caught and logged as a warning/error. The 
> failure to load one model due to missing optional dependencies should not 
> impact the availability of other models in the system.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to