<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Thu Feb 08 03:05:27 UTC 2024

It is possible to restrict the fields that are returned in this document by specifying the 'field' parameter in your request.
For example, to request only the issue key and summary append 'field=key&field=summary' to the URL of your request.
-->
<rss version="0.92" >
<channel>
    <title>MongoDB Jira</title>
    <link>https://jira.mongodb.org</link>
    <description>This file is an XML representation of an issue</description>
    <language>en-us</language>    <build-info>
        <version>9.7.1</version>
        <build-number>970001</build-number>
        <build-date>13-04-2023</build-date>
    </build-info>


<item>
            <title>[SERVER-4258] v8: switch to Isolates to enable JS multi-threading</title>
                <link>https://jira.mongodb.org/browse/SERVER-4258</link>
                <project id="10000" key="SERVER">Core Server</project>
                    <description>&lt;p&gt;Right now v8 using a single (implicit) Isolate.&lt;br/&gt;
Preemption is possible but still only 1 thread can execute at a time.&lt;br/&gt;
Also we added our own mutex to prevent preemption.&lt;/p&gt;

&lt;p&gt;Switching to Isolates and removing the mutex would allow full multithreading.&lt;/p&gt;</description>
                <environment></environment>
        <key id="24790">SERVER-4258</key>
            <summary>v8: switch to Isolates to enable JS multi-threading</summary>
                <type id="4" iconUrl="https://jira.mongodb.org/secure/viewavatar?size=xsmall&amp;avatarId=14710&amp;avatarType=issuetype">Improvement</type>
                                            <priority id="3" iconUrl="https://jira.mongodb.org/images/icons/priorities/major.svg">Major - P3</priority>
                        <status id="6" iconUrl="https://jira.mongodb.org/images/icons/statuses/closed.png" description="The issue is considered finished, the resolution is correct. Issues which are closed can be reopened.">Closed</status>
                    <statusCategory id="3" key="done" colorName="success"/>
                                    <resolution id="9">Done</resolution>
                                        <assignee username="antoine">Antoine Girbal</assignee>
                                    <reporter username="antoine">Antoine Girbal</reporter>
                        <labels>
                    </labels>
                <created>Fri, 11 Nov 2011 08:47:19 +0000</created>
                <updated>Mon, 11 Jul 2016 18:35:44 +0000</updated>
                            <resolved>Thu, 22 Dec 2011 02:26:27 +0000</resolved>
                                                    <fixVersion>2.1.0</fixVersion>
                                    <component>JavaScript</component>
                                        <votes>1</votes>
                                    <watches>10</watches>
                                                                                                                <comments>
                            <comment id="195924" author="milkie" created="Wed, 21 Nov 2012 17:40:08 +0000"  >&lt;p&gt;There are some issues with V8 that will be fixed for the upcoming 2.4 release.  I can&apos;t recommend running server version 2.2 with V8 at this time.  When 2.4 comes out, there will no longer be one mutex around the JS interpreter in the server.&lt;/p&gt;</comment>
                            <comment id="195917" author="zeph" created="Wed, 21 Nov 2012 17:33:52 +0000"  >&lt;p&gt;hi guys, this ticket in mentioned as &quot;coming!&quot; in the documentation at &lt;a href=&quot;http://www.mongodb.org/display/DOCS/How+does+concurrency+work&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://www.mongodb.org/display/DOCS/How+does+concurrency+work&lt;/a&gt; &amp;gt; JavaScript&lt;/p&gt;

