You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "yuliangwan (JIRA)" <ji...@apache.org> on 2019/06/20 09:15:00 UTC
[jira] [Created] (HBASE-22611) hbase-common module's class
"org.apache.hadoop.hbase.io.encoding.RowIndexCodecV1" DataOutputStream is
not closed.
yuliangwan created HBASE-22611:
----------------------------------
Summary: hbase-common module's class "org.apache.hadoop.hbase.io.encoding.RowIndexCodecV1" DataOutputStream is not closed.
Key: HBASE-22611
URL: https://issues.apache.org/jira/browse/HBASE-22611
Project: HBase
Issue Type: Bug
Components: io
Affects Versions: 2.1.5, 2.1.4
Reporter: yuliangwan
Fix For: 3.0.0
public ByteBuffer decodeKeyValues(DataInputStream source,
HFileBlockDecodingContext decodingCtx) throws IOException\{...}
DataOutputStream is not close after use.
{code:java}
//代码占位符
else {
RowIndexSeekerV1 seeker = new RowIndexSeekerV1(CellComparatorImpl.COMPARATOR,
decodingCtx);
seeker.setCurrentBuffer(new SingleByteBuff(sourceAsBuffer));
List<Cell> kvs = new ArrayList<>();
kvs.add(seeker.getCell());
while (seeker.next()) {
kvs.add(seeker.getCell());
}
boolean includesMvcc = decodingCtx.getHFileContext().isIncludesMvcc();
ByteArrayOutputStream baos = new ByteArrayOutputStream();
DataOutputStream out = new DataOutputStream(baos);
for (Cell cell : kvs) {
KeyValue currentCell = KeyValueUtil.copyToNewKeyValue(cell);
out.write(currentCell.getBuffer(), currentCell.getOffset(),
currentCell.getLength());
if (includesMvcc) {
WritableUtils.writeVLong(out, cell.getSequenceId());
}
}
out.flush();
return ByteBuffer.wrap(baos.getBuffer(), 0, baos.size());
}
{code}
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)