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

SNOW-1335472: Use ReentrantLock instead of synchronized for SFSession#open #1795

Draft
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

jtb93
Copy link

@jtb93 jtb93 commented Jun 19, 2024

Overview

SNOW-1335472

Pre-review self checklist

  • PR branch is updated with all the changes from master branch
  • The code is correctly formatted (run mvn -P check-style validate)
  • New public API is not unnecessary exposed (run mvn verify and inspect target/japicmp/japicmp.html)
  • The pull request name is prefixed with SNOW-XXXX:
  • Code is in compliance with internal logging requirements

External contributors - please answer these questions before submitting a pull request. Thanks!

  1. What GitHub issue is this PR addressing? Make sure that there is an accompanying issue to your PR.

    Fixes SNOW-1335472: Support Virtual Threads by using ReentrantLock instead of synchronized for SFSession#open #1729

  2. Fill out the following pre-review checklist:

    • I am adding a new automated test(s) to verify correctness of my new code
    • I am adding new logging messages
    • I am modifying authorization mechanisms
    • I am adding new credentials
    • I am modifying OCSP code
    • I am adding a new dependency or upgrading an existing one
    • I am adding new public/protected component not marked with @SnowflakeJdbcInternalApi (note that public/protected methods/fields in classes marked with this annotation are already internal)
  3. Please describe how your code solves the related issue.

Virtual thread pinning occurs when I/O is performed within a synchronized method or block. Pinning can significantly hamper performance. See MariaDB (updated to avoid pinning) vs. MySQL (not updated to avoid pinning) JDBC driver performance comparison.

Copy link


Thank you for your submission, we really appreciate it. Like many open-source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution. You can sign the CLA by just posting a Pull Request Comment same as the below format.


I have read the CLA Document and I hereby sign the CLA


You can retrigger this bot by commenting recheck in this Pull Request. Posted by the CLA Assistant Lite bot.

@jtb93 jtb93 changed the title Use ReentrantLock instead of synchronized for SFSession#open SNOW-1335472: Use ReentrantLock instead of synchronized for SFSession#open Jun 19, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

SNOW-1335472: Support Virtual Threads by using ReentrantLock instead of synchronized for SFSession#open
1 participant