Chuck Burgess created STORM-1378:
------------------------------------

             Summary: Windows File Handling Issues with Blobstore
                 Key: STORM-1378
                 URL: https://issues.apache.org/jira/browse/STORM-1378
             Project: Apache Storm
          Issue Type: Bug
         Environment: Win7 JDK1.7.0_45
            Reporter: Chuck Burgess
            Priority: Minor


Since the Blobstore merge to master (7029ae), several tests show consistent 
issues with file system interaction on Windows.

I first noticed it as several of these in 
backtype.storm.multilang-test.test-python:

{code}
30970 [Thread-8] ERROR b.s.event - Error when processing event

java.io.IOException: Unable to delete file: 
C:\Users\cburgess\AppData\Local\Temp\6d2e5448-3710-44c0-8e0a-8bfef14d065d\supervisor\tmp\fcc042a9-ddf4-498d-9114-a29626429310\stormconf.ser
        at org.apache.commons.io.FileUtils.forceDelete(FileUtils.java:2279) 
~[commons-io-2.4.jar:2.4]
        at org.apache.commons.io.FileUtils.cleanDirectory(FileUtils.java:1653) 
~[commons-io-2.4.jar:2.4]
        at org.apache.commons.io.FileUtils.deleteDirectory(FileUtils.java:1535) 
~[commons-io-2.4.jar:2.4]
        at org.apache.commons.io.FileUtils.moveDirectory(FileUtils.java:2756) 
~[commons-io-2.4.jar:2.4]
        at 
backtype.storm.daemon.supervisor$fn__2392.invoke(supervisor.clj:1134) 
~[classes/:?]
        at clojure.lang.MultiFn.invoke(MultiFn.java:243) ~[clojure-1.7.0.jar:?]
        at 
backtype.storm.daemon.supervisor$mk_synchronize_supervisor$this__2118.invoke(supervisor.clj:565)
 ~[classes/:?]
        at backtype.storm.event$event_manager$fn__5761.invoke(event.clj:40) 
[classes/:?]
        at clojure.lang.AFn.run(AFn.java:22) [clojure-1.7.0.jar:?]
        at java.lang.Thread.run(Thread.java:744) [?:1.7.0_45]
{code}


When running a full test build, the LocalizerTest and BlobStoreTest cases stop 
the build due to Windows file interaction errors:

{code}
Failed tests:
  LocalizerTest.testDirPaths:147 get local user dir doesn't return right value 
expected:<...c5-8a25-f0a888dc95e0[/usercache/]user1> but 
was:<...c5-8a25-f0a888dc95e0[\usercache\]user1>
Tests in error:
backtype.storm.blobstore.BlobStoreTest.testBasicLocalFs(backtype.storm.blobstore.BlobStoreTest)
  Run 1: BlobStoreTest.testBasicLocalFs:164->testBasic:313 ╗ Runtime 
java.nio.file.Dire...
  Run 2: BlobStoreTest.cleanup:74 ╗ IO Unable to delete file: 
\tmp\blob-store-test-0a66...

  BlobStoreTest.cleanup:74 ╗ IO Unable to delete file: 
\tmp\blob-store-test-9ada...
backtype.storm.blobstore.BlobStoreTest.testLocalFsWithAuth(backtype.storm.blobstore.BlobStoreTest)
  Run 1: BlobStoreTest.testLocalFsWithAuth:159->testWithAuthentication:227 ╗ 
Runtime ja...
  Run 2: BlobStoreTest.cleanup:74 ╗ IO Unable to delete file: 
\tmp\blob-store-test-594f...

backtype.storm.blobstore.BlobStoreTest.testMultipleLocalFs(backtype.storm.blobstore.BlobStoreTest)
  Run 1: BlobStoreTest.testMultipleLocalFs:169->testMultiple:398 ╗ AccessDenied 
C:\tmp\...
  Run 2: BlobStoreTest.cleanup:74 ╗ IO Unable to delete file: 
\tmp\blob-store-test-5356...

  LocalizerTest.testArchivesJar:260->testArchives:286 ╗ IO Error getting blobs
  LocalizerTest.testArchivesTar:254->testArchives:286 ╗ IO Error getting blobs
backtype.storm.localizer.LocalizerTest.testArchivesTarGz(backtype.storm.localizer.LocalizerTest)
  Run 1: LocalizerTest.testArchivesTarGz:248->testArchives:286 ╗ IO Error 
getting blobs
  Run 2: LocalizerTest.tearDown:125 ╗ IO Unable to delete file: 
\tmp\blob-store-localiz...

backtype.storm.localizer.LocalizerTest.testArchivesTgz(backtype.storm.localizer.LocalizerTest)
  Run 1: LocalizerTest.testArchivesTgz:236->testArchives:286 ╗ IO Error getting 
blobs
  Run 2: LocalizerTest.tearDown:125 ╗ IO Unable to delete file: 
\tmp\blob-store-localiz...

  LocalizerTest.testArchivesZip:242->testArchives:286 ╗ IO Error getting blobs
  LocalizerTest.testBasic:363 ╗ IO Error getting blobs
  LocalizerTest.testMultipleKeysOneUser:435 ╗ IO Error getting blobs
  LocalizerTest.testMultipleUsers:563 ╗ IO Error getting blobs
  LocalizerTest.testUpdate:637 ╗ IO Error getting blobs

Tests run: 95, Failures: 1, Errors: 13, Skipped: 0
{code}

Most of these are also due to "Unable to delete file".  They also all seem to 
be regarding stormconf.ser.

Is it possible that some process/thread that created these stormconf.ser files 
has not released/closed their own file interactions before the storm code tries 
to delete them?

Because 7029ae looks to be the entire feature squashed into one commit, I 
cannot bisect any deeper.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to