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

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

    XMLWordPrintableJSON

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Minor
    • Resolution: Fixed
    • Affects Version/s: 2.23.1
    • Fix Version/s: 2.23.2, 2.24.0, 2.22.4, 3.0.0
    • Component/s: camel-core
    • Labels:
      None
    • Estimated Complexity:
      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

            People

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

              Dates

              • Created:
                Updated:
                Resolved: