Published July 10, 2015 | Version v1

Scalaris 0.8.0

  • 1. Zuse Institute Berlin

Description

Scalaris 0.8.0 (codename "Picoides scalaris") - July 10, 2015
============================================================
(partly supported by the EU project IES Cities http://iescities.eu/
and the EIT ICT Labs project MCData)

Packaging:

- also install docs on Arch Linux
- fix lintian errors and warnings for Debian-based packages
- fix permissions on the log directory (owned by the 'scalaris' user)
  and the config files (not owned by the 'scalaris' user anymore!)
- adapt packages for newer distributions

API:

- Java-API: integrate new OtpErlang library (1.5.12 from Erlang 17.4)
- Python-API: do not include a shebang with a pre-defined path to python
              anymore
- Python-API: fix unclosed sockets in various tests
- Python-API: increase python{2,3} test speed
- Ruby-API: try to fallback to the normal json module if the gem is missing
- Ruby-API: considerably increase the ruby test speed
- remove the Publish/Subscribe API

Business Logic:

- rrepair: faster and more accurate bloom filter repair protocol
- rrepair: faster, more accurate and less bandwidth-consuming merkle tree
           repair protocol
- rrepair: reduce memory footprint of merkle_tree
- rrepair: more accurate and less bandwidth-consuming trivial repair
           protocol
- rrepair: add a new simple hash ('shash') algorithm
- rrepair: switch to (the more efficient) push-only resolve phase for
           synchronisation
- rrepair: add replica repair algorithm evaluation scripts
- RM: faster cyclon cache integration, especially during node jumps
- comm_layer: envelops can be nested
- comm_layer: allow send options for comm:send_local/3 and msg_delay
              (currently only ?quiet supported)

Infrastructure:

- FD: simplify the API, support envelopes and remove own cookie handling
- FD: extend the failure detector with generic notifications (not just
      crashes) to subscribed nodes
- DB: add an (experimental) mnesia back-end
- DB: add an (experimental) hanoidb back-end
- DB: make the back-end configurable via the scalaris.cfg option
      'db_backend'
- improve the speed of several utility functions
- scalarisctl: add '-l' parameter for specifying the logdir
- scalarisctl: do not use the '-s' parameter anymore, instead specify the
               start type with the new '-t' parameter
- scalarisctl: allow starting several dht_nodes per vm with given keys via
               the new parameter '-j'
- update yaws to version 1.99
- make "$HOME/.scalaris/log" the default log dir
- support for Erlang R14B04 up to 18.0.2 and current otp master
- add example scripts for running Scalaris on a SLURM cluster
- move sources to github: https://github.com/scalaris-team/scalaris
- new project homepage: http://scalaris.zib.de

Tests:

- reduce log spam in proto_sched tests and only print proto_sched results
  when the tests fail
- extended and improved various test suites

Tools:

- proto_sched: support callbacks
- proto_sched: add support for user msg shepherds
- proto_sched: better error handling when sending messages to dead
               (local) processes
- tester: add value creator and type checker for orddict:orddict()
- tester: full support for Erlang 18.0
- let 'make dialyzer' run over test as well and ignore some false-positives
  for Erlang >= 18.0 using the '-dialyzer()' attribute

Bugs:

- slide: fix some race conditions with 'jump' operations
- JSON-API: fix test_and_set not working correctly inside req_list
- fix numerous more bugs

Files

Files (16.0 MB)

Name Size Download all
md5:a232250a7608e5d54807f8f572984c62
16.0 MB Download

Additional details

Related works

Is previous version of
10.5281/zenodo.19965 (DOI)
Is supplement to
https://github.com/scalaris-team/scalaris/tree/0.8.0 (URL)