You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@avro.apache.org by "Lionel Delphin-Poulat (JIRA)" <ji...@apache.org> on 2014/06/05 11:38:01 UTC
[jira] [Commented] (AVRO-767) Support for message framing
[ https://issues.apache.org/jira/browse/AVRO-767?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14018623#comment-14018623 ]
Lionel Delphin-Poulat commented on AVRO-767:
--------------------------------------------
I wonder if work has been done on the subject since 2011. I tried to insert it in version 1.7.6 of the library as a first step to add rpc support introduced by Gilles Gaillard in AVRO-777. I have only a shallow understanding of avro and the improvements by Gilles.
Most of the code contained in frame_memory_patch could be reported in version 1.7.6. However, there are some parts that are more delicate to insert. When the read type of the value is in AVRO_BYTES and message framing is used (in value-readc.c), the read_bytes method does not allocate memory but rather returns a pointer to the data. The pointed data should not be free. So in this case, the free function specified in avro_wrapped_alloc_new should free the avro_wrapped_buffer structure but not the data inside.
1. Is my understanding correct?
2. Does this mechanism apply for other value types? I think does not apply to simple types such as AVRO_FLOAT, AVRO_DOUBLE, but I wonder if it applies to more complex types such as AVRO_STRING, AVRO_ARRAY, AVRO_MAP, where memory copy might be avoided.
Thanks!
> Support for message framing
> ---------------------------
>
> Key: AVRO-767
> URL: https://issues.apache.org/jira/browse/AVRO-767
> Project: Avro
> Issue Type: Improvement
> Components: c
> Affects Versions: 1.5.0
> Reporter: sebastien david
> Labels: patch
> Attachments: frame_memory_patch.diff
>
> Original Estimate: 0h
> Remaining Estimate: 0h
>
> Avro-c does not currently provide message framing, the attached patch implements this improvement plus path throught for byte array encoding/decoding (don't copy anymore the bytes but use direct pointer).
--
This message was sent by Atlassian JIRA
(v6.2#6252)