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

Claus Ibsen resolved CAMEL-23105.
---------------------------------
    Resolution: Fixed

> camel-docling - Fix broken async conversion workflow (discarded result and 
> error masking)
> -----------------------------------------------------------------------------------------
>
>                 Key: CAMEL-23105
>                 URL: https://issues.apache.org/jira/browse/CAMEL-23105
>             Project: Camel
>          Issue Type: Bug
>          Components: camel-docling
>    Affects Versions: 4.18.0
>            Reporter: Andrea Cosentino
>            Assignee: Andrea Cosentino
>            Priority: Major
>             Fix For: 4.18.1, 4.19.0
>
>
> In DoclingProducer.processSubmitAsyncConversion(), the 
> CompletionStage<ConvertDocumentResponse> returned by 
> doclingServeApi.convertSourceAsync(request) is obtained but immediately 
> discarded. A fabricated task ID ("task-" + timestamp + "-" + hashCode) is 
> returned that has no correlation to any server-side async task.
> When CHECK_CONVERSION_STATUS is subsequently called with this fabricated task 
> ID, pollTaskStatus fails because the server has no record of it. The failure 
> is then silently masked by the related bug in 
> checkConversionStatusInternal(), which returns COMPLETED on any exception - 
> making it appear as though the conversion succeeded.
> In DoclingProducer.checkConversionStatusInternal(), when an exception occurs 
> during the task status poll (server unavailable, invalid task ID, network 
> error), the catch block silently returns ConversionStatus.Status.COMPLETED as 
> a fallback:
>   } catch (Exception e) {
>       LOG.warn("Failed to check task status for {}: {}", taskId, 
> e.getMessage());
>       return new ConversionStatus(taskId, ConversionStatus.Status.COMPLETED);
>   }
> This causes callers to believe the conversion finished successfully when in 
> reality the status check failed. Combined with TASK-18 (fabricated task IDs), 
> this makes the entire async conversion workflow silently broken.



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

Reply via email to