<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Thu Feb 08 03:32:49 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-13755] Support for tailable cursors over non capped collections</title>
                <link>https://jira.mongodb.org/browse/SERVER-13755</link>
                <project id="10000" key="SERVER">Core Server</project>
                    <description>&lt;p&gt;There are some use cases in which tailable cursors over a non capped collection may be useful.  This is a mitigation of the inability to shard (and therefor sale) capped collections (Tickets already open). &lt;/p&gt;

&lt;p&gt;The desired behaviour would be:&lt;br/&gt;
A tailable cursor open over a collection would send the data as any change on the collection happens (for inserts, deletes and updates). In other words would be something like make the op-log cluster wide visible. The order should be only strict per shard.&lt;/p&gt;

&lt;p&gt;An example use case would be a message queue, avoiding polling the table with constant queries. Another example would be a distributed probe system, were the measurements are sent to a DB and processed by multiple readers. &lt;/p&gt;

&lt;p&gt;If there&apos;s already a wait to achieve this behaviour in a sharded environment, let me know.&lt;/p&gt;

&lt;p&gt;Thanks in advance.&lt;/p&gt;</description>
                <environment></environment>
        <key id="133556">SERVER-13755</key>
            <summary>Support for tailable cursors over non capped collections</summary>
                <type id="2" iconUrl="https://jira.mongodb.org/secure/viewavatar?size=xsmall&amp;avatarId=14711&amp;avatarType=issuetype">New Feature</type>
                                            <priority id="4" iconUrl="https://jira.mongodb.org/images/icons/priorities/minor.svg">Minor - P4</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="3">Duplicate</resolution>
                                        <assignee username="-1">Unassigned</assignee>
                                    <reporter username="jlpedrosa">Jose Luis Pedrosa</reporter>
                        <labels>
                    </labels>
                <created>Sun, 27 Apr 2014 19:39:46 +0000</created>
                <updated>Thu, 14 Aug 2014 14:11:40 +0000</updated>
                            <resolved>Thu, 14 Aug 2014 12:33:52 +0000</resolved>
                                                                    <component>Usability</component>
                                        <votes>0</votes>
                                    <watches>4</watches>
                                                                                                                <comments>
                            <comment id="690574" author="jlpedrosa" created="Thu, 14 Aug 2014 14:11:40 +0000"  >&lt;p&gt;Hi Scott,&lt;/p&gt;

&lt;p&gt;&quot;Sharded capped collections&quot; feature, would be a really useful in many cases, if you agree, I&apos;ll leave this ticket closed and add a comment in &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-2654&quot; title=&quot;Allows sharded capped collections&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-2654&quot;&gt;&lt;del&gt;SERVER-2654&lt;/del&gt;&lt;/a&gt;. &lt;/p&gt;

&lt;p&gt;The driver to push capped collections is to be able to have &quot;streams&quot; you can connect to, and receive as they arrive, this will reduce latency a lot. Some guys report sub millisecond latency between the insert and the read, if this feature would be scalable, there would be plenty of use cases. &lt;/p&gt;

&lt;p&gt;Indeed the utility you proposed can be really useful, I feel safer if this is implemented in the core of mongo, as it will be failover aware, (maybe restart the cursor), and be available at any driver transparently. So instead discovering the master of each shard/replicaset and join them by application code, mongos should do that, even potentially read/write preferences... That is why I think that mongos would need to do some job to merge the streams of the shards.&lt;/p&gt;

&lt;p&gt;Thanks!&lt;/p&gt;</comment>
                            <comment id="690494" author="scotthernandez" created="Thu, 14 Aug 2014 13:09:13 +0000"  >&lt;p&gt;The real requirements are in the first comment of that request and the implementation would be hidden to the user (unlikely to use capped collections under the hoods), but more like what is described here: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-13932&quot; title=&quot;Change Notification Stream API &quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-13932&quot;&gt;&lt;del&gt;SERVER-13932&lt;/del&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Unless you specifically want tailable sharded cursors this request is a duplicate of those.&lt;/p&gt;

