[jboss-jira] [JBoss JIRA] (JGRP-1770) Table: null row when removing last element

Bela Ban (JIRA) issues at jboss.org
Fri Jan 10 11:51:32 EST 2014


     [ https://issues.jboss.org/browse/JGRP-1770?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Bela Ban resolved JGRP-1770.
----------------------------

    Resolution: Done

    
> Table: null row when removing last element
> ------------------------------------------
>
>                 Key: JGRP-1770
>                 URL: https://issues.jboss.org/browse/JGRP-1770
>             Project: JGroups
>          Issue Type: Enhancement
>            Reporter: Bela Ban
>            Assignee: Bela Ban
>             Fix For: 3.5
>
>
> In Table.removeMany() when nulling the last column of a row, we don't null the entire row. The effect is that we have rows (arrays) with all columns being empty remain in memory, which wastes memory.
> Note that Table.purge() actually does null entire rows, this is called by
> * NAKACK2: here, method stable() triggered by STABLE calls {{Table.purge(seqno)}}, so we're nulling entire rows. This is not a problem.
> * UNICAST3 *sender entries*: here, reception of an ACK(seqno) also calls {{Table.purge(seqno)}}, so this is not an issue, either
> The only issue is UNICAST3 *receiver entries*: here, {{Table.purge()}} is never called; elements are only nulled, but not entire rows.
> SOLUTION:
> When {{Table.removeMany()}} nulls an element, if that element is tha last element of a row (index = {{elements_per_row -1}}, then null the entire row.
> EFFECT:
> There's less memory held in memory by UNICAST3 receiver entries

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


More information about the jboss-jira mailing list