<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Thu Feb 08 08:51:41 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>[JAVA-182] Portable cursor</title>
                <link>https://jira.mongodb.org/browse/JAVA-182</link>
                <project id="10006" key="JAVA">Java Driver</project>
                    <description>&lt;p&gt;Allow (notimeout) cursor to be used outside of the initial jvm.&lt;/p&gt;

&lt;p&gt;This means we need a way to create a DBCursor from a cursorId (plus other options like start/getnum), disable automatic cleanup (killing) of the cursorId (on finalize)  and expose the cursor in a portable (serialized as a string?) way. Maybe it would be best to create a CursorBookmark object to encapsulate the information and so that a DBCursor can be constructed from it.&lt;/p&gt;

&lt;p&gt;In some applications it may be more useful to do this rather than to construct a new query based on the current query parameters (copy + skip). The CursorBookmark could work in two ways potentially; one as a copy of the query (plus skip/position) or as a reference to the cursorId as described above. For this issue I will just address the second (cursorId) case.&lt;/p&gt;</description>
                <environment></environment>
        <key id="13302">JAVA-182</key>
            <summary>Portable cursor</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="2">Won&apos;t Fix</resolution>
                                        <assignee username="-1">Unassigned</assignee>
                                    <reporter username="scotthernandez">Scott Hernandez</reporter>
                        <labels>
                    </labels>
                <created>Sat, 9 Oct 2010 15:29:34 +0000</created>
                <updated>Wed, 8 Feb 2017 09:39:24 +0000</updated>
                            <resolved>Tue, 7 Feb 2017 18:26:26 +0000</resolved>
                                    <version>2.2</version>
                                                    <component>API</component>
                                        <votes>1</votes>
                                    <watches>5</watches>
                                                                                                                <comments>
                            <comment id="1494694" author="lbolla" created="Wed, 8 Feb 2017 09:39:24 +0000"  >&lt;p&gt;+1 for this ticket to be re-opened and feature implemented.&lt;br/&gt;
(I don&apos;t seem to be able to vote: maybe because the ticket is closed?)&lt;/p&gt;</comment>
                            <comment id="1494141" author="jeff.yemin" created="Tue, 7 Feb 2017 18:50:29 +0000"  >&lt;p&gt;Yes, I closed it due to lack of demand.  We can consider re-opening if it gets more votes, but if we do it it would end up first as a drivers specification that we would implement in all of our drivers, not just the Java driver.&lt;/p&gt;</comment>
                            <comment id="1494126" author="jason.coombs@yougov.com" created="Tue, 7 Feb 2017 18:35:43 +0000"  >&lt;p&gt;This feature would still be very useful to us. Was it closed because it doesn&apos;t have enough demand? Or is it perhaps inaccurately filed in the Java driver whereas a server feature would need to exist first? Would it make sense to re-open this request as a server ticket?&lt;/p&gt;</comment>
                            <comment id="1117100" author="jason.coombs@yougov.com" created="Thu, 17 Dec 2015 15:11:57 +0000"  >&lt;p&gt;I feel like I&apos;ve filed this before, but I can&apos;t find it anywhere.&lt;/p&gt;

&lt;p&gt;We have queries that are long running and might take hours to complete, and sometimes during that time, there&apos;s a need to restart the application that&apos;s handling that query, or there&apos;s a connection issue that causes the connection (and the bound cursor) to be lost. We seek to create a cursor that&apos;s resilient to connection loss and that can be resumed by the same process or a different process.&lt;/p&gt;

&lt;p&gt;Critical to this would be that the cursor would persist on the server, with minimal state needed to locate and resume the cursor from the client.&lt;/p&gt;</comment>
                            <comment id="1117083" author="jeff.yemin" created="Thu, 17 Dec 2015 14:58:39 +0000"  >&lt;p&gt;Hi Jason,&lt;/p&gt;

&lt;p&gt;Can you provide some more specific details on your use case(s) for a portable cursor.  It&apos;s not clear to me whether we&apos;d need the server to do anything or whether this is a pure client issue.&lt;/p&gt;</comment>
                            <comment id="1117071" author="jason.coombs@yougov.com" created="Thu, 17 Dec 2015 14:46:40 +0000"  >&lt;p&gt;Should this ticket be migrated to a SERVER ticket or should a separate, linked SERVER ticket be created to capture the more general need for a portable cursor or cursor-bookmark?&lt;/p&gt;</comment>
                            <comment id="282072" author="jason.coombs@yougov.com" created="Tue, 5 Mar 2013 21:30:29 +0000"  >&lt;p&gt;This feature would be particularly nice for our long-running downloads. We would like to be able to serve the data in chunks without needing any single service to persist for the entire operation.&lt;/p&gt;</comment>
                            <comment id="21753" author="scotthernandez" created="Wed, 22 Dec 2010 23:30:40 +0000"  >&lt;p&gt;It would nice to have bookmark-able cursors as well; this is probably a different feature that might not require an open cursor on the server. &lt;/p&gt;

&lt;p&gt;Maybe something like this (&lt;a href=&quot;http://blog.notdot.net/2010/02/New-features-in-1-3-1-prerelease-Cursors&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://blog.notdot.net/2010/02/New-features-in-1-3-1-prerelease-Cursors&lt;/a&gt;) from app-engine.&lt;/p&gt;

&lt;p&gt;It would cool if the format of the cursor-bookmark was portable across drivers as well.&lt;/p&gt;</comment>
                    </comments>
                    <attachments>
                    </attachments>
                <subtasks>
                    </subtasks>
                <customfields>
                                                                                                                                                                                                                                                                                                                                                                    <customfield id="customfield_15850" key="com.atlassian.jira.plugins.jira-development-integration-plugin:devsummary">
                        <customfieldname>Development</customfieldname>
                        <customfieldvalues>
                            
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    <customfield id="customfield_12550" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>2|hrgafz:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10558" key="com.pyxis.greenhopper.jira:gh-global-rank">
                        <customfieldname>Rank (Obsolete)</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>8597</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            </customfields>
    </item>
</channel>
</rss>