You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@drill.apache.org by "ASF GitHub Bot (JIRA)" <ji...@apache.org> on 2017/06/19 15:19:00 UTC
[jira] [Commented] (DRILL-5517) Provide size-aware set operations
in value vectors
[ https://issues.apache.org/jira/browse/DRILL-5517?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16054180#comment-16054180 ]
ASF GitHub Bot commented on DRILL-5517:
---------------------------------------
Github user bitblender commented on a diff in the pull request:
https://github.com/apache/drill/pull/840#discussion_r122533121
--- Diff: exec/vector/src/main/codegen/templates/VariableLengthVectors.java ---
@@ -548,6 +567,23 @@ public void setSafe(int index, ByteBuffer bytes, int start, int length) {
}
}
+ public void setScalar(int index, DrillBuf bytes, int start, int length) throws VectorOverflowException {
+ assert index >= 0;
+
+ if (index >= MAX_ROW_COUNT) {
+ throw new VectorOverflowException();
+ }
+ int currentOffset = offsetVector.getAccessor().get(index);
+ final int newSize = currentOffset + length;
+ if (newSize > MAX_BUFFER_SIZE) {
+ throw new VectorOverflowException();
+ }
+ while (! data.setBytesBounded(currentOffset, bytes, start, length)) {
--- End diff --
indentation
> Provide size-aware set operations in value vectors
> --------------------------------------------------
>
> Key: DRILL-5517
> URL: https://issues.apache.org/jira/browse/DRILL-5517
> Project: Apache Drill
> Issue Type: Improvement
> Affects Versions: 1.11.0
> Reporter: Paul Rogers
> Assignee: Paul Rogers
> Fix For: 1.11.0
>
>
> DRILL-5211 describes a memory fragmentation issue in Drill. The resolution is to limit vector sizes to 16 MB (the size of Netty memory allocation "slabs.") Effort starts by providing "size-aware" set operations in value vectors which:
> * Operate as {{setSafe()}} while vectors are below 16 MB.
> * Throw a new, specific exception ({{VectorOverflowException}}) if setting the value (and growing the vector) would exceed the vector limit.
> The methods in value vectors then become the foundation on which we can construct size-aware record batch "writers."
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)