1 Reply Latest reply: Jul 8, 2010 8:39 AM by Brian Oliver RSS

    Functor Pattern: functor execution and timeout exception

      I'm using coherence 3.5.3 and coherence incubator pattern.
      In my use case I have a
      client application that is using coherence*extended plus functor pattern 1.3.1 to query a remote cache server.
      When my client application go up after that remote cache server was started all work fine. But if the remote cache server is restarted after the client application was started, happens that all functor execution will throws the following exception:

      Caused by: java.util.concurrent.TimeoutException
           at com.oracle.coherence.patterns.functor.internal.SingleFunctorFuture.get(SingleFunctorFuture.java:209)
      I noticed, in this scenario, that the Functor submitted is executed in the remote cache server but the DefaultFunctorSubmitter(client-side) that has registered a map listener on the functor result cache, don't receive the MapEvent used to notify back the Result of the Functor.

      If the client application is restarted all back to normal.     

      Please help me in resolving this issue.
      Thanks in advance,
        • 1. Re: Functor Pattern: functor execution and timeout exception
          Brian Oliver
          Hi Eugenio,

          Thanks for the question.

          If I understand this correctly, it sounds like your (remote) cache cluster is being restarted while the client is waiting for a functor execution to complete. Assuming the functor is executing in the cluster that is being restarted, the said functor will be lost as by-default, they are not persisted.

          Given this, the functor the client submitted will be lost and thus the client may time-out, as you've experienced.

          Does this sound like what's happening?

          -- Brian

          Brian Oliver | Architect | Oracle Coherence Engineering
          Oracle Fusion Middleware