You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "Lars Hofhansl (JIRA)" <ji...@apache.org> on 2015/05/17 22:18:59 UTC
[jira] [Updated] (HBASE-13703) ReplicateContext should not be a
member of ReplicationSource
[ https://issues.apache.org/jira/browse/HBASE-13703?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Lars Hofhansl updated HBASE-13703:
----------------------------------
Attachment: 13703.txt
Trivial patch. Just removes the replicateContext members, and creates the object where it is needed.
Please have a quick look. Is this needed as a member to better allow for custom replication implementations? (I don't think so, but would be cool if somebody could chime in).
> ReplicateContext should not be a member of ReplicationSource
> ------------------------------------------------------------
>
> Key: HBASE-13703
> URL: https://issues.apache.org/jira/browse/HBASE-13703
> Project: HBase
> Issue Type: Bug
> Reporter: Lars Hofhansl
> Attachments: 13703.txt
>
>
> The ReplicateContext object is created once per ReplicationSource and then reused when we have something to ship to the sinks.
> This is a misguided optimization. ReplicateContext is very lightweight (definitely compared to the all the work and copying the ReplicationSource is doing) and, crucially, it prevent the the entries array from being collected after it was successfully copied to the sink, wasting potentially a lot of heap.
> The entries array itself holds reference to WAL entries on the heap, that now also cannot be collected.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)