Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Use Re-entrant locks instead of synchronized blocks to make driver loom friendly #2328

Closed
wants to merge 9 commits into from

Conversation

mthakur77
Copy link

@mthakur77 mthakur77 commented Feb 15, 2024

Loom project: https://openjdk.java.net/projects/loom/

Using synchronized keyword pins the virtual thread on the platform thread degrading the performance. Using ReentrantLock should prevent it from happening.

Sample code:

void foo() {
  synchronized(this) {
     ... // performs IO or something blocking
  }
}

With code like:

// loom friendly ...

private final Lock lock = new ReentrantLock();

void foo() {
  lock.lock();
  try {
     ... // performs IO or something blocking
  } finally {
     lock.unlock();
  }
}

@mthakur77
Copy link
Author

@mthakur77 please read the following Contributor License Agreement(CLA). If you agree with the CLA, please reply with the following information.

@microsoft-github-policy-service agree [company="{your company}"]

Options:

  • (default - no company specified) I have sole ownership of intellectual property rights to my Submissions and I am not making Submissions in the course of work for my employer.
@microsoft-github-policy-service agree
  • (when company given) I am making Submissions in the course of work for my employer (or my employer has intellectual property rights in my Submissions by contract or applicable law). I have permission from my employer to make Submissions and enter into this Agreement on behalf of my employer. By signing below, the defined term “You” includes me and my employer.
@microsoft-github-policy-service agree company="Microsoft"

Contributor License Agreement

@microsoft-github-policy-service agree company="Agoda services pvt ltd"

@Jeffery-Wasty Jeffery-Wasty changed the title Use Re-entrant locks instead of synchronized blocks to make driver loom freindly Use Re-entrant locks instead of synchronized blocks to make driver loom friendly Feb 15, 2024
lilgreenbird and others added 8 commits February 15, 2024 14:25
…eStatements (#2325)

* EXEC system stored procedure regression fix

* Additional test

* Additional test

* Indenting

* Switched error string to TestResource error string

* CR comments

* Test update p1

* Test update p2

* CR comment changes; Test update

* call escape syntax check

* CR changes

* formatting
@mthakur77
Copy link
Author

raising new one.

@mthakur77 mthakur77 closed this Feb 16, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: Closed/Merged PRs
Development

Successfully merging this pull request may close these issues.

3 participants