&lt;p&gt;Also, there is a tool which already provides this functionality using the oplog across all shards: &lt;a href=&quot;https://github.com/10gen-labs/mongo-connector&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/10gen-labs/mongo-connector&lt;/a&gt; &lt;br/&gt;
It monitors the oplog across the whole sharded cluster and makes those events available to clients.&lt;/p&gt;

&lt;p&gt;BTW. What you describe is not a &quot;mongos&quot; change since there is no &quot;tailable&quot; option for non-capped collections on a single instance nor capped support in a sharded collection so there is a lot more in the system which need to change for what you are requesting.&lt;/p&gt;</comment>
                            <comment id="690477" author="jlpedrosa" created="Thu, 14 Aug 2014 12:47:13 +0000"  >&lt;p&gt;Hi Scot&lt;/p&gt;

&lt;p&gt;Their sugestion is to put the changes in a capped collection, and then we go back to the scalability problem.&lt;/p&gt;

&lt;p&gt;Indeed their feature is interesting, but is complementary to this one. I would like you to reope  the ticket if you agree. I understand this is mainly a mongos change.&lt;/p&gt;

&lt;p&gt;Jose Luis&lt;/p&gt;</comment>
                            <comment id="690468" author="scotthernandez" created="Thu, 14 Aug 2014 12:33:52 +0000"  >&lt;p&gt;I believe this request covers your needs and is more general/practical: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-5042&quot; title=&quot;Implement support for reliable change notifications&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-5042&quot;&gt;&lt;del&gt;SERVER-5042&lt;/del&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If you really want &quot;tailable cursors for all collection types&quot; we can re-open the issue, but change notifications seems more like what you want.&lt;/p&gt;</comment>
                            <comment id="690325" author="jlpedrosa" created="Thu, 14 Aug 2014 08:16:51 +0000"  >&lt;p&gt;Hi one comment,&lt;/p&gt;

&lt;p&gt;I understand this would give all the operations in correct order of each shading key.  Usually in most business the order must be strict per entity. IE: if customer A, sings up and then purchase a product, you need to receive the sing up event and the purchase in strict order, but it&apos;s not relevant if in the middle you get another purchase of customer B. So choosing the right shard key for each use case should give a low latency distributed queue.&lt;/p&gt;


</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10010">
                    <name>Duplicate</name>
                                            <outwardlinks description="duplicates">
                                        <issuelink>
            <issuekey id="31260">SERVER-5042</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="136339">SERVER-13932</issuekey>
        </issuelink>
                            </outwardlinks>
                                                        </issuelinktype>
                            <issuelinktype id="10012">
                    <name>Related</name>
                                                                <inwardlinks description="is related to">
                                        <issuelink>
            <issuekey id="10249">SERVER-124</issuekey>
        </issuelink>
                            </inwardlinks>
                                    </issuelinktype>
                    </issuelinks>
                <attachments>
                    </attachments>
                <subtasks>
                    </subtasks>
                <customfields>
                                                <customfield id="customfield_10050" key="com.atlassian.jira.toolkit:comments">
                        <customfieldname># Replies</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>5.0</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                <customfield id="customfield_10055" key="com.atlassian.jira.ext.charting:firstresponsedate">
                        <customfieldname>Date of 1st Reply</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>Thu, 14 Aug 2014 12:33:52 +0000</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10052" key="com.atlassian.jira.toolkit:dayslastcommented">
                        <customfieldname>Days since reply</customfieldname>
                        <customfieldvalues>
                                        9 years, 26 weeks, 6 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>ian@mongodb.com</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_11151" key="com.atlassian.jira.toolkit:LastCommentDate">
                        <customfieldname>Last public comment date</customfieldname>
                        <customfieldvalues>
                            9 years, 26 weeks, 6 days 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>jlpedrosa</customfieldvalue>
            <customfieldvalue>scotthernandez</customfieldvalue>
    
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                        <customfield id="customfield_14254" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Product Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1|hrlvzb:</customfieldvalue>

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

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

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