Dale Emery created GEODE-8572: --------------------------------- Summary: LogExporter throws if a directory matches its file selector Key: GEODE-8572 URL: https://issues.apache.org/jira/browse/GEODE-8572 Project: Geode Issue Type: Bug Components: gfsh Affects Versions: 1.13.0 Reporter: Dale Emery
{{LogExporter}} tries to read and export any directory entry whose name is accepted by its log file selector predicate. The predicate accepts any entry whose name, when converted to lower case, contains ".log". If one of those entries is directory, the predicate accepts it anyway. When {{LogExporter}} attempts to create a {{FileReader}} read it, the {{FileReader}} constructor throws {{FileNotFoundException}}. There is a stat file selector predicate that works similarly. {{LogExporter}}'s log and stat file selector predicates should accept only files, and not directories. And perhaps the should accept only files whose names _end_ in the appropriate extension, rather than _containing_ the characters. The predicates are defined in {{LogExporter}}'s {{findLogFiles()}} and {{findStatFiles()}} methods. I discovered this defect by running {{LogExporterIntegrationTest}} on macOS. Each test's preparation writes some to-be-exported files into a temporary directory that, on macOS, may contain numerous other files and directories. One of those directories (e.g. /var/folders/yz/6y59fxln38d7lf2jxng1zgg40000gn/T/com.apple.LoginUserService), which matches the {{LogExporter}}'s predicate. These tests should also be changed to write their to-be-exported files to a directory that is known to be empty. -- This message was sent by Atlassian Jira (v8.3.4#803005)