&lt;p&gt;but seems pretty &quot;Closed&quot; to me... isn&apos;t it? shall I take advantage of it with an &quot;enabling flag&quot; in my queries, or is working by default giving me full access to all cpu cores for parallel threading/computation? or do I &lt;b&gt;STILL&lt;/b&gt; get isolated/serialized to one ?&lt;/p&gt;</comment>
                            <comment id="76457" author="auto" created="Thu, 29 Dec 2011 01:43:04 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{u&apos;login&apos;: u&apos;agirbal&apos;, u&apos;name&apos;: u&apos;agirbal&apos;, u&apos;email&apos;: u&apos;antoine@10gen.com&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-4258&quot; title=&quot;v8: switch to Isolates to enable JS multi-threading&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-4258&quot;&gt;&lt;del&gt;SERVER-4258&lt;/del&gt;&lt;/a&gt;: no more locking needed for native execution. Test to check multithreading.&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/a71bda30078c262667ccdb8bb97fe3add24a2afb&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/a71bda30078c262667ccdb8bb97fe3add24a2afb&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="75323" author="antoine" created="Thu, 22 Dec 2011 02:26:27 +0000"  >&lt;p&gt;regular tests are passing, parallelTests have passed several times.&lt;/p&gt;</comment>
                            <comment id="66747" author="auto" created="Tue, 15 Nov 2011 08:41:20 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{u&apos;login&apos;: u&apos;agirbal&apos;, u&apos;name&apos;: u&apos;agirbal&apos;, u&apos;email&apos;: u&apos;antoine@10gen.com&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-4258&quot; title=&quot;v8: switch to Isolates to enable JS multi-threading&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-4258&quot;&gt;&lt;del&gt;SERVER-4258&lt;/del&gt;&lt;/a&gt;: switch the JS Thread classes to work with v8 isolate&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/e11df372b0b63187f1feb8ae1339d934b4a0ecb8&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/e11df372b0b63187f1feb8ae1339d934b4a0ecb8&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="66746" author="auto" created="Tue, 15 Nov 2011 08:41:18 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{u&apos;login&apos;: u&apos;agirbal&apos;, u&apos;name&apos;: u&apos;agirbal&apos;, u&apos;email&apos;: u&apos;antoine@10gen.com&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-4258&quot; title=&quot;v8: switch to Isolates to enable JS multi-threading&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-4258&quot;&gt;&lt;del&gt;SERVER-4258&lt;/del&gt;&lt;/a&gt;: dont need lock preemption with isolates&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/de2ab329d4c6d16db4d18fbf0e0c24f56d25c054&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/de2ab329d4c6d16db4d18fbf0e0c24f56d25c054&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="66161" author="antoine" created="Fri, 11 Nov 2011 08:52:50 +0000"  >&lt;p&gt;this was implemented as part of &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-4191&quot; title=&quot;killOp cannot interrupt v8 javascript loop&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-4191&quot;&gt;&lt;del&gt;SERVER-4191&lt;/del&gt;&lt;/a&gt; fix.&lt;br/&gt;
Diff is fairly small 49c58aa9baccde3ac82ed82f9c5c29286d2a2889&lt;br/&gt;
verified that when starting 2 jobs with busy loops, 200% cpu is used.&lt;/p&gt;

&lt;p&gt;From what I see, mutex was only protecting the global interrupt map.&lt;br/&gt;
It now gets its own mutex, and rest of execution is not protected by mutex anymore.&lt;/p&gt;</comment>
                    </comments>
                    <attachments>
                    </attachments>
                <subtasks>
                    </subtasks>
                <customfields>
                                                <customfield id="customfield_10050" key="com.atlassian.jira.toolkit:comments">
                        <customfieldname># Replies</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>7.0</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                <customfield id="customfield_10055" key="com.atlassian.jira.ext.charting:firstresponsedate">
                        <customfieldname>Date of 1st Reply</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>Tue, 15 Nov 2011 08:41:18 +0000</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10052" key="com.atlassian.jira.toolkit:dayslastcommented">
                        <customfieldname>Days since reply</customfieldname>
                        <customfieldvalues>
                                        11 years, 13 weeks ago
    
                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_18254" key="com.onresolve.jira.groovy.groovyrunner:scripted-field">
                        <customfieldname>Dependencies</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue><![CDATA[]]></customfieldvalue>


                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_15850" key="com.atlassian.jira.plugins.jira-development-integration-plugin:devsummary">
                        <customfieldname>Development</customfieldname>
                        <customfieldvalues>
                            
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        <customfield id="customfield_10057" key="com.atlassian.jira.toolkit:lastusercommented">
                        <customfieldname>Last comment by Customer</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>false</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                            <customfield id="customfield_10056" key="com.atlassian.jira.toolkit:lastupdaterorcommenter">
                        <customfieldname>Last commenter</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>ramon.fernandez@mongodb.com</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_11151" key="com.atlassian.jira.toolkit:LastCommentDate">
                        <customfieldname>Last public comment date</customfieldname>
                        <customfieldvalues>
                            11 years, 13 weeks ago
                        </customfieldvalues>
                    </customfield>
                                                                                                                        <customfield id="customfield_10000" key="com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons">
                        <customfieldname>Old_Backport</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="10000"><![CDATA[No]]></customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                <customfield id="customfield_10051" key="com.atlassian.jira.toolkit:participants">
                        <customfieldname>Participants</customfieldname>
                        <customfieldvalues>
                                        <customfieldvalue>antoine</customfieldvalue>
            <customfieldvalue>auto</customfieldvalue>
            <customfieldvalue>milkie@mongodb.com</customfieldvalue>
            <customfieldvalue>zeph</customfieldvalue>
    
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                        <customfield id="customfield_14254" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Product Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1|hrolvz:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                <customfield id="customfield_12550" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>2|hrg7dj:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10558" key="com.pyxis.greenhopper.jira:gh-global-rank">
                        <customfieldname>Rank (Obsolete)</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>8100</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                            <customfield id="customfield_23361" key="com.onresolve.jira.groovy.groovyrunner:scripted-field">
                        <customfieldname>Requested By</customfieldname>
                        <customfieldvalues>
                                

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                <customfield id="customfield_10053" key="com.atlassian.jira.ext.charting:timeinstatus">
                        <customfieldname>Time In Status</customfieldname>
                        <customfieldvalues>
                            
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        <customfield id="customfield_22870" key="com.onresolve.jira.groovy.groovyrunner:scripted-field">
                        <customfieldname>Triagers</customfieldname>
                        <customfieldvalues>
                                

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                    <customfield id="customfield_14350" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>serverRank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1|hseip3:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                    </customfields>
    </item>
</channel>
</rss>