<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Thu Feb 08 03:45:19 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-17703] dropDatabase not removing folders with wiredTiger</title>
                <link>https://jira.mongodb.org/browse/SERVER-17703</link>
                <project id="10000" key="SERVER">Core Server</project>
                    <description>&lt;p&gt;When doing a dropDatabase() using MMAPv1 on versions from 2.4 -&amp;gt; 3.0.1, the relevant folders which contain the data when using  directoryPerDB: true are also removed.&lt;/p&gt;

&lt;p&gt;However, when performing the same dropDatabase using the wiredTiger engine and  directoryPerDB: true, the directories are left in-tact, and only the related files are removed.&lt;/p&gt;


&lt;p&gt;(note, only tested with directoryForIndexes: true  in 3.0.1)&lt;/p&gt;</description>
                <environment></environment>
        <key id="191406">SERVER-17703</key>
            <summary>dropDatabase not removing folders with wiredTiger</summary>
                <type id="1" iconUrl="https://jira.mongodb.org/secure/viewavatar?size=xsmall&amp;avatarId=14703&amp;avatarType=issuetype">Bug</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="2">Won&apos;t Fix</resolution>
                                        <assignee username="-1">Unassigned</assignee>
                                    <reporter username="sallgeud">Chad Kreimendahl</reporter>
                        <labels>
                    </labels>
                <created>Mon, 23 Mar 2015 20:01:56 +0000</created>
                <updated>Mon, 15 Jun 2020 17:18:22 +0000</updated>
                            <resolved>Wed, 1 Jul 2015 19:00:14 +0000</resolved>
                                    <version>3.0.0</version>
                                                    <component>WiredTiger</component>
                                        <votes>1</votes>
                                    <watches>16</watches>
                                                                                                                <comments>
                            <comment id="2491196" author="michaelbrenden" created="Sun, 20 Oct 2019 05:13:48 +0000"  >&lt;p&gt;ditto&lt;/p&gt;

&lt;p&gt;&quot;Feature request / Improvement request:&lt;br/&gt;
&quot;Please implement a serverparameter &quot;remove database directory when database is dropped&quot; YES | NO | NO_LINKS_ONLY&lt;/p&gt;</comment>
                            <comment id="1194616" author="johannes.richter@de.bosch.com" created="Mon, 7 Mar 2016 07:14:24 +0000"  >&lt;p&gt;Dear team,&lt;br/&gt;
We create and drop databases on the fly leading to several thousand empty folders on the filesystem after a week.&lt;/p&gt;

&lt;p&gt;Feature request / Improvement request:&lt;br/&gt;
Please implement a serverparameter &quot;remove database directory when database is dropped&quot; YES | NO | NO_LINKS_ONLY&lt;/p&gt;

&lt;p&gt;Best regards,&lt;br/&gt;
Johannes&lt;/p&gt;</comment>
                            <comment id="955942" author="dan@10gen.com" created="Wed, 1 Jul 2015 19:00:14 +0000"  >&lt;p&gt;Have decided to not fix and instead change MMAP to be consistent with what WiredTiger already does.&lt;/p&gt;</comment>
                            <comment id="954978" author="sallgeud" created="Tue, 30 Jun 2015 19:49:11 +0000"  >&lt;p&gt;Works for me. I was just looking for consistency more than anything.  &lt;/p&gt;</comment>
                            <comment id="954507" author="dan@10gen.com" created="Tue, 30 Jun 2015 14:36:12 +0000"  >&lt;p&gt;&lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=sallgeud&quot; class=&quot;user-hover&quot; rel=&quot;sallgeud&quot;&gt;sallgeud&lt;/a&gt;, I found this related issue from the archives: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-1379&quot; title=&quot;dropdb with directoryperdb should remove contents, not delete directory (mmapV1)&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-1379&quot;&gt;&lt;del&gt;SERVER-1379&lt;/del&gt;&lt;/a&gt;.  I think the desired behavior is actually to remove the contents of the database directory for a couple reasons.  If users have a mount point for one of the db directories, it will not be removed when you dropDatabase, so this would lead to inconsistent behavior depending on how you&apos;ve configured your system.  We could ignore the error message, but that seems like a error prone approach.&lt;/p&gt;

