You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "Vladimir Rodionov (JIRA)" <ji...@apache.org> on 2014/09/18 22:25:34 UTC

[jira] [Commented] (HBASE-12023) HRegion.applyFamilyMapToMemstore creates too many iterator objects...

    [ https://issues.apache.org/jira/browse/HBASE-12023?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14139439#comment-14139439 ] 

Vladimir Rodionov commented on HBASE-12023:
-------------------------------------------

Its here:
{code}
  private long applyFamilyMapToMemstore(Map<byte[], List<Cell>> familyMap,
    long mvccNum, List<Cell> memstoreCells) throws IOException {
    long size = 0;

    for (Map.Entry<byte[], List<Cell>> e : familyMap.entrySet()) {
      byte[] family = e.getKey();
      List<Cell> cells = e.getValue();

      Store store = getStore(family);
      for (Cell cell: cells) {
        CellUtil.setSequenceId(cell, mvccNum);
        Pair<Long, Cell> ret = store.add(cell);
        size += ret.getFirst();
        memstoreCells.add(KeyValueUtil.ensureKeyValue(ret.getSecond()));
      }
    }

     return size;
   }
{code}

> HRegion.applyFamilyMapToMemstore creates too many iterator objects...
> ---------------------------------------------------------------------
>
>                 Key: HBASE-12023
>                 URL: https://issues.apache.org/jira/browse/HBASE-12023
>             Project: HBase
>          Issue Type: Bug
>    Affects Versions: 0.98.5, 0.94.23
>            Reporter: Vladimir Rodionov
>            Assignee: Vladimir Rodionov
>            Priority: Minor
>         Attachments: applyFamilyMapToMemstore (1).tiff
>
>
> for ... loop (creates iterator) inside another for loop. Produces a lot of garbage. See attached picture.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)