<p dir="auto">Since upgrading to 2.3, I am now receiving occasional errors where a session record insert is failing because of a duplicate primary key. I have narrowed down the stack trace to the PDOSessionHandler's read() function.</p>
<p dir="auto">It seems that the session ID doesn't exist at the initial SELECT statement, but does exist by the time the INSERT is attempted. This isn't happening with all users -- only a select few. Could this be because of simultaneous requests being submitted?</p>
<p dir="auto">I can't seem to figure out any explanation for how this could happen. It seems that the record is being created between the SELECT and INSERT statements. Perhaps this issue always existed, but the addition of the PDO exceptions is now exposing it.</p>
<p dir="auto">Any suggestions or information is appreciated. Thank you!</p>
<p dir="auto">Recently I've had the need to override Profiler (in order to export the hash used), and EnvParametersResource (in order to do a clever dotenv integration).</p>
<p dir="auto">I'm finding that overriding these classes requires me to copy quite a few private variables.</p>
<p dir="auto">e.g.</p>
<div class="highlight highlight-text-html-php notranslate position-relative overflow-auto" dir="auto" data-snippet-clipboard-copy-content="class EnvParametersResource implements SelfCheckingResourceInterface, \Serializable
{
    /**
     * @var string
     */
    private $prefix;

    /**
     * @var string
     */
    private $variables;"><pre class="notranslate"><span class="pl-k">class</span> <span class="pl-v">EnvParametersResource</span> <span class="pl-k">implements</span> <span class="pl-v">SelfCheckingResourceInterface</span>, \<span class="pl-v">Serializable</span>
{
    <span class="pl-c">/**</span>
<span class="pl-c">     * @var string</span>
<span class="pl-c">     */</span>
    <span class="pl-k">private</span> <span class="pl-c1"><span class="pl-c1">$</span>prefix</span>;

    <span class="pl-c">/**</span>
<span class="pl-c">     * @var string</span>
<span class="pl-c">     */</span>
    <span class="pl-k">private</span> <span class="pl-c1"><span class="pl-c1">$</span>variables</span>;</pre></div>
<p dir="auto">Could I request that these private member variables be made protected to allow people to easily extend these classes without a lot of copy/paste or code duplication?</p>