[
https://issues.apache.org/jira/browse/GEODE-8572?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17209236#comment-17209236
]
ASF subversion and git services commented on GEODE-8572:
--------------------------------------------------------
Commit dbd180319aa6435091fd87b7aeac4e542565011c in geode's branch
refs/heads/develop from Dale Emery
[ https://gitbox.apache.org/repos/asf?p=geode.git;h=dbd1803 ]
GEODE-8572: Make LogExporter not read dirs (#5595)
Changed LogExporter to refrain from attempting to read directories, even
when a directory's path matches the exporter's file selector predicates.
Changed LogExporterIntegrationTest to configure the server to write
files in a unique subdirectory of the current working directory. Some
tests were configuring the server to use a temporary folder that could
be reused by other tests.
> 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
> Priority: Major
> Labels: GeodeOperationAPI, pull-request-available
>
> {{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)