<!-- 
RSS generated by JIRA (1001.0.0-SNAPSHOT#100246-sha1:7a5c50119eb0633d306e14180817ddef5e80c75d) at Fri Feb 09 00:34: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 add field=key&field=summary to the URL of your request.
-->
<rss version="0.92" >
<channel>
    <title>FOLIO Jira</title>
    <link>https://folio-org.atlassian.net</link>
    <description>This file is an XML representation of an issue</description>
    <language>en-us</language>    <build-info>
        <version>1001.0.0-SNAPSHOT</version>
        <build-number>100246</build-number>
        <build-date>07-02-2024</build-date>
    </build-info>

<item>
            <title>[UXPROD-3772] Implement Retry-after property for OAI-PMH response</title>
                <link>https://folio-org.atlassian.net/browse/UXPROD-3772</link>
                <project id="10000" key="UXPROD">UX Product</project>
                    <description>&lt;p&gt;&lt;b&gt;Current situation or problem&lt;/b&gt;:&lt;/p&gt;

&lt;p&gt;Multiple concurrent harvests consume a lot of FOLIO resources (especially on inventory and SRS side) and can make the system unresponsive.  Users often trigger multiple harvests without being aware that  there is already another harvest in progress.&lt;/p&gt;

&lt;p&gt;With the harvest monitoring tools that were implemented in Lotus release it is possible to determine how many harvests are in progress and how many records have already been processed.   Based on this information the system should provide the response to the harvesting software that the system is busy (503 -response code) with Retry-After period specified.&lt;/p&gt;

&lt;p&gt;&lt;b&gt;In scope&lt;/b&gt;&lt;br/&gt;
When another harvest is already in progress response is returned with 503 status and Retry -After period is  specified in the response-header.  The retry-after header should have a format: &lt;br/&gt;
Retry-After: Fri, 31 Dec 1999 23:59:59 GMT&lt;br/&gt;
The value of  the remaining time should be calculated considering the time the harvest started, the total number of the records to be processed, the number of records already processed) &lt;/p&gt;

&lt;p&gt;The response should also include:&lt;/p&gt;

&lt;ul&gt;
	&lt;li&gt;RequestId of the harvest currently in progress&lt;/li&gt;
	&lt;li&gt;Time the harvest started&lt;/li&gt;
	&lt;li&gt;Total number of records to be harvested&lt;/li&gt;
	&lt;li&gt;Number of records already harvested&lt;/li&gt;
	&lt;li&gt;Estimated time to completion (based on the parameters mentioned above)&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;Resending the requests will be consumer responsibility.&lt;/p&gt;

&lt;p&gt;&lt;b&gt;Questions:&lt;/b&gt;&lt;br/&gt;
Determine the exact number of the concurrent harvests that  can be supported. Here is the relelated PTF report: &lt;a href=&quot;https://folio-org.atlassian.net/wiki/pages/viewpage.action?pageId=1392949&quot; class=&quot;external-link&quot; rel=&quot;nofollow noreferrer&quot;&gt;https://folio-org.atlassian.net/wiki/pages/viewpage.action?pageId=1392949&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;b&gt;Proposed solution/stories&lt;/b&gt;&lt;/p&gt;

