Scalaris 0.5.0 codename "Saperda scalaris" released

Skip to first unread message

Nico Kruber

Oct 11, 2012, 1:23:50 PM10/11/12
We are happy to announce the next release of Scalaris, 0.5.0. Most notable
changes are listed below.

As usually, the source can be downloaded from

Packages for various linux distributions are available in the Open Build
The latest stable version is available in our main repository:

If you would like to stick with the 0.5 branch, use this repository:

Scalaris 0.5.0 (codename "Saperda scalaris")


- new init.d script to start Scalaris
- added chef scripts to deploy Scalaris nodes
- improved Windows start scripts (support for R15B01 and R15B02, don't close
command prompt window immediately after shutdown if double-clicked)
- more flexible scalarisctl (arbitrary parameter order, allow setting cookie,
ports and number of nodes in VM via parameters, allow using screen for
daemonised sessions, allow graceful leave via "gstop" command, new "status"
- support for new linux distributions (Fedora 17, Ubuntu 12.04, openSUSE 12.2)
- let scalarisctl checkinstallation also perform runtime tests for the APIs


- allow Scalaris monitoring via JMX through the Java API
- added an executor-service to the Java-API (de.zib.scalaris.executor.*)
- added a node discovery daemon to the Java-API
- allow compressed communication between the Java-API and Erlang for increased
performance, especially if the two are on separate nodes
- added VM management support to the JSON- and Python-API
- added transaction log filtering to the Java-API, i.e. only sent the needed
parts of the tlog back to Erlang and re-combine the result
- fixed api_tx:req_list_commit_each/1 not running requests in parallel
-> do not assure any order of requests, even if on same key!

Demonstrator "Wiki on Scalaris" (supported by 4CaaSt

- allow different partitioned data models for better performance and
- allow logging of user requests
- added support for checking whether another article exists (approximate)
-> show link colours based on this check
- added check for bad page titles
- allow SERVERNAME and SERVERPATH in config for setups with load balancers
- reduced memory footprint of Wiki data in Scalaris
- support for newer wiki xml dumps
- added support for using a MediaWiki-like SQLite-DB backend for e.g.
- improved overall performance
- several rendering fixes

Business Logic:

- added (experimental) support for replica repair (disabled by default)
(thanks to Maik Lange)
- added monitoring of memory statistics (also available via web interface)
- better error reporting in the failure detector
- reduced message overhead by UIDs and message/tuple tags
- reduced overall message size of transactions:
* do not include the (uncompressed) value in messages of the read phase of
write operations
* do not include the value in init_TP messages
- allow VM-flag "first" to be set via config file
- gather overall connection statistics in comm_stats (also available via web
- reduced erroneous failure messages on node shutdown
- integrated comm_layer into comm_server
- better scalability in pid_groups (find processes round-robin in find_a/1)
- several changes to improve overall performance and/or CPU time at the nodes


- support for more types in the runtime type-checker
- verify several API functions via runtime type-checker (also test private
functions if possible!)


- distributed protocol visualisation via trace_mpath (text-based or latex-file
for graphical presentation)
- better profiling via top for Erlang processes
- better debugging, e.g. via ASCII supervisor-tree rendering in verbose mode


- fixed memory leaks in read and write operations
- fixed memory leaks in tx_tm_rtm
- prevent potential endless loops in tx_tm_rtm
- fixed inform RTMs sometimes informing the wrong RTMs
- fixed numerous other bugs

Nico, Thorsten, Florian

Nika Abramova

Aug 24, 2013, 4:04:16 PM8/24/13
I have been searching Scalaris technical information and there is something I can not find. Does Scalaris (v. 0.5) supports indexing and if so, what types?

Regards, Veronika

Nico Kruber

Aug 27, 2013, 2:05:07 PM8/27/13
Hi Veronika,
neither Scalaris 0.5.0 nor our newly released version 0.6.0 support indexing
of stored data out-of-the-box. You have to know the key of an object you want
to retrieve. Alternatively you can store your own index at some pre-defined
key inside Scalaris or use some external indexing tool like Lucene.
Note however that if you are using your own index and you are storing it at a
single key in Scalaris, this may become a hot-spot.


Nika Abramova

Aug 28, 2013, 11:17:01 AM8/28/13
Thanks a lot for reply. 
Could not find that information at all and it was necessary for me to know.

Regards, Veronika
Reply all
Reply to author
0 new messages