&lt;p&gt;Furthermore, if you have a symlink pointing to a directory within a separate volume, calling dropDatabase only deletes the symlink, it doesn&apos;t actually delete the data files &amp;#8211; which I think is a bug.  If you then recreate the symlink without deleting the data files, mongodb with mmap will happily allow you to continue using the old datafiles.&lt;/p&gt;</comment>
                            <comment id="861861" author="michael.cahill" created="Tue, 24 Mar 2015 04:00:47 +0000"  >&lt;p&gt;One issue with this change is if the &quot;directory&quot; is in fact a symbolic link to another volume &amp;#8211; if the link is removed by a drop then a subsequent create would make a directory on the wrong volume.  I&apos;ll check exactly what happens with mmap_v1 &amp;#8211; I agree that it would be good to match those semantics.&lt;/p&gt;</comment>
                            <comment id="861419" author="sallgeud" created="Mon, 23 Mar 2015 20:35:05 +0000"  >&lt;p&gt;I think this is entirely about maintenance for us.  Other than the potential of having to check thousands of directories unnecessarily in the future, I don&apos;t imagine it&apos;s a bad issue.  Of course, consistency is good.... as is cleanliness. Given that the directory has no purpose following a drop, it would make sense to remove it.  In the event you&apos;ve created a partition for it, the delete would return fine, but the mount would still appear, so no harm in that scenario would be caused.&lt;/p&gt;</comment>
                            <comment id="861393" author="ramon.fernandez" created="Mon, 23 Mar 2015 20:21:06 +0000"  >&lt;p&gt;Thanks for the report &lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=sallgeud&quot; class=&quot;user-hover&quot; rel=&quot;sallgeud&quot;&gt;sallgeud&lt;/a&gt;, I can reproduce with &lt;tt&gt;--directoryperdb&lt;/tt&gt; as well, so we&apos;re investigating.&lt;/p&gt;

&lt;p&gt;Note that I couldn&apos;t see any ill-effects related to this behavior: I ran a quick test and I could re-create the database, create new collections, and add indexes as expected.&lt;/p&gt;

&lt;p&gt;While I can see the difference in behavior between storage engines, I wonder whether this behavior is a better choice than removing the directory since &lt;tt&gt;directoryperdb&lt;/tt&gt; is commonly used to host different databases in different filesystems.&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10012">
                    <name>Related</name>
                                            <outwardlinks description="related to">
                                        <issuelink>
            <issuekey id="270436">SERVER-22985</issuekey>
        </issuelink>
                            </outwardlinks>
                                                                <inwardlinks description="is related to">
                                        <issuelink>
            <issuekey id="1380894">SERVER-48882</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="12380">SERVER-1379</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>8.0</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                <customfield id="customfield_10055" key="com.atlassian.jira.ext.charting:firstresponsedate">
                        <customfieldname>Date of 1st Reply</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>Mon, 23 Mar 2015 20:21:06 +0000</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10052" key="com.atlassian.jira.toolkit:dayslastcommented">
                        <customfieldname>Days since reply</customfieldname>
                        <customfieldvalues>
                                        4 years, 16 weeks, 3 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>ramon.fernandez@mongodb.com</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_11151" key="com.atlassian.jira.toolkit:LastCommentDate">
                        <customfieldname>Last public comment date</customfieldname>
                        <customfieldvalues>
                            4 years, 16 weeks, 3 days ago
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                    <customfield id="customfield_10032" key="com.atlassian.jira.plugin.system.customfieldtypes:select">
                        <customfieldname>Operating System</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="10026"><![CDATA[ALL]]></customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                <customfield id="customfield_10051" key="com.atlassian.jira.toolkit:participants">
                        <customfieldname>Participants</customfieldname>
                        <customfieldvalues>
                                        <customfieldvalue>sallgeud</customfieldvalue>
            <customfieldvalue>dan@mongodb.com</customfieldvalue>
            <customfieldvalue>johannes.richter@de.bosch.com</customfieldvalue>
            <customfieldvalue>michaelbrenden</customfieldvalue>
            <customfieldvalue>michael.cahill@mongodb.com</customfieldvalue>
            <customfieldvalue>ramon.fernandez@mongodb.com</customfieldvalue>
    
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                        <customfield id="customfield_14254" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Product Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1|hrla3z:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                <customfield id="customfield_12550" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>2|hs7e7j:</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_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|hri5wn:</customfieldvalue>

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