qpid-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Arnaud Simon (JIRA)" <qpid-...@incubator.apache.org>
Subject [jira] Commented: (QPID-949) Implement Flow To Disk
Date Mon, 28 Apr 2008 14:51:55 GMT

    [ https://issues.apache.org/jira/browse/QPID-949?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12592819#action_12592819

Arnaud Simon commented on QPID-949:

There are several possible heuristics. Let's assume that a message has an in-memory state
and a persistent state so we can: 
1) discard all in-memory states when the memory size reaches a pre-defined threshold. 
2) discard new and/or old transient messages 
3) only create persistent state of persistent and transient messages
4) throttle publisher speed up to stopping then when memory size is critical 

We can obviously combine for example 1) and 3). Note that even if a message payload is not
kept in-memory, accepting a new message requires to create objects hence free memory. So,
whatever heuristic we go for we will eventually have to apply 4).

> Implement Flow To Disk
> ----------------------
>                 Key: QPID-949
>                 URL: https://issues.apache.org/jira/browse/QPID-949
>             Project: Qpid
>          Issue Type: New Feature
>          Components: Java Broker
>    Affects Versions: M2.1
>            Reporter: Marnie McCormack
>            Assignee: Rob Godfrey
>             Fix For: M3
> Currently, the Java Broker can do one of two things with a message it has to deliver:

> 1. Keep transient messages in memory until delivered
> 2. Write persistent messages to a message store (like BDB) and keep in memory until delivery
> This means that the broker is not able to avoid OoM exceptions i.e. send enough messages
to the broker, especially if your consumers are not active, and you could bring the broker
done once it explodes its available heap.
> RG to add more details and design proposal here please :-)

This message is automatically generated by JIRA.
You can reply to this email to add a comment to the issue online.

View raw message