[erlang-questions] [ANN] CloudI 0.1.9 Released

Michael Truog mjtruog@REDACTED
Mon Dec 12 03:12:26 CET 2011

Download from http://sourceforge.net/projects/cloudi/files/0.1.9a/cloudi-0.1.9.tar.gz/download

CloudI is currently alpha and in-test.  0.2.0 will be the beta release, so 0.1.9 includes the major changes before the beta release.  Beginning with 0.2.0, there will be separate git release/development branches and tag usage, to keep releases stable, and semantic versioning will be used (http://semver.org/).

This release does include changes to the callback function signatures, so it is backwards-incompatible because of the addition of request priorities and request_info/response_info.  The request_info and response_info data is used to hold key/value request meta data and currently is used for the HTTP header information for incoming HTTP requests.  The request priorities use 0 as the default request priority, -128 as the highest priority and 127 as the lowest priority.  Many of the other changes are summarized below:

* A C++ object oriented interface for the CloudI API (cloudi.hpp) now exists that provides integration for class member function pointers, to make C++ service implementation simpler.
* recv_async now will return the oldest response when passed a null UUID.  If you prefer receiving a random response (quicker), the behavior can be changed in cloudi_constants.hrl, with RECV_ASYNC_STRATEGY.
* All CloudI API implementations now use unbuffered stderr/stdout streams, so that the cloudi.log gets the output as quickly as possible.  All critical error handling within the CloudI API now throws an exception (Java, Ruby, Python) or returns a valid CloudI return value (C, C++).
* The CloudI Job API now has additions to modify the Erlang code search paths, dynamically change the loglevel, and restart a job.
* Fixes to ensure that 2GB is supported as the maximum total request size, when using a job with the tcp protocol.
* Fixes and additions to support the usage of the forward function within the CloudI API.  The forward functionality now uses a small decrement of the request timeout to prevent infinite requests.
* The CloudI logger will now prevent any service from causing a system failure when the service floods the logger with requests (due to a misbehaving service).  The CloudI log output ("var/log/cloudi/cloudi.log") can now be rotated (i.e., with logrotated) without any special configuration.
* HTTP methods are now used as suffixes on service destinations by default.
* ACL bug fixed for complex destinations.
* JSON-RPC version bug fixed.
* msg_size test added to test larger message handling with forward CloudI API usage.
* http_req test now utilizes all supported CloudI API languages.
* hexpi test now utilizes the C++ CloudI API.

Anyone with questions, comments, ideas, suggestions, criticisms, or concerns is welcome to send email.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://erlang.org/pipermail/erlang-questions/attachments/20111211/9ff826ae/attachment.htm>

More information about the erlang-questions mailing list