[
https://issues.apache.org/jira/browse/SOLR-5914?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13949687#comment-13949687
]
Dawid Weiss commented on SOLR-5914:
-----------------------------------
I think my patch has benefits over the previous code. It's more structured
(uses test class names for temp dirs instead of arbitrary strings, in many
cases copy-pasted incorrectly), it's not using timestamps (which is awkward),
it relies on a single point of creating temporary folders and files (which we
can use for enforcing stuff), each of which is tracked separately (so that you
will know what code allocated a particular folder which caused problems).
I honestly think the notion of "dataDir" in Solr's base test class is flawed --
it just creates another sub-temp folder that becomes a dump for other temporary
files, etc. Besides there's a lot of duplication too, for instance:
{code}
+ dfsCluster = HdfsTestUtil.setupClass(new File(dataDir,
HdfsCollectionsAPIDistributedZkTest.class.getName() + "_"
+ System.currentTimeMillis()).getAbsolutePath());
{code}
just became a single call to:
{code}
dfsCluster = HdfsTestUtil.setupClass();
{code}
because the temp file is created bases on the current context. How are these
changes unnecessary compared to what you've done?
> Almost all Solr tests no longer cleanup their temp dirs on Windows
> ------------------------------------------------------------------
>
> Key: SOLR-5914
> URL: https://issues.apache.org/jira/browse/SOLR-5914
> Project: Solr
> Issue Type: Bug
> Components: Tests
> Affects Versions: 4.8
> Reporter: Uwe Schindler
> Assignee: Dawid Weiss
> Priority: Critical
> Fix For: 4.8
>
> Attachments: SOLR-5914 .patch, SOLR-5914 .patch,
> branch4x-jenkins.png, build-plugin.jpg, trunk-jenkins.png
>
>
> Recently the Windows Jenkins Build server has the problem of all-the time
> running out of disk space. This machine runs 2 workspaces (4.x and trunk) and
> has initially 8 Gigabytes of free SSD disk space.
> Because of the recently all-the time failing tests, the test framework does
> not forcefully clean up the "J0" working folders after running tests. This
> leads to the fact, that the workspace is filled with tons of Solr Home dirs.
> I tried this on my local machine:
> - run ant test
> - go to build/.../test/J0 and watch folders appearing: Almost every test no
> longer cleans up after shutting down, leaving a million of files there. This
> is approx 3 to 4 Gigabytes!!!
> In Lucene the folders are correctly removed. This has happened recently, so i
> think we have some code like ([~erickerickson] !!!):
> {{new Properties().load(new FileInputStream(...))}} that does not close the
> files. Because of this, the test's afterClass cannot clean up folders
> anymore. If you look in the test log, you see messages like "{{!!!! WARNING:
> best effort to remove
> C:\Users\JenkinsSlave\workspace\Lucene-Solr-4.x-Windows\solr\build\solr-core\test\J0\.\org.apache.solr.cloud.TestShortCircuitedRequests-1395693845226
> FAILED !!!!!}}" all the time.
> So if anybody committed some changes that might not close files correctly,
> please fix! Otherwise I have to disable testing on windows - and I will no
> longer run solr, tests, too: My local computer also uses gigabytes of temp
> space after running tests!
--
This message was sent by Atlassian JIRA
(v6.2#6252)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]