Uploaded image for project: 'UIMA'
  1. UIMA
  2. UIMA-5342

UIMA-DUCC: implement a new driver with support for pluggable task allocation component


    • Type: New Feature
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 2.2.1-Ducc
    • Component/s: DUCC
    • Labels:


      Implement a new embeddable driver component which will deliver Work Items to services that use GET/ACK/END protocol. This protocol is currently used between a JP and JD. Its a pull based, synchronous request/response exchange with a JP being a requestor.

      The new Driver will enable an application to plug in a callback listener which will implement the following interface:

      public interface TaskAllocatorCallbackListener {
      public String getSerializedCAS(TaskConsumer taskConsumer);

      public void onTaskSuccess(TaskConsumer taskConsumer, IPerformanceMetrics metrics);

      public void onTaskFailure(TaskConsumer taskConsumer, String stringifiedException);

      The Driver will call getSerializedCAS() when it receives a GET request from a remote service, The method must return a serializedCAS or null if there are none available. The TaskConsumer argument identifies where the CAS will be processed [ host, pid, thread id, service type ].

      The Driver will call onTaskSuccess() when it receives END from a remote service and processing of a CAS succeeded. In addition to TaskConsumer argument, the IPerformanceMetrics instance will be passed in which will contains performance breakdown.

      The Driver will call onTaskFailure() when it receives END from a remote service and processing of a CAS failed. In addition to TaskConsumer argument, a serialized exception (String) will be passed in to identify the cause of failure.

      The Driver assumes that the TaskAllocatorCallbackListener implementation will catch and handle its errors and none will be rethrown.




            • Assignee:
              cwiklik Jerry Cwiklik
              cwiklik Jerry Cwiklik
            • Votes:
              0 Vote for this issue
              1 Start watching this issue


              • Created: