[
https://issues.apache.org/jira/browse/AVRO-1715?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14947588#comment-14947588
]
ASF subversion and git services commented on AVRO-1715:
-------------------------------------------------------
Commit 1707389 from [[email protected]] in branch 'avro/trunk'
[ https://svn.apache.org/r1707389 ]
AVRO-1715. Java: Close files opened by the Schema parser. Contributed by Pavel
Safrata.
This also clarifies the InputStream parse method, which does not own the
stream that is passed in and does not close it. The tools have been
updated to correctly close streams passed to the parser.
> Compiling a schema leaves the schema file open
> ----------------------------------------------
>
> Key: AVRO-1715
> URL: https://issues.apache.org/jira/browse/AVRO-1715
> Project: Avro
> Issue Type: Bug
> Components: java
> Affects Versions: 1.7.7, 1.8.0
> Reporter: Pavel Safrata
> Fix For: 1.8.0
>
> Attachments: AVRO-1715.4.diff, AVRO-1715.5.diff,
> Schema_close_parser.patch, Schema_close_parser_v2.patch,
> Schema_close_parser_v3.patch
>
>
> The schema compiler leaves the schema file open. This is demonstrated on the
> following code:
> File schemaFile = new File("schema.avsc");
> SpecificCompiler.compileSchema(new File[] { schemaFile }, new File("output"));
> Files.delete(schemaFile.toPath());
> On Windows I get "java.nio.file.FileSystemException: schema.avsc: The process
> cannot access the file because it is being used by another process."
> The problem is in Schema.java, method parse(File). This method creates a
> JsonParser for the schema file but never closes it, so the parser stays open
> together with the FileInputStream created by it. Closing the parser fixes the
> problem. I believe the same should be done for the other types of inputs as
> the json parsers do use more resources that should be freed. So I propose to
> close the parser in the parse(JsonParser) method. I will attach the patch.
> This is almost a blocker for our project and I would really appreciate if we
> can have this resolved for 1.8. Please let me know if that's possible and
> whether I should go ahead with merging the change myself (it's my first
> contribution here).
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)