FtD Code Review Notes has been edited by Martin Ritchie (Mar 13, 2009).

(View changes)

Content:

Flow to Disk review points

Priority (H/M/L) Review Status
High Removal of old methods from TransactionLog  
  Create Abstract BaseTransactionLog class to hold commonalities with existing TLogs  
  Refactor Ref Counting out into BaseTransactionLog  
  StoreContext update, initially to include the dequeue messageIds as per BDBStore  
  StoreContext -> convert -> Transaction and use that for operation.(commit,abort...)  
  Reference Count to use AtomicInts to reduce memory usage.  
  Rename flow/recover -> unload/load Done
High FlowableQueueEntryList extends QueueEntryList, but there are no unflowable lists, and there shouldn't be in the future either. (AS)
Done
  Merge Inhaler/Purger threads to a single rebalance thread  
  QueueEntryImpl allows direct access to the ContentHeader via the Filterable Interface, need an improved way of doing selectors that doesn't always require the message to be pulled from disk. Some checks can be done with data already in memory with QueueEntry; MessageID  
  NoLocal requires message to be pulled in to memory.  
  • Test flowed queues delete backing store on close.
  • Management Console Functionality
    + Viewing
    + Moving Messages
  • Consuming from flowed queues with all ack modes
    + Client
    + Transacted
    + No-Ack
  • Use of selectors
    + Browsers with selectors is DONE
    + Selectors on normal consumer to be completed
  • Test No_local on flowed queues,
    + Currently flowed messages will be reloaded to check no_local values. Does it make sense to move them to the QueueEntry?

Failure testing:
+ What happens when disk runs out?
+ Current implementation should log error and keep message in memory. Eventually though it will OOME the broker as it can't keep messages in memory.
+ Testing on all supported OSes and File systems. Linux : ext3, SAN(vxfs); Solaris (ZFS); Windows NTFS?
+ What happends if the disk fails/is removed?

What happens when the directory cannot hold any more messages, or queues.
+ Linux ext3 means 31998 queues max per vhost per instance. as the dir is currently created even if it is not needed.

--------------------------------------------------------------------- Apache Qpid - AMQP Messaging Implementation Project: http://qpid.apache.org Use/Interact: mailto:[email protected]

Reply via email to