Skip to content

Scalaris 0.8.0 (codename "Picoides scalaris") - July 10, 2015

Compare
Choose a tag to compare
@NicoK NicoK released this 10 Jul 14:57
· 1796 commits to master since this release

(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