Skip to content
rickyepoderi edited this page May 4, 2014 · 13 revisions

This is the version 0.5 for the couchbase-manager. The branch for this version is located here. Download and installation instructions are detailed in the following page. The couchbase-manager-0.5.0.jar library can also be downloaded but remember it is absolutely useless without glassfish and all the rest of dependencies.

More information about the manager and its development can be found in this blog.

New Features

The version 0.5.0 adds three new features to the manager:

  • As in version 0.4 the serialization and de-serialization processes were heavily changed, now each attribute is processed separately (previously all the session was serialized or de-serialized at a whole). This characteristic make it possible to not de-serialize all the attributes when the session is read from the repository, this way attributes are stored as a serialized byte array and they are only de-serialized in case they are requested. Besides, if the attribute is not accessed by the application, the serialization process can also be saved (cos the attribute has not been modified the previously read byte array is still valid). This feature is very good in non-sticky configurations, remember that this configuration re-read the session from couchbase at every application request.

  • The previous feature has some memory consequences. In non-sticky the consequences are almost zero cos in this configuration the session attributes are cleared so, when the session is read only the serialized attribute (the byte array) exists, then (when the application requests the attribute) the byte array is de-serialized and only the real object is saved in the session, finally the attribute is removed from the session when it is saved in the external repository. Therefore non-sticky configuration has no memory penalty. Nevertheless in the sticky configuration is has a memory penalty, the attribute value is never deleted in this configuration, for that reason both objects exist inside the session (the serialized and the real object). If an attribute is requested, the serialized byte array is eliminated (cos it is not valid) but it is again calculated when the session is saved in couchbase. It is important to remember that since version 0.4 the manager externalized big / rarely used attributes, those attributes are never maintained inside the session (not matter the stickyness used).

  • Now the session listeners are properly executed. JavaEE provides some listener to monitoring session and session attributes lifecycle, since version 0.5 those listeners were not taken into account. The main handicap until this version was the destruction of the session because inactivity. Until now the session was eliminated in couchbase and, for that reason, the manager could not access the session once it was eliminated. In turn the listeners were not called or called with no information. Now a new property extraInactiveInterval is available that extends the life in the couchbase repository in order to destroy the session in the java process with all the information available. See the page for more information.

Current Status

In the last two versions important changes have been done, please test it carefully. Nonetheless the version passed all the tests properly except the issues explained below.

Known Issues

Some informational links

How to install it?
Sticky vs Non-Sticky
[External atttibutes] (wiki/External-Attributes)
[JavaEE session listeners] (wiki/JavaEE-Session-Listeners)
[Compiling from github] (wiki/Compiling-from-github)

Versions

couchbase-manager-0.1
couchbase-manager-0.2
couchbase-manager-0.3
couchbase-manager-0.4
couchbase-manager-0.5

Clone this wiki locally