- 04 1月, 2012 2 次提交
-
-
由 liquidsnake@sapo.pt 提交于
Fixed a bug on the leader change protocol that would block all replicas if the delayed replica triggered again a leader change before the others finished the same protocol. Identified a bug on the method "send" of class NettyClientServerCommunicationSystemServerSide, but its cause remains misterious: if invoked 2 times for the same message (why it sometimes is invoked 2 times for the same message is not known), the client may not receive a reply on its end, and if no sufficent replies are received, the client blocks. If locks are used in this method, the problem seems to disappear. Removed various locks from the leader change protocol which were rendered useless in previous commits. The Proposed thread now unlocks by this order: I am the leader -> the consensus as finished -> I have message to order
-
由 marcelmhs@gmail.com 提交于
Now Executable is the top class. It has the executeUnordered method, as all executables can process readonly messages. There are two classes extending Executable. SingleExecutable has the executeOrdered method to process a sigle command. BatchExecutable has the executeBatch to process multiple commands. BatchExecutable was also changed to have a matrix of bytes as parameter, corresponding to an array of commands, having an array of bytes. Demo classes was changed to use the new Executable structure. ServiceReplica was also changed.
-
- 14 12月, 2011 3 次提交
-
-
由 marcelmhs@gmail.com 提交于
-
由 marcelmhs@gmail.com 提交于
- Added tests for killing leaders; - Added Logger to log tests in console; - Added ConsoleTest to execute tests in Console window instead of JUnit.
-
由 liquidsnake@sapo.pt 提交于
Fixed a bug on the state transfer protocol, that would render the leader change protocol from changing leader a second time. However, the leader change is still unstable when ciclying through replicas. I'm investigating the issue. This commit as a lot of debugging message related to the leader change protocol.
-
- 13 12月, 2011 1 次提交
-
-
由 liquidsnake@sapo.pt 提交于
Fixed a bug on the state transfer protocol. It will now longer abort if the replica which should send the complete state remains mute; instead, it will re-initialize the protocol. This way, the system will no longer freeze when trying to add a replica to the group while the original leader is down (because there are not enough replicas to have a quorum during the first phase of the consensus algorithm). Also done a minor change in the implementation: upon a timeout, the computations will be passed to the CS thread, in a similar way in which is done with the leader change protocol. Some refractoring was also done.
-
- 10 12月, 2011 1 次提交
-
-
由 liquidsnake@sapo.pt 提交于
Fixed a small bug that would render the state transfer protocol less efficient, although still functional. Found a small defect on the protocol, but not fixed yet (I want to discuss the issue first with Professor Bessani). Also, substituted a printstack trace by a system out, which would be displayed when the CS couldn't connect to another replica. Since this was very periodic, it would make difficult to do debugging with such an excpetion constantly appearing.
-
- 08 12月, 2011 2 次提交
-
-
由 liquidsnake@sapo.pt 提交于
Small but important change in the leader change implementation: When a replica suspects the leader, such computations will be done by the CS thread isntead of the RequestTask Thread. This shall reduce the changes of concurrency and race conditions, thus, making the code more resilient.
-
由 liquidsnake@sapo.pt 提交于
Small but important change in the communication system: when a connection to a replica is lost, the OutQueue is erased. This is meant to avoid gaps in the sequence of messages upon reconnection, and thus, avoid the "break" of upper protocols. Also, small refractor in TomUtil.
-
- 07 12月, 2011 1 次提交
-
-
由 liquidsnake@sapo.pt 提交于
-
- 06 12月, 2011 4 次提交
-
-
由 marcelmhs@gmail.com 提交于
-
由 marcelmhs@gmail.com 提交于
- Changed ServiceReplica to implement TOMReceiver; - Created interfaces Executable and Recoverable, so the replicas can choose which methods to implement; - Changed replicas to use ServiceReplica instead of extend it.
-
由 liquidsnake@sapo.pt 提交于
Modified slightly the throughput client and server. You can now specify the size of the application state.
-
由 liquidsnake@sapo.pt 提交于
-
- 03 12月, 2011 1 次提交
-
-
由 marcelmhs@gmail.com 提交于
-
- 02 12月, 2011 1 次提交
-
-
由 marcelmhs@gmail.com 提交于
Moved executeOrdered method to the server implementation. Added ant code to compile and export Jar of the project. Added JUnit tests for the keyvalue demo. Refactored keyvalue code.
-
- 24 11月, 2011 2 次提交
-
-
由 marcelmhs@gmail.com 提交于
No commit message
-
由 marcelmhs@gmail.com 提交于
No commit message
-
- 19 11月, 2011 1 次提交
-
-
由 liquidsnake@sapo.pt 提交于
Huge update: merging corrections of Eduardo with current version of the repository. The reconfiguration protocol should work properly now!
-
- 16 9月, 2011 11 次提交
-
-
由 liquidsnake@sapo.pt 提交于
No commit message
-
由 liquidsnake@sapo.pt 提交于
No commit message
-
由 liquidsnake@sapo.pt 提交于
-
由 liquidsnake@sapo.pt 提交于
-
由 liquidsnake@sapo.pt 提交于
-
由 liquidsnake@sapo.pt 提交于
-
由 liquidsnake@sapo.pt 提交于
-
由 liquidsnake@sapo.pt 提交于
-
由 liquidsnake@sapo.pt 提交于
-
由 liquidsnake@sapo.pt 提交于
-
由 liquidsnake@sapo.pt 提交于
-
- 15 9月, 2011 2 次提交
-
-
由 liquidsnake@sapo.pt 提交于
-
由 liquidsnake@sapo.pt 提交于
Fixed some bugs in the leader change (although it still needs plenty of work, specially when re-integrating the replica). Fixed a bug related to read only requests. Moved RadomDemo to a dedicated package. State transfer protocol can now notify the recovered replica about the most recente view. Added apache codecs do deal with base64 encode/decode.
-
- 12 9月, 2011 1 次提交
-
-
由 liquidsnake@sapo.pt 提交于
-
- 05 9月, 2011 1 次提交
-
-
由 liquidsnake@sapo.pt 提交于
Moved the code of the state transfer protocolo from class tomlayer to class statemanager. Also fixed the arrayindexoutofboud exception related to state transfer. Fixed a bug that wouldn't start the request timeout.
-
- 03 9月, 2011 1 次提交
-
-
由 bessani@gmail.com 提交于
Cleanup on the TOMConfiguration. Removed several configuration parameters that do not make sense anymore. Besides that merged some packages and cleaned a bit more of code here and there.
-
- 02 9月, 2011 4 次提交
-
-
由 liquidsnake@sapo.pt 提交于
-
由 liquidsnake@sapo.pt 提交于
Removed useless code. Classes RTInfo, RTCollect, RTLeaderChange and RTMessage are gone. Various methods that used these classes were also deleted.
-
由 liquidsnake@sapo.pt 提交于
-
由 liquidsnake@sapo.pt 提交于
In this commit, it was fixed a bug on leader change messages related to the serialization of messages contained in the STOP message. It was also added a method in the BatchBuilder class, that makes it easer to create a batch and is also used during the leader change.
-
- 01 9月, 2011 1 次提交
-
-
由 bessani@gmail.com 提交于
Removed and refactored a lot of code, added new microbenchmarks and improved the parallelism between the delivery thread and server communication thread. Additionally, processing of out of context message changed a bit (done in the server communication thread, instead of the delivery thread). IMPORTANT: Service replica API changed!!! NOTE: currently achieving a zero-byte throughput of 151Kops/sec ;-)
-