Ryan Williams created BEAM-4711: ----------------------------------- Summary: LocalFileSystem.delete doesn't support globbing Key: BEAM-4711 URL: https://issues.apache.org/jira/browse/BEAM-4711 Project: Beam Issue Type: Task Components: sdk-py-core Affects Versions: 2.5.0 Reporter: Ryan Williams Assignee: Ryan Williams
I attempted to run {{wordcount_it_test:WordCountIT.test_wordcount_it}} locally with {{DirectRunner}}: {code} python setup.py nosetests \ --tests apache_beam.examples.wordcount_it_test:WordCountIT.test_wordcount_it \ --test-pipeline-options="--output=foo" {code} It failed in [the {{delete_files}} cleanup command|https://github.com/apache/beam/blob/a58f1ffaafb0e2ebcc73a1c5abfb05a15ec6a84b/sdks/python/apache_beam/examples/wordcount_it_test.py#L64]: {code} root: WARNING: Retry with exponential backoff: waiting for 11.1454450937 seconds before retrying delete_files because we caught exception: BeamIOError: Delete operation failed with exceptions {'foo/1530557644/results*': IOError(OSError(2, 'No such file or directory'),)} Traceback for above exception (most recent call last): File "/Users/ryan/c/beam/sdks/python/apache_beam/utils/retry.py", line 184, in wrapper return fun(*args, **kwargs) File "/Users/ryan/c/beam/sdks/python/apache_beam/testing/test_utils.py", line 136, in delete_files FileSystems.delete(file_paths) File "/Users/ryan/c/beam/sdks/python/apache_beam/io/filesystems.py", line 282, in delete return filesystem.delete(paths) File "/Users/ryan/c/beam/sdks/python/apache_beam/io/localfilesystem.py", line 304, in delete raise BeamIOError("Delete operation failed", exceptions) {code} The line: {code} self.addCleanup(delete_files, [output + '*']) {code} works as expected in GCS, and deletes a test's output-directory, but it fails in on the local-filesystem, which doesn't expand globs before attempting to delete paths. It would be good to make these consistent, presumably by adding glob-support to {{LocalFileSystem}} -- This message was sent by Atlassian JIRA (v7.6.3#76005)