-
Notifications
You must be signed in to change notification settings - Fork 1
/
ChangeLog
71 lines (54 loc) · 2.27 KB
/
ChangeLog
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
Scalaris 0.3.0 (codename "Rhinechis Scalaris")
==============================================
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
Scalaris 0.2.0 - 0.2.3
======================
- changes not explicitly recorded (see the corresponding svn
commit messages)