[ 
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)

Reply via email to