&lt;p&gt;&lt;b&gt;Links to additional info&lt;/b&gt;&lt;br/&gt;
OAI-PMH documentation: &lt;a href=&quot;http://www.openarchives.org/OAI/2.0/openarchivesprotocol.htm#HTTPResponseFormat&quot; class=&quot;external-link&quot; rel=&quot;nofollow noreferrer&quot;&gt;http://www.openarchives.org/OAI/2.0/openarchivesprotocol.htm#HTTPResponseFormat&lt;/a&gt;&lt;br/&gt;
FOLIO OAI-PMH performance tests for concurrent harvests: &lt;a href=&quot;https://folio-org.atlassian.net/wiki/pages/viewpage.action?pageId=1392949#OAIPMHdataharvesting&quot; class=&quot;external-link&quot; rel=&quot;nofollow noreferrer&quot;&gt;https://folio-org.atlassian.net/wiki/pages/viewpage.action?pageId=1392949#OAIPMHdataharvesting&lt;/a&gt;[LOTUS]-Observations&lt;br/&gt;
FOLIO OAI-PMH harvest monitoring APIs: &lt;a href=&quot;https://github.com/folio-org/mod-oai-pmh#harvesting-statistics-api&quot; class=&quot;external-link&quot; rel=&quot;nofollow noreferrer&quot;&gt;https://github.com/folio-org/mod-oai-pmh#harvesting-statistics-api&lt;/a&gt;&lt;br/&gt;
&lt;b&gt;Questions&lt;/b&gt;&lt;/p&gt;</description>
                <environment></environment>
        <key id="13577">UXPROD-3772</key>
            <summary>Implement Retry-after property for OAI-PMH response</summary>
                <type id="10002" iconUrl="https://folio-org.atlassian.net/rest/api/2/universal_avatar/view/type/issuetype/avatar/10322?size=medium">New Feature</type>
                            <parent id="10625">UXPROD-993</parent>
                                    <priority id="10001" iconUrl="https://dev.folio.org/assets/jira-priority/jira-p2.svg">P2</priority>
                        <status id="10010" iconUrl="https://folio-org.atlassian.net/images/icons/statuses/generic.png" description="(Migrated on 4 Feb 2024 13:41 UTC)">Analysis Complete</status>
                    <statusCategory id="3" key="done" colorName="green"/>
                                    <resolution id="-1">Unresolved</resolution>
                                                        <assignee accountid="557058:8629b273-56f1-466d-b7c7-5cbac0c3379b">Magda Zacharska</assignee>
                                                                <reporter accountid="557058:8629b273-56f1-466d-b7c7-5cbac0c3379b">Magda Zacharska</reporter>
                                    <labels>
                            <label>loc_dependency</label>
                            <label>orchid-candidate</label>
                    </labels>
                <created>Fri, 5 Aug 2022 12:24:35 +0000</created>
                <updated>Thu, 30 Nov 2023 16:42:21 +0000</updated>
                                                                                <due></due>
                            <votes>0</votes>
                                    <watches>1</watches>
                                                                    <issuelinks>
                            <issuelinktype id="10008">
                    <name>Defines</name>
                                                                <inwardlinks description="is defined by ">
                                        <issuelink>
            <issuekey id="37266">EDGOAIPMH-90</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="64606">MODOAIPMH-452</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="64608">MODOAIPMH-462</issuekey>
        </issuelink>
                            </inwardlinks>
                                    </issuelinktype>
                    </issuelinks>
                <attachments>
                    </attachments>
                <subtasks>
                    </subtasks>
                <customfields>
                                                                                                                                                                                                                                                                                                                                        <customfield id="customfield_10053" key="com.atlassian.jira.plugin.system.customfieldtypes:select">
                        <customfieldname>Back End Estimate</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="10123"><![CDATA[XL < 15 days]]></customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10054" key="com.atlassian.jira.plugin.system.customfieldtypes:userpicker">
                        <customfieldname>Back End Estimator</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>63519767d66d8108a1226c09</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10055" key="com.atlassian.jira.plugin.system.customfieldtypes:select">
                        <customfieldname>Back-End Confidence factor</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="10136"><![CDATA[90%]]></customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        <customfield id="customfield_10000" key="com.atlassian.jira.plugins.jira-development-integration-plugin:devsummarycf">
                        <customfieldname>Development</customfieldname>
                        <customfieldvalues>
                            
                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10057" key="com.atlassian.jira.plugin.system.customfieldtypes:select">
                        <customfieldname>Development Team</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="10152"><![CDATA[Firebird]]></customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10014" key="com.pyxis.greenhopper.jira:gh-epic-link">
                        <customfieldname>Epic Link</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue key="$xmlutils.escape($text)">OAI-PMH Support</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                        <customfield id="customfield_10050" key="com.atlassian.jira.plugin.system.customfieldtypes:select">
                        <customfieldname>Front End Estimate</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="10094"><![CDATA[Out of scope]]></customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                <customfield id="customfield_10063" key="com.atlassian.jira.plugin.system.customfieldtypes:float">
                        <customfieldname>PO Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>0.0</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                            <customfield id="customfield_10019" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>0|i056xk:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                            <customfield id="customfield_10069" key="com.atlassian.jira.plugin.system.customfieldtypes:select">
                        <customfieldname>Rank: Cornell (Full Sum 2021)</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="10217"><![CDATA[R5]]></customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        <customfield id="customfield_10020" key="com.pyxis.greenhopper.jira:gh-sprint">
                        <customfieldname>Sprint</customfieldname>
                        <customfieldvalues>
                            
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    </customfields>
    </item>
</channel>
</rss>