I'd prefer to delete org.apache.geode.internal.FileUtil and change code that uses it to instead use org.apache.commons.io.FileUtils.
On Thu, Feb 9, 2017 at 11:10 AM, Darrel Schneider <[email protected]> wrote: > FileUtil.delete could be changed to handle NoSuchFileException on its last > line: > > public static void delete(File file) throws IOException { > if (!file.exists()) > return; > if (file.isDirectory()) { > for (File child : listFiles(file)) { > delete(child); > } > } > Files.delete(file.toPath()); > } > > > On Thu, Feb 9, 2017 at 1:08 PM, Kirk Lund <[email protected]> wrote: > > > Here's the source of the exceptions in JUnit4CacheTestCase: > > > > public static final void cleanDiskDirs() throws IOException { > > FileUtil.delete(getDiskDir()); > > Arrays.stream(new File(".").listFiles()).forEach(file -> > > deleteBACKUPDiskStoreFile(file)); > > } > > > > private static void deleteBACKUPDiskStoreFile(final File file) { > > if (file.getName().startsWith("BACKUPDiskStore-")) { > > try { > > FileUtil.delete(file); > > } catch (IOException e) { > > throw new RuntimeException("Unable to delete BACKUPDiskStore > file", > > e); > > } > > } > > } > > > > There's probably an async thread either from tearDown or from the tests > > that's also deleting disk stores? > > > > On Thu, Feb 9, 2017 at 10:58 AM, Bruce Schuchardt < > [email protected]> > > wrote: > > > > > What concerns me about these failures is that it's iterating the > contents > > > of a directory to delete eache file one-by-one and is failing to find a > > > file. It's in JUnit4CacheTestCase tear-down code, not code specific to > > > distributed transactions. > > > > > > > > > Le 2/9/2017 à 10:53 AM, Kirk Lund a écrit : > > > > > >> The nightly build continues to fail with many dist tx test failures > > >> involving cleanup of diskstores. Should we delete the dist tx tests > > since > > >> we don't have dist tx in geode yet? > > >> > > >> https://builds.apache.org/job/Geode-nightly/743/ > > >> > > >> [error 2017/02/09 11:20:30.602 UTC <RMI TCP > > Connection(28)-67.195.81.139> > > >> tid=0x600] Error cleaning disk dirs > > >> java.lang.RuntimeException: Unable to delete BACKUPDiskStore file > > >> at > > >> org.apache.geode.test.dunit.cache.internal.JUnit4CacheTestCa > > >> se.deleteBACKUPDiskStoreFile(JUnit4CacheTestCase.java:580) > > >> at > > >> org.apache.geode.test.dunit.cache.internal.JUnit4CacheTestCa > > >> se.lambda$cleanDiskDirs$0(JUnit4CacheTestCase.java:572) > > >> at > > >> java.util.Spliterators$ArraySpliterator.forEachRemaining( > > >> Spliterators.java:948) > > >> at > > >> java.util.stream.ReferencePipeline$Head.forEach( > > >> ReferencePipeline.java:580) > > >> at > > >> org.apache.geode.test.dunit.cache.internal.JUnit4CacheTestCa > > >> se.cleanDiskDirs(JUnit4CacheTestCase.java:572) > > >> at > > >> org.apache.geode.test.dunit.cache.internal.JUnit4CacheTestCa > > >> se.remoteTearDown(JUnit4CacheTestCase.java:422) > > >> at > > >> org.apache.geode.test.dunit.cache.internal.JUnit4CacheTestCa > > >> se.lambda$tearDownCacheTestCase$bb17a952$1( > > JUnit4CacheTestCase.java:393) > > >> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > > >> at > > >> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAcce > > >> ssorImpl.java:62) > > >> at > > >> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMe > > >> thodAccessorImpl.java:43) > > >> at java.lang.reflect.Method.invoke(Method.java:498) > > >> at hydra.MethExecutor.executeObject(MethExecutor.java:245) > > >> at > > >> org.apache.geode.test.dunit.standalone.RemoteDUnitVM.execute > > >> MethodOnObject(RemoteDUnitVM.java:73) > > >> at sun.reflect.GeneratedMethodAccessor361.invoke(Unknown Source) > > >> at > > >> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMe > > >> thodAccessorImpl.java:43) > > >> at java.lang.reflect.Method.invoke(Method.java:498) > > >> at sun.rmi.server.UnicastServerRef.dispatch( > UnicastServerRef.java:324) > > >> at sun.rmi.transport.Transport$1.run(Transport.java:200) > > >> at sun.rmi.transport.Transport$1.run(Transport.java:197) > > >> at java.security.AccessController.doPrivileged(Native Method) > > >> at sun.rmi.transport.Transport.serviceCall(Transport.java:196) > > >> at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTranspo > > >> rt.java:568) > > >> at > > >> sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TC > > >> PTransport.java:826) > > >> at > > >> sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.lambda$ > > >> run$0(TCPTransport.java:683) > > >> at java.security.AccessController.doPrivileged(Native Method) > > >> at > > >> sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCP > > >> Transport.java:682) > > >> at > > >> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPool > > >> Executor.java:1142) > > >> at > > >> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoo > > >> lExecutor.java:617) > > >> at java.lang.Thread.run(Thread.java:745) > > >> Caused by: java.nio.file.NoSuchFileException: > > >> ./BACKUPDiskStore-0-0-org.apache.geode.disttx.DistributedTra > > >> nsactionDUnitTest.testPutAllWithTransactions_1.krf > > >> at sun.nio.fs.UnixException.translateToIOException( > > UnixException.java:86) > > >> at sun.nio.fs.UnixException.rethrowAsIOException( > > UnixException.java:102) > > >> at sun.nio.fs.UnixException.rethrowAsIOException( > > UnixException.java:107) > > >> at > > >> sun.nio.fs.UnixFileSystemProvider.implDelete(UnixFileSystemP > > >> rovider.java:244) > > >> at > > >> sun.nio.fs.AbstractFileSystemProvider.delete(AbstractFileSys > > >> temProvider.java:103) > > >> at java.nio.file.Files.delete(Files.java:1126) > > >> at org.apache.geode.internal.FileUtil.delete(FileUtil.java:166) > > >> at > > >> org.apache.geode.test.dunit.cache.internal.JUnit4CacheTestCa > > >> se.deleteBACKUPDiskStoreFile(JUnit4CacheTestCase.java:578) > > >> ... 28 more > > >> > > >> > > > > > >
