Uploaded image for project: 'CDAP'
  1. CDAP
  2. CDAP-14298

Cyclic HTTP call loop in Dataset Service

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 5.1.0
    • Fix Version/s: 5.1.0
    • Component/s: Datasets
    • Labels:
    • Release Notes:
      Improves operational behavior of the dataset service.
    • Rank:
      1|i00hi7:

      Description

      When creating a dataset, a HTTP call is made to the Dataset Op Executor to perform the actual creation with impersonation. Op Executor, however, then records meta data for the newly created dataset. For that, it makes a getOrCreateDataset() call to instantiate the metadata dataset. This, in turn can cause a recursive HTTP call back to the op executor to create that dataset. 

      This is an anti-pattern, a cyclic dependency between two services, that can lead to deadlocks and timeouts. 

      Instead, op executor should return the meta data as part of its response such that dataset service can record it. 

        Attachments

          Activity

            People

            • Assignee:
              andreas Andreas Neumann
              Reporter:
              andreas Andreas Neumann
            • Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: