Releases: scalaris-team/scalaris
Releases · scalaris-team/scalaris
Scalaris 0.9.0 (codename "Vriesea scalaris") - February 29, 2016
(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 theERL_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
(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
(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
(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