<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Thu Feb 08 04:47:04 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-37807] startup warning if oplog maxSize exceeds disk size</title>
                <link>https://jira.mongodb.org/browse/SERVER-37807</link>
                <project id="10000" key="SERVER">Core Server</project>
                    <description>&lt;p&gt;It&apos;s possible to create an oplog (whether by --oplogSize, replSetResizeOplog, or manually) where the capped maxSize is larger than the total size of the storage volume which holds the oplog.  In this case, the oplog is basically guaranteed to (eventually) fill that disk, ie. without intervention the mongod can be expected to fail at some unknown time in the future.&lt;/p&gt;

&lt;p&gt;mongod should check the maxSize of the local.oplog.rs collection, and issue a startup warning if it exceeds the total physical size of the storage volume which that collection is stored on.  This will alert users to this situation, so that it can be corrected before it becomes a problem.  The check should be done after any new oplog has been created, as well as after the size has been changed with replSetResizeOplog (or perhaps check during this command, and refuse to run (or require &lt;tt&gt;force: true&lt;/tt&gt; in that case).&lt;/p&gt;</description>
                <environment></environment>
        <key id="626323">SERVER-37807</key>
            <summary>startup warning if oplog maxSize exceeds disk size</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="zach.yam@mongodb.com">Zach Yam</assignee>
                                    <reporter username="kevin.pulo@mongodb.com">Kevin Pulo</reporter>
                        <labels>
                            <label>neweng</label>
                    </labels>
                <created>Mon, 29 Oct 2018 20:35:01 +0000</created>
                <updated>Tue, 25 Jun 2019 13:53:54 +0000</updated>
                            <resolved>Tue, 25 Jun 2019 13:53:24 +0000</resolved>
                                                                    <component>Storage</component>
                                        <votes>0</votes>
                                    <watches>8</watches>
                                                                                                                <comments>
                            <comment id="2296472" author="zach.yam" created="Tue, 25 Jun 2019 13:53:24 +0000"  >&lt;p&gt;After discussing with &lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=geert.bosch&quot; class=&quot;user-hover&quot; rel=&quot;geert.bosch&quot;&gt;geert.bosch&lt;/a&gt;,&#160;&lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=milkie&quot; class=&quot;user-hover&quot; rel=&quot;milkie&quot;&gt;milkie&lt;/a&gt;, and &lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=brian.lane&quot; class=&quot;user-hover&quot; rel=&quot;brian.lane&quot;&gt;brian.lane&lt;/a&gt;, we have decided to close this issue and leave it unresolved.&lt;/p&gt;

&lt;p&gt;As commented by Geert above, the oplog maxSize warning is not an accurate description of the amount of space left. Due to the fact that the compressibility of the oplog entries is variable, it is possible that the amount of data that can be stored on a volume may be several times the raw storage capacity of the disk.&lt;/p&gt;

&lt;p&gt;&#160;&lt;br/&gt;
 At the same time, if the oplog volume is also used for data and journal files, there would be no warning even if the specified oplog size is many times larger than there is space on the volume.&lt;br/&gt;
 &#160;&lt;/p&gt;</comment>
                            <comment id="2285846" author="geert.bosch" created="Fri, 14 Jun 2019 20:30:01 +0000"  >&lt;p&gt;OK, here is a straw man proposal:&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;If the oplog has no data, or very little data (&amp;lt;10MB?), warn if the configured oplog size exceeds the available disk size. This will result in false positives if the volume only contains the oplog (or local database), but will generally compress well. It will give false negatives if the data is not very compressible, and/or datafiles are also stored on the same volume.&lt;/li&gt;
	&lt;li&gt;If the oplog has data, check if (max oplog data size / current oplog data size)  &amp;gt; (current oplog storage size + available disk space) / current oplog storage size. This will give a false negative if data is stored on the same volume and grows in storage size, and a false positive if compressibility of the oplog increases, data size decreases, or storage size in the volume is expanded on demand.&lt;/li&gt;
&lt;/ul&gt;

</comment>
                            <comment id="2063593" author="geert.bosch" created="Thu, 15 Nov 2018 19:18:37 +0000"  >&lt;p&gt;Note that the capped max size relates to data size, while the disk size is compressed size. Depending on compressibility of the oplog entries, and the selected compression algorithm, the amount of data that can be stored on a volume may be several times the raw storage capacity of the disk. At the same time, if the oplog volume is also used for data and journal files, there would be no warning even if the specified oplog size is many times larger than there is space on the volume.&lt;/p&gt;

&lt;p&gt;Would a warning still be helpful given these caveats, or would it cause confusion in cases that are actually fine and give a false sense of security in cases that aren&apos;t?&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10012">
                    <name>Related</name>
                                            <outwardlinks description="related to">
                                        <issuelink>
            <issuekey id="624226">SERVER-37749</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="626317">SERVER-37806</issuekey>
        </issuelink>
                            </outwardlinks>
                                                        </issuelinktype>
                    </issuelinks>
                <attachments>
                    </attachments>
                <subtasks>
                    </subtasks>
                <customfields>
                                                <customfield id="customfield_10050" key="com.atlassian.jira.toolkit:comments">
                        <customfieldname># Replies</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>3.0</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_18555" key="com.onresolve.jira.groovy.groovyrunner:scripted-field">
                        <customfieldname># of Sprints</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>2.0</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    <customfield id="customfield_10055" key="com.atlassian.jira.ext.charting:firstresponsedate">
                        <customfieldname>Date of 1st Reply</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>Mon, 29 Oct 2018 21:39:16 +0000</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10052" key="com.atlassian.jira.toolkit:dayslastcommented">
                        <customfieldname>Days since reply</customfieldname>
                        <customfieldvalues>
                                        4 years, 33 weeks, 1 day 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>zach.yam@mongodb.com</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_11151" key="com.atlassian.jira.toolkit:LastCommentDate">
                        <customfieldname>Last public comment date</customfieldname>
                        <customfieldvalues>
                            4 years, 33 weeks, 1 day ago
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                    <customfield id="customfield_10051" key="com.atlassian.jira.toolkit:participants">
                        <customfieldname>Participants</customfieldname>
                        <customfieldvalues>
                                        <customfieldvalue>geert.bosch@mongodb.com</customfieldvalue>
            <customfieldvalue>kevin.pulo@mongodb.com</customfieldvalue>
            <customfieldvalue>zach.yam@mongodb.com</customfieldvalue>
    
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                        <customfield id="customfield_14254" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Product Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1|hublmv:</customfieldvalue>

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

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10558" key="com.pyxis.greenhopper.jira:gh-global-rank">
                        <customfieldname>Rank (Obsolete)</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>9223372036854775807</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_10557" key="com.pyxis.greenhopper.jira:gh-sprint">
                        <customfieldname>Sprint</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue id="2984">Execution Team 2019-06-17</customfieldvalue>
    <customfieldvalue id="3034">Execution Team 2019-07-01</customfieldvalue>

                        </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|hub7w7:</customfieldvalue>

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