diff options
author | Jon Bratseth <bratseth@yahoo-inc.com> | 2017-01-18 11:40:10 +0100 |
---|---|---|
committer | Jon Bratseth <bratseth@yahoo-inc.com> | 2017-01-18 11:40:10 +0100 |
commit | 2945c88c507a382144e9713ef8f338bdca9c77e2 (patch) | |
tree | 4794781ca4b82c77570f41c59394e78e9c4da4f0 /container-search/src/main/java/com/yahoo/prelude/fastsearch/TensorField.java | |
parent | 32e3cbf82a532f9e1c7763270fc485bbf0d79d0e (diff) |
Use int length and allow 0 length
Diffstat (limited to 'container-search/src/main/java/com/yahoo/prelude/fastsearch/TensorField.java')
-rw-r--r-- | container-search/src/main/java/com/yahoo/prelude/fastsearch/TensorField.java | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/container-search/src/main/java/com/yahoo/prelude/fastsearch/TensorField.java b/container-search/src/main/java/com/yahoo/prelude/fastsearch/TensorField.java index 422445a31da..0d97a5bdaf7 100644 --- a/container-search/src/main/java/com/yahoo/prelude/fastsearch/TensorField.java +++ b/container-search/src/main/java/com/yahoo/prelude/fastsearch/TensorField.java @@ -23,7 +23,8 @@ public class TensorField extends DocsumField implements VariableLengthField { @Override public Tensor decode(ByteBuffer buffer) { - int length = ((int) buffer.getShort()) & 0xffff; + int length = buffer.getInt(); + if (length == 0) return null; ByteBuffer contentBuffer = ByteBuffer.wrap(buffer.array(), buffer.arrayOffset() + buffer.position(), length); Tensor tensor = TypedBinaryFormat.decode(Optional.empty(), new GrowableByteBuffer(contentBuffer)); buffer.position(buffer.position() + length); @@ -45,14 +46,14 @@ public class TensorField extends DocsumField implements VariableLengthField { @Override public int getLength(ByteBuffer b) { int offset = b.position(); - int len = ((int) b.getShort()) & 0xffff; - b.position(offset + len + (Short.SIZE >> 3)); - return len + (Short.SIZE >> 3); + int length = b.getInt(); + b.position(offset + length); + return length; } @Override public int sizeOfLength() { - return Short.SIZE >> 3; + return 4; } @Override |