Skip to content
GitLab
Projects Groups Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
  • Sign in / Register
  • O OS Core Lib Azure
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
    • Locked Files
  • Issues 9
    • Issues 9
    • List
    • Boards
    • Service Desk
    • Milestones
    • Iterations
    • Requirements
  • Merge requests 9
    • Merge requests 9
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
    • Test Cases
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Packages and registries
    • Packages and registries
    • Package Registry
    • Container Registry
    • Infrastructure Registry
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Code review
    • Insights
    • Issue
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • Open Subsurface Data Universe SoftwareOpen Subsurface Data Universe Software
  • Platform
  • System
  • Lib
  • cloud
  • azure
  • OS Core Lib Azure
  • Merge requests
  • !69

Context Aware Concurrency

  • Review changes

  • Download
  • Email patches
  • Plain diff
Merged Vibhuti Sharma [Microsoft] requested to merge users/Vibhuti/CustomConcurrency into master Jan 11, 2021
  • Overview 2
  • Commits 16
  • Pipelines 30
  • Changes 7

All Submissions:


  • [YES] I have added an explanation of what changes in this merge do and why we should include it?
  • [NO] Does the MR contain pipeline/ helm chart related changes?
  • [NO] I have updated the documentation accordingly.
  • [YES] I have added tests to cover my changes.
  • [YES] All new and existing tests passed.
  • [YES] My code follows the code style of this project.
  • [YES] I ran lint checks locally prior to submission.

What is the issue or story related to the change?


High level design: Create custom classes for concurrency which extend logic from classes in java.util.concurrency package but ensure that the MDC and request context is copied from main thread to child threads.

Issue: To handle concurrency in our services, we make use of java.util.concurrency package. This package contains classes like ExecutorService which handle the thread pool for us and execute Runnable objects in new threads. The implementation is such that thread context is not copied from main thread to child threads, and we lose the MDC context map and other request attributes in the child threads.

Change details:

Test coverage:


Added unit tests for CustomExecutors and CustomThreadPoolExecutorUtil.

Does this introduce a breaking change?


  • NO

Pending items


Upcoming MR in storage service to add CustomThreadPoolFactory - osdu/platform/system/storage!126 (merged)

Reviewer request


  • Please provide an ETA when you plan to review this MR. Write a comment to decline or provide an ETA.
  • Block the MR if you feel there is less testing or no details in the MR
  • Please cover the following aspects in the MR -- Coding design: <Reviewer1> -- Backward Compatibility: <Reviewer2> -- Feature Logic: <Logic design> -- <Any other context mention here> OR -- <Component 1>: <Reviewer1> -- <CosmosDB>: <Reviewer2> -- <ServiceBus> <Reviewer3> -- <Mention any other component and owner>

Other information


Edited Jan 21, 2021 by Vibhuti Sharma [Microsoft]
Assignee
Assign to
Reviewers
Request review from
Time tracking
Source branch: users/Vibhuti/CustomConcurrency