Apache Incubator Qpid Java M2 Release Notes ------------------------------------------- The Qpid M2 release contains support the for AMQP 0-8 specification. You can access the 0-8 specification using the following link. http://www.amqp.org/tikiwiki/tiki-index.php?page=Download For full details of Qpid capabilities, as they currently stand, see our detailed project documentation at: http://cwiki.apache.org/confluence/display/qpid/Qpid+Java+Documentation From the link above you can access our Getting Started Guide, FAQ, Build How To and detailed developer documentation. Known Issues/Outstanding Work ----------------------------- You can view the outstanding task list for Qpid by visiting our JIRA: http://issues.apache.org/jira/browse/QPID Please note that most of the issues are fixed, but are kept open until the merged with trunk, at which point they will be closed Here is a filtered list for your convinience --------------------------------------- D-560 Add DiagnosticExchange exchange QPID-543 Add ability to register custom exchange types QPID-274 add connection configuratble timeout on waituntilStateHasChanged QPID-156 Implement persistent store with Apache compliant licence QPID-155 Add ability to configure (on/off) queue creation on demand QPID-43 Multiple-AMQP version support in the broker QPID-28 Allow user to select policy for undeliverable message handling QPID-27 Introduce user configurable redlivery delay QPID-22 Provide run scripts for clustered broker QPID-592 Limit number of bytes in write buffer queue QPID-583 Reinstate the old topic performance test QPID-582 Ensure Java codebase builds with Java 6 QPID-567 Add basic multiversion support to Qpid for interop between M1, M2 and 0-8 and 0-9 AMQP implementations QPID-564 Reapply MINA performance patches QPID-430 Message Age Alerting should not depend upon queue activity QPID-19 Add protocol logging capability to client and broker QPID-11 Move protocol literals from code to AMQConstant QPID-659 Messages sent to a queue that uses selectors may cause high CPU load. QPID-654 ThreadPoolExecutor.getTask() can be seen WAITING causing test cases to hang QPID-653 Timeouts in tests causing spurious failures on slower machines QPID-647 Delivery Manager can stop starving consumers. QPID-645 Exception thrown while preparing TxnOp not logged or propogated QPID-643 CSDM causes duplicate message delivery. QPID-637 BasicConsumer.recieve can return null before the timeout expires due to InterruptedException QPID-632 ImmediateMessageTest fails occasionally because AMQNoConsumersException was not received. QPID-626 AMQSession deadlocks QPID-623 If all consumers of a queue use selectors then the broker will leak memory QPID-611 Queue Total size calculations can cause NPE on broker. QPID-610 Usages of queue.dequeue need to be checked to ensure memory loss doesn't occur QPID-609 Dispatcher threads are not always killed QPID-608 ConnectionTest fails because VM broker is not created QPID-607 Dispatcher threads do not die QPID-606 NPE from several systests occasionally QPID-604 Potential NullPointerException in FieldTable trace logging QPID-599 maven runs tests twice in client module QPID-594 Java client does not throw exceptions for failures during connection establishment QPID-590 Client can deadlock when session is accessed from two threads QPID-586 Client state manager is not interupted when unrecoverable error occurs on connection QPID-585 Client protocol state is maintiained between connections when the connection fails during initial connection QPID-584 Client allows RuntimeExceptions to be silently swallowed. QPID-579 Qpid Broker process fails to terminate on configuration errors QPID-578 AMQChannel.queueDeletion causes unacked msgs to be discarded. QPID-577 Setting a MessageListener after the connection has been started may result in apparent message loss. QPID-573 race condition between rollback() and the dispatcher thread in the java client QPID-572 broker delivers messages out of order QPID-558 AMQShortString should autoexpand when adding content to it QPID-549 AMQConnection.start() is not threadsafe QPID-545 Using a private queue with selector will result in non matching messages being left on the broker queue as they will not be consumed. QPID-539 HeadersExchange doesnot correctly implement isBound QPID-531 [Memory Leak] Broker retains messages that are consumed with NO_ACK QPID-469 Redelivered information is currently recorded per message it should be per message per queue. QPID-463 Java client doesn't close connection gracefully when faced with broker with unsuported protocol version QPID-462 Exclusive queues and with subscription that 'filtersMessages' will build up messages it doesn't hasInterest() in. QPID-397 Client closeure can be processed before final message ack. QPID-396 Broker OutOfMemory Error handling QPID-377 NumberFormatException thrown by broker when running one performance test QPID-293 setting MessageListener after connection has started can cause messages to be "lost" on a internal delivery queue. QPID-185 Amend Java Broker handling of ifUnused & ifEmpty flags QPID-168 qpid-server.bat needs updated to support same arguments/features as qpid-server (via qpid-run) bash script Bug QPID-168 qpid-server.bat needs updated to support same arguments/features as qpid-server (via qpid-run) bash script M2 Tasks Completed ------------------- The set of JIRA tasks completed as part of the M2 effort is available at: https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12310520&styleName=Html&version=12312116 Here is a filtered (by Java components) version of the JIRA items QPID-190 refactoring the java broker mbean classes QPID-125 Moving eclipse plugin for broker management to Maven QPID-93 Delete the old management modules (trunk\qpid\java\management) QPID-418 Add ability to save user preferences to Java Management Console QPID-482 [Java] Small performance tweaks QPID-466 Create STRICT_AMQP System property to disable JMS extensions in Java client QPID-453 AMQShortString should implement Comparable QPID-421 Provide enumerated description for static constants including delivery mode QPID-420 Add client id to information displayed about connections on management console QPID-419 Introduce read-only and modify authorisation for all objects in a virtual host QPID-129 improving Broker MBeans QPID-616 Underflow in calculating message pending size in perftests. QPID-614 Race condition on queue browser close QPID-612 Duplicate temporary queue names when running unit tests QPID-600 Deadlocks on Connection.close QPID-540 Transient Broker throws NullPointerException and locks up. QPID-538 [Memory Leak] Connecting lots of consumers causes the broker memory to leak QPID-537 Make AMQMessage.incrementReference public QPID-527 encoding issue QPID-508 [Memory Leak] Broker does not return mandatory messages sent outside of a transaction. QPID-476 AMQProtocolSession channelId2SessionMap does not have sessions removed QPID-472 Creation of TemporaryQueues will not guarantee unqiue queue names if created rapidly. QPID-471 UserManagement panel lists all users but only after a View Users has been executed and is not updated on Create/Delete User QPID-467 Complete Interop Testing QPID-465 Incorrect Exception thrown from send() method. QPID-459 Broker doesn't correctly handle noLocal consumers when messages are pre-exisiting on queues. QPID-458 Queue Browsing Broken QPID-454 Message 'taken' notion is per message. But should be per message per queue QPID-443 Abruptly disconnecting client on transaction publish causes error QPID-440 Can create dangling transactions on unroutable messages. QPID-414 Authentication requires plain text passwords in password file QPID-408 Queue Depth data incorrect QPID-200 set/get Destination not implemented in JMSMessage impl QPID-166 Check for pre conditions to satisfy JMS spec requirments QPID-159 The following Interface implementations do not throw Exceptions as required by the spec