[ 
https://issues.apache.org/jira/browse/AMQ-4262?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Gary Tully resolved AMQ-4262.
-----------------------------

    Resolution: Fixed

fix in http://svn.apache.org/viewvc?view=revision&revision=1436291

we now track the range of data files referenced by inflight transactions. this 
allows ack generated data from consumers to be gced
                
> Pending send transaction can block on store usage and not resume once backlog 
> is cleared
> ----------------------------------------------------------------------------------------
>
>                 Key: AMQ-4262
>                 URL: https://issues.apache.org/jira/browse/AMQ-4262
>             Project: ActiveMQ
>          Issue Type: Bug
>          Components: Message Store
>    Affects Versions: 5.7.0
>            Reporter: Gary Tully
>            Assignee: Gary Tully
>              Labels: blocking, gc, kahadb, pfc, store, transactions, usage
>             Fix For: 5.8.0
>
>
> A transacted send can block pending store usage, an active transaction will 
> be visible to the store. This will block kahadb from gc of data files that 
> occur after the inflight transaction. 
> Consumers acking the pending messages can create additional data files that 
> can't be gced. This is a problem because the queue can drain and not release 
> the producer.
> With message database trace is is possible to see:{code}
> 14:20:20,515 | INFO  | .0.1:51273@61616 | Queue                            | 
> 125 - org.apache.activemq.activemq-core - 5.7.0.fuse-71-047 | 
> Usage(default:store:queue://flood_out:store) percentUsage=99%, 
> usage=30447772, limit=20971520, 
> percentUsageMinDelta=1%;Parent:Usage(default:store) percentUsage=145%, 
> usage=30447772, limit=20971520, percentUsageMinDelta=1%: Persistent store is 
> Full, 100% of 20971520. Stopping producer (ID:..) to prevent flooding 
> queue://flood_out. See http://activemq.apache.org/producer-flow-control.html 
> for more info (blocking for: 5650s)
> .....
> 14:20:45,016 | TRACE | heckpoint Worker | MessageDatabase                  | 
> 125 - org.apache.activemq.activemq-core - 5.7.0.fuse-71-047 | Last update: 
> 30:453228, full gc candidates set: [11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 
> 21, 22, 23, 24, 25, 26, 27, 28, 29, 30]
> 14:20:45,016 | TRACE | heckpoint Worker | MessageDatabase                  | 
> 125 - org.apache.activemq.activemq-core - 5.7.0.fuse-71-047 | gc candidates 
> after first tx:11:860775, []
> 14:20:45,016 | TRACE | heckpoint Worker | MessageDatabase                  | 
> 125 - org.apache.activemq.activemq-core - 5.7.0.fuse-71-047 | gc candidates: 
> []
> {code}Here there is a build up of data files, after the inflight transaction, 
> containing acks and messages that could be cleaned up.
>  
> The inflight transactions should protect a range of data files that they 
> reference, not all subsequent data files.

--
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

Reply via email to