Uploaded image for project: 'Camel'
  1. Camel
  2. CAMEL-13168

Underlying File for StreamCache gets deleted too early with direct-vm

Attach filesAttach ScreenshotVotersWatch issueWatchersCreate sub-taskLinkCloneUpdate Comment AuthorReplace String in CommentUpdate Comment VisibilityDelete Comments
    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Minor
    • Resolution: Fixed
    • 2.23.1
    • 2.23.2, 2.24.0, 2.22.4, 3.0.0
    • camel-core
    • None
    • Unknown

    Description

      If one route calls a different route via direct-vm endpoint and the second route creates a StreamCache based for a file in the called route but the payload is propagated back to the calling route, this route will not be able to call the file because it is already deleted.

      The issue is actually the same as for CAMEL-7787. As the multicast processor the direct-vm processor creates a copy of the exchange and does perform the further processing with this exchange till the route comes back. The stream cache will create a synchronization on this second exchange to delete the file when the exchange is done, but the StreamCache as an entity (then without underlying file) might be handed back to the original exchange.

      The fix is actually the same as for CAMEL-7787, set the exchange property Exchange.STREAM_CACHE_UNIT_OF_WORK to the LUW of the initial exchange.

       

      Attachments

        Activity

          This comment will be Viewable by All Users Viewable by All Users
          Cancel

          People

            siano Stephan Siano
            siano Stephan Siano
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Slack

                Issue deployment