Pike Series Release Notes

5.0.0

New Features

  • The new Swift storage backend is added to Zaqar in Ocata. It’s experimental currently. To use this backend, you should modify the “drivers” section in the config file. [Blueprint swift-storage-driver]

  • Introduce Guru to Zaqar. Guru is a mechanism whereby developers and system administrators can generate a report about the state of a running Zaqar executable. This report is called a Guru Meditation Report. Now Guru can support wsgi, websocket and uwsgi modes all.

  • This feature is the third part of subscription confirmation feature. Support to send email to subscriber if confirmation is needed. To use this feature, user need to set the config option “external_confirmation_url”, “subscription_confirmation_email_template” and “unsubscribe_confirmation_email_template”. The confirmation page URL that will be used in email subscription confirmation before notification, this page is not hosted in Zaqar server, user should build their own web service to provide this web page. The subscription_confirmation_email_template let user to customize the subscription confirmation email content, including topic, body and sender. The unsubscribe_confirmation_email_template let user to customise the unsubscribe confirmation email content, including topic, body and sender too.

  • Zaqar now supports Cross-Origin Resource Sharing (CORS).

  • Support dot character in queue’s name, like ‘service.test_queue’.

  • Support notification delivery policy in webhook type. It will work when the notification is sent from Zaqar to the subscriber failed. User can define the retry policy in the options of subscription or metadata of queue.

  • Support for dead letter queue is added for MongoDB, Redis and Swift. With this feature, message will be moved to the specified dead letter queue if it’s claimed many times but still can’t successfully processed by a client. New reserved metadata keys of queue are added: _max_claim_count, _dead_letter_queue and _dead_letter_queue_messages_ttl.

Critical Issues

  • When using the sqlalchemy driver, operators now are required to run “zaqar-sql-db-manage upgrade” before making the service available. The service previously tried to create the database on the first request, but it was bound to race conditions.

Bug Fixes

  • Add two configurations for the notification endpoint of the websocket server, instead of a random port and local address. One is ‘notification-bind’, address on which the notification server will listen. Another is ‘notification-port’, port on which the notification server will listen.

  • Zaqar didn’t return the reserved metadata when listing detailed queue. After this fix, Zaqar will return reserved metadata ‘_default_message_ttl’ and ‘_max_messages_post_size’ in response of listing detailed queue.