Skip to content

Releases: scalaris-team/scalaris

Scalaris 0.9.0 (codename "Vriesea scalaris") - February 29, 2016

29 Feb 16:17
Compare
Choose a tag to compare

(partly supported by the EU project IES Cities http://iescities.eu/)

Packaging:

  • add a libscalaris-dev[el] package with the C++ API (rpm, deb)
  • Maven: let Maven also create a source jar file for the Java-API
  • Maven: allow proper snapshot versions for the maven repository at
    https://scalaris-team.github.io/scalaris/maven

API:

  • CPP-API: provide a new C++ client library
  • DataNucleus: provide a new storage back-end for Scalaris
  • add a Scalaris adapter for YCSB
  • new functions in all APIs for generic routing table operations

Business Logic:

  • rrepair: considerably improve the set reconciliation algorithms' performance
    and run more processes in parallel
  • rrepair: further reduce the reconciliation costs
  • rrepair: re-use left-over failure probability from phase 1 for phase 2
  • rrepair: increase accuracy in several formulaes of the set reconciliation
    algorithms
  • rrepair: support creating multiple Merkle trees for fewer message rounds
    (rr_merkle_num_trees configuration variable)
  • rrepair: remove support for aligning bit sizes (no improvements there)
  • transactions: speed up write ops when the transaction log already contains
    a read op on the same key
  • RM: optimise the traffic of state exchanges during ring maintenance
  • RT: improve routing parallelism by handling more messages in the routing
    process itself instead of inside the dht_node process
  • RT: improve performance along the routing path
  • support for dynamic replication factors given by the replication_factor
    configuration variable
  • pid_groups: shuffle pids in find_a/1 for more better distributed (parallel)
    requests

Infrastructure:

  • pid_groups: group names are now atoms instead of strings
    (allows faster access)
  • scalarisctl: do not set any default Erlang scheduler flags (allow changes
    through the ERL_SCHED_FLAGS environment variable)
  • extend the example scripts for running Scalaris on a SLURM cluster
  • add SLURM scripts for running Basho Bench
  • use configure to select the routing table type (--with-rt=rt_chord)
  • change hanoidb detection to configure --enable-hanoidb=<dir>
  • change erlang_js detection to configure --enable-erlang-js=<dir>
  • dht_node_monitor: switch messages on/off via configuration variable
    dht_node_monitor
  • msg_delay: remove extraneous error messages for trigger messages of killed
    processes
  • prbr: allow write_filter to return value to qwrite calling process
  • update yaws to version 2.0.2
  • support for Erlang R14B04 up to 18.2.3 and current otp master

Tests:

  • allow running single test groups via make <test suite>:<group name>_GROUP

Tools:

  • gen_component: allow processes to provide their own start functions
  • trace_mpath: write whole message of log_info to the tex output

Bugs:

  • fix cleanup of some special cases with transactions
  • fix several math issues and increase the math functions' performance
  • fix some errors which occurred in large scale deployments
  • fix several warnings reported by Coverity Scan
  • fix numerous more bugs

Scalaris 0.8.2 - July 24, 2015

24 Jul 00:15
Compare
Choose a tag to compare

(partly supported by the EU project IES Cities http://iescities.eu/)

Business Logic:

  • rrepair: minor performance improvements

Bugs:

  • rrepair: fix a rare crash due to hash collisions
  • rrepair: fix calculation of the next MaxItemCount in the merkle tree
    repair protocol (was one level behind)
  • tests: fix rare crashes in some unit tests
  • fix a few more minor bugs

Scalaris 0.8.1 - July 12, 2015

12 Jul 10:21
Compare
Choose a tag to compare

(partly supported by the EU project IES Cities http://iescities.eu/)

Business Logic:

  • rrepair: allow specifying the minimum number of hash bits to use
    to create non-approximate algorithms

Bugs:

  • rrepair: fix a badarith if rr_recon_version_bits is set to 'variable'
  • rrepair: fix a bug in the accuracy of the evaluation
  • fix two crashes in gossip

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

10 Jul 14:57
Compare
Choose a tag to compare

(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