[ https://issues.apache.org/jira/browse/FLINK-987?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Flink Jira Bot updated FLINK-987: --------------------------------- Labels: auto-deprioritized-major stale-minor (was: auto-deprioritized-major) I am the [Flink Jira Bot|https://github.com/apache/flink-jira-bot/] and I help the community manage its development. I see this issues has been marked as Minor but is unassigned and neither itself nor its Sub-Tasks have been updated for 180 days. I have gone ahead and marked it "stale-minor". If this ticket is still Minor, please either assign yourself or give an update. Afterwards, please remove the label or in 7 days the issue will be deprioritized. > Extend TypeSerializers and -Comparators to work directly on Memory Segments > --------------------------------------------------------------------------- > > Key: FLINK-987 > URL: https://issues.apache.org/jira/browse/FLINK-987 > Project: Flink > Issue Type: Improvement > Components: Runtime / Task > Affects Versions: 0.6-incubating > Reporter: Stephan Ewen > Priority: Minor > Labels: auto-deprioritized-major, stale-minor > > As per discussion with [~till.rohrmann], [~uce], [~aljoscha], we suggest to > change the way that the TypeSerialzers/Comparators and > DataInputViews/DataOutputViews work. > The goal is to allow more flexibility in the construction on the binary > representation of data types, and to allow partial deserialization of > individual fields. Both is currently prohibited by the fact that the > abstraction of the memory (into which the data goes) is a stream abstraction > ({{DataInputView}}, {{DataOutputView}}). > An idea is to offer a random-access buffer like view for construction and > random-access deserialization, as well as various methods to copy elements in > a binary fashion between such buffers and streams. > A possible set of methods for the {{TypeSerializer}} could be: > {code} > long serialize(T record, TargetBuffer buffer); > > T deserialize(T reuse, SourceBuffer source); > > void ensureBufferSufficientlyFilled(SourceBuffer source); > > <X> X deserializeField(X reuse, int logicalPos, SourceBuffer buffer); > > int getOffsetForField(int logicalPos, int offset, SourceBuffer buffer); > > void copy(DataInputView in, TargetBuffer buffer); > > void copy(SourceBuffer buffer,, DataOutputView out); > > void copy(DataInputView source, DataOutputView target); > {code} -- This message was sent by Atlassian Jira (v8.20.1#820001)