[ 
https://issues.apache.org/jira/browse/AVRO-2105?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Ilia Khaustov updated AVRO-2105:
--------------------------------
    Remaining Estimate:     (was: 4h)
     Original Estimate:     (was: 4h)

> Using DataFileWriter in append mode with write-only file IO 
> ------------------------------------------------------------
>
>                 Key: AVRO-2105
>                 URL: https://issues.apache.org/jira/browse/AVRO-2105
>             Project: Avro
>          Issue Type: Improvement
>          Components: python
>         Environment: Python 2/3
>            Reporter: Ilia Khaustov
>            Priority: Minor
>              Labels: python
>
> *Problem*: DataFileWriter supports "create" and "append" modes. "Append" mode 
> can be triggered by passing schema as None to constructor. In this case, it 
> is required from given file writer to allow reading as well - internal logic 
> relies on reading meta information from given file. If it was opened in "ab+" 
> mode it works, but in "ab" it will raise IOError.
> *Practical example*: I use Avro serialization in Python with LZMA compression 
> for serialized files. LZMA library provides a file-like class LZMAFile for 
> writing uncompressed data from memory to disk, or reading compressed file to 
> decompressed stream. It doesn't support "+" modes - only compression or 
> decompression, not both. This looks like a blocker for straight-forward 
> implementation of appending to compressed Avro objects. However, LZMAFile 
> supports appending, so does DataFileWriter.
> *Possible solution*: Add "reader" kwarg to DataFileWriter constructor that 
> would be used instead of "writer" in "append" mode for reading metadata. If 
> not given, "reader" set to "writer" for compatibility.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to