<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Thu Feb 08 03:33:57 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-14136] Allow mapreduce Javascript code to perform HTTP requests</title>
                <link>https://jira.mongodb.org/browse/SERVER-14136</link>
                <project id="10000" key="SERVER">Core Server</project>
                    <description>&lt;p&gt;Instead of relying on hadoop to do a mapreduce, it would be really useful to call c++ or java or python or ... libraries from inside mongo mapreduce, and a way to do this would be to allow to do get or post request to a localhost server&lt;/p&gt;

&lt;p&gt;If I am not clear, imagine the following :&lt;br/&gt;
you have :&lt;/p&gt;
&lt;ul class=&quot;alternate&quot; type=&quot;square&quot;&gt;
	&lt;li&gt;a mongodb containing lots of pictures&lt;/li&gt;
	&lt;li&gt;an awesome library in c++ that tells you if you are on the picture or not&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;you want to do :&lt;/p&gt;
&lt;ul class=&quot;alternate&quot; type=&quot;square&quot;&gt;
	&lt;li&gt;make a c++ server that runs on localhost:12345 and that takes a picture as an argument and returns true or false&lt;/li&gt;
	&lt;li&gt;mapreduce over your library (or foreach) and call the server with your data&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;I was originally thinking of an EASY way to call external (c++/...) libraries from mongo without going through hadoop, so maybe you have other ideas ! As long as it can ease a lot of pain for users I am fine &lt;img class=&quot;emoticon&quot; src=&quot;https://jira.mongodb.org/images/icons/emoticons/smile.png&quot; height=&quot;16&quot; width=&quot;16&quot; align=&quot;absmiddle&quot; alt=&quot;&quot; border=&quot;0&quot;/&gt;&lt;/p&gt;

&lt;p&gt;Thanks !&lt;/p&gt;</description>
                <environment></environment>
        <key id="108374">SERVER-14136</key>
            <summary>Allow mapreduce Javascript code to perform HTTP requests</summary>
                <type id="2" iconUrl="https://jira.mongodb.org/secure/viewavatar?size=xsmall&amp;avatarId=14711&amp;avatarType=issuetype">New Feature</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="backlog-query-execution">Backlog - Query Execution</assignee>
                                    <reporter username="mr.bleez">ThomasJ</reporter>
                        <labels>
                    </labels>
                <created>Thu, 30 Jan 2014 15:46:08 +0000</created>
                <updated>Tue, 6 Dec 2022 05:05:19 +0000</updated>
                            <resolved>Fri, 4 Feb 2022 15:27:22 +0000</resolved>
                                                    <fixVersion>features we&amp;#39;re not sure of</fixVersion>
                                    <component>MapReduce</component>
                                        <votes>0</votes>
                                    <watches>7</watches>
                                                                                                                <comments>
                            <comment id="4335967" author="esha.bhargava" created="Fri, 4 Feb 2022 15:07:40 +0000"  >&lt;p&gt;Closing these tickets as part of the deprecation of mapReduce.&lt;/p&gt;</comment>
                            <comment id="609187" author="mr.bleez" created="Thu, 5 Jun 2014 06:30:12 +0000"  >&lt;p&gt;Exactly, any solution will do. Im not a pro of javascript so the only thing I could think of was a hack to call localhost. (is it a big security hack to allow only that ?)&lt;br/&gt;
I hope you can get that in soon !&lt;/p&gt;</comment>
                            <comment id="606788" author="matt.kangas@10gen.com" created="Tue, 3 Jun 2014 20:38:18 +0000"  >&lt;p&gt;I&apos;ve updated the ticket title to better reflect your description.&lt;/p&gt;

&lt;p&gt;You want to call external code from MongoDB Map/Reduce JS. Paths for achieving this include:&lt;/p&gt;
&lt;ol&gt;
	&lt;li&gt;Allow mapreduce JS to perform HTTP requests, as you describe.&lt;/li&gt;
	&lt;li&gt;Some IPC mechanism besides HTTP.&lt;/li&gt;
	&lt;li&gt;Dynamically loadable server modules, with an interface for calling them from mapreduce JS. &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-8583&quot; title=&quot;Enable dynamic loading of extensions in mongo via DLLs/shared objects.&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-8583&quot;&gt;SERVER-8583&lt;/a&gt;.&lt;/li&gt;
&lt;/ol&gt;


&lt;p&gt;Enabling HTTP requests from server-side Javascript is challenging from a security perspective, so we are unlikely to pursue this course.&lt;/p&gt;</comment>
                            <comment id="605420" author="matt.kangas@10gen.com" created="Mon, 2 Jun 2014 19:38:20 +0000"  >&lt;p&gt;I think what you want is user loadable modules in the server which are callable from server-side javascript. The ticket for the first part is &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-8583&quot; title=&quot;Enable dynamic loading of extensions in mongo via DLLs/shared objects.&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-8583&quot;&gt;SERVER-8583&lt;/a&gt;.&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>4.0</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                <customfield id="customfield_12751" key="com.atlassian.jira.plugin.system.customfieldtypes:multiselect">
                        <customfieldname>Assigned Teams</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="25125"><![CDATA[Query Execution]]></customfieldvalue>
    
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    <customfield id="customfield_10055" key="com.atlassian.jira.ext.charting:firstresponsedate">
                        <customfieldname>Date of 1st Reply</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>Mon, 2 Jun 2014 19:38:20 +0000</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10052" key="com.atlassian.jira.toolkit:dayslastcommented">
                        <customfieldname>Days since reply</customfieldname>
                        <customfieldvalues>
                                        2 years, 5 days 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>true</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                            <customfield id="customfield_10056" key="com.atlassian.jira.toolkit:lastupdaterorcommenter">
                        <customfieldname>Last commenter</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>alexander.golin@mongodb.com</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_11151" key="com.atlassian.jira.toolkit:LastCommentDate">
                        <customfieldname>Last public comment date</customfieldname>
                        <customfieldvalues>
                            2 years, 5 days ago
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                    <customfield id="customfield_10051" key="com.atlassian.jira.toolkit:participants">
                        <customfieldname>Participants</customfieldname>
                        <customfieldvalues>
                                        <customfieldvalue>backlog-query-execution</customfieldvalue>
            <customfieldvalue>esha.bhargava@mongodb.com</customfieldvalue>
            <customfieldvalue>matt.kangas</customfieldvalue>
            <customfieldvalue>mr.bleez</customfieldvalue>
    
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                        <customfield id="customfield_14254" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Product Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1|hrltxb:</customfieldvalue>

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

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10558" key="com.pyxis.greenhopper.jira:gh-global-rank">
                        <customfieldname>Rank (Obsolete)</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>99181</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|hsgvkf:</customfieldvalue>

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