My favorites | Sign in
Project Home Downloads Wiki Issues Source
Search
for
PreviousReleases  
List of previous releases.
Updated Jan 23, 2012 by schin...@gmail.com

Scalaris 0.3.0 (codename "Rhinechis Scalaris") - July 15, 2011

API

  • new API with interoperable bindings to Java, Python, Ruby, and JSON
  • support for several data types, including strings, integers, JSON objects, binary objects.
  • new transaction interface with support for bundled requests for better latency.
  • separate APIs to access the raw DHT, a DHT with replication, and the transactional DHT

Demonstrator

  • added Wikipedia-hosting using Scalaris as demonstrator application

Business Logic

  • fault-tolerant startup: start Scalaris when a quorum of the known_hosts becomes available (option -q in bin/scalarisctl)
  • perform data hand-over when nodes join/gracefully leave (also works when transactions are executed concurrently)
  • added passive load balancing (when a node joins a ring, it samples several other nodes and joins at the node that balances the number of stored items the most)
  • completely rewritten transaction layer (more modular, more extendible, less latency)
  • modularized / reimplemented Paxos algorithm, so the algorithm can also be used outside transactions (e.g. used for quorum-startup)
  • switched almost all components to our component framework 'gen_component'
  • added gossiping for estimating e.g. the number of nodes or the average load in a ring
  • more reliable unreliable look-up
  • better ring start-up on slow networks

Infrastructure

  • Vivaldi and topology inference
  • support for Erlang 13B01 and newer
  • faster TCP/IP communication between Scalaris nodes
  • completely rewritten failure detector framework for more accurate detection of node failures
  • added numerous Erlang type specifications
  • extended unittests

Tests

  • added own random testing framework that reads type specifications and scans the source code for constants to generate proper random test-data
  • extended gen_component with breakpoint-support for debugging and testing (perform deterministic pseudo-random message interleaving tests)
  • added numerous unittests
  • added language-binding interoperability tests

Documentation

  • extended, but - as always - by far not enough...

Bugs

  • fixed countless bugs

Sign in to add a comment
Powered by Google Project Hosting