Project Task Page: Axon Waking Producers Bugfix
DescriptionTo get Axon to wake up producer components when a message they have sent out is consumed. This used to be a feature of axon, but was removed when Axon box delivery optimisations were implemented. This is therefore effectively a bugfix.
This allows producers to sleep if an inbox they are trying to send to becomes full (because it is size limited) and then be woken when it becomes non-full.
Needed by the Mobile reframer.
InputsThis section is largely about WHO has influenced this task to do WHAT, and where possible WHY. It is also about WHO to contact with regard to this task to influence what's going on.
Relevant Influencing factors:
Realistic possibilities arising as a result of activity on this task
Tasks that directly enable this task (dependencies)
DiscussionThis bug-fix brings Axon up to equivalent, but not semantically identical, functionality to the original capabilities of Axon 1.0.
Changes to behaviour/semanticsThe original semantics worked for a model where both inbox and outbox sizes could be limited, and a postman microprocess would transfer data along linkages from outboxes to inboxes. In that model:
The differences can therefore be summarised as:
It could be argued that this strategy of waking all producers may cause a significant performance hit to some Axon based systems as all producers linked to a consumer will be woken every time the consumer collects from that inbox.
An alternative would be to only wake producers when the inbox transitions from being full to becoming not-full. Alternatively, producers could only be woken if they explicitly request it.
However these ideas constitue a more fundamental change in behaviour that component developers would have to take into account, rather than being a simple bug-fix.
-- Matt Hammond, 23 February 2007
This is an ongoing community based development site. As a result the contents of this page is the opinions of the contributors of the pages involved not the organisations involved. Specificially, this page may contain personal views which are not the views of the BBC. (the site is powered by a wiki engine)
(C) Copyright 2008 Kamaelia Contributors, including the British Broadcasting Corporation, All Rights Reserved