<div dir="ltr"><div>I have installed Oracle the "normal" way, and spent like a day on configuring it to my liking :)</div><div><br></div><div>Anyway, now with Oracle added, I think most relevant DBs are there.</div><div><br></div><div>Also, I have confirmed what you wrote by benchmarking "com.oracle.database.jdbc:ojdbc8:19.19.0.0" against "com.oracle.database.jdbc:ojdbc11:21.9.0.0", and as expected the new version is considerably faster.</div><div><br></div><div>Attila</div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">Michael McMahon <<a href="mailto:michael.a.mcmahon@oracle.com">michael.a.mcmahon@oracle.com</a>> ezt írta (időpont: 2023. jún. 27., K, 23:23):<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<div>
Hi Attila,
<div><br>
</div>
<div>For Oracle JDBC, I replaced almost all usages of “synchronized” with a ReentrantLock. This change first appears in version 21.1. The driver is distributed on Maven Central:</div>
<blockquote style="margin:0px 0px 0px 40px;border:none;padding:0px">
<div style="font-size:12pt;background-color:rgb(245,245,245);color:rgb(68,68,68);font-family:"Source Code Pro",monospace">
<pre><div style="font-size:12pt;white-space:normal;font-family:"Source Code Pro",monospace"><pre><span style="background-color:rgb(239,239,239)"><</span><span style="color:rgb(0,0,128);background-color:rgb(239,239,239);font-weight:bold">dependency</span><span style="background-color:rgb(239,239,239)">></span><br> <span style="background-color:rgb(239,239,239)"><</span><span style="color:rgb(0,0,128);background-color:rgb(239,239,239);font-weight:bold">groupId</span><span style="background-color:rgb(239,239,239)">></span>com.oracle.database.jdbc<span style="background-color:rgb(239,239,239)"></</span><span style="color:rgb(0,0,128);background-color:rgb(239,239,239);font-weight:bold">groupId</span><span style="background-color:rgb(239,239,239)">></span><br> <span style="background-color:rgb(239,239,239)"><</span><span style="color:rgb(0,0,128);background-color:rgb(239,239,239);font-weight:bold">artifactId</span><span style="background-color:rgb(239,239,239)">></span>ojdbc11<span style="background-color:rgb(239,239,239)"></</span><span style="color:rgb(0,0,128);background-color:rgb(239,239,239);font-weight:bold">artifactId</span><span style="background-color:rgb(239,239,239)">></span><br> <span style="background-color:rgb(239,239,239)"><</span><span style="color:rgb(0,0,128);background-color:rgb(239,239,239);font-weight:bold">version</span><span style="background-color:rgb(239,239,239)">></span>21.9.0.0<span style="background-color:rgb(239,239,239)"></</span><span style="color:rgb(0,0,128);background-color:rgb(239,239,239);font-weight:bold">version</span><span style="background-color:rgb(239,239,239)">></span><br><span style="background-color:rgb(239,239,239)"></</span><span style="color:rgb(0,0,128);background-color:rgb(239,239,239);font-weight:bold">dependency</span><span style="background-color:rgb(239,239,239)">></span></pre></div></pre>
</div>
</blockquote>
<div>To detect thread pinning, you might try:</div>
<blockquote style="margin:0px 0px 0px 40px;border:none;padding:0px">
<div><code>-Djdk.tracePinnedThreads=full</code></div>
</blockquote>
<div><font face="monospace"><br>
</font></div>
<div><span>This system property is documented in JEP 444:</span><span></span></div>
<blockquote style="margin:0px 0px 0px 40px;border:none;padding:0px"><span>The system property jdk.tracePinnedThreads triggers a stack trace when a thread blocks while pinned. Running with -Djdk.tracePinnedThreads=full prints a complete stack trace when a thread
blocks while pinned, highlighting native frames and frames holding monitors. Running with -Djdk.tracePinnedThreads=short limits the output to just the problematic frames.</span></blockquote>
<span>
<div><a href="https://openjdk.org/jeps/444#Executing-virtual-threads" target="_blank">https://openjdk.org/jeps/444#Executing-virtual-threads</a></div>
<div><br>
</div>
Hope this helps.</span>
<div><span><br>
</span></div>
<div><span>Thanks,</span></div>
<div><span><br>
</span></div>
<div><span>Michael<br></span><span><br>
</span></div>
</div>
</blockquote></div></div>