Skip to content

Tags: consensus-shipyard/mir

Tags

v0.4.4

Toggle v0.4.4's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
Fix batch DB garbage collection. (#507)

* Fix batch DB garbage collection.
* Make sure batches are garbage-collected only once

Signed-off-by: Matej Pavlovic <matopavlovic@gmail.com>
Co-authored-by: Alejandro Ranchal-Pedrosa <alejandro@protocol.ai>

v0.4.3

Toggle v0.4.3's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
Use big.Int encoded as string for vote weights (#506)

* Use big.Int encoded as string for vote weights
* Check validity of externally received memberships
* Use large node weights in Trantor tests

Signed-off-by: Matej Pavlovic <matopavlovic@gmail.com>

v0.4.2

Toggle v0.4.2's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
Update libp2p dependency (#504)

This was a cause of the networking module
very easily dropping messages under load.

v0.4.1

Toggle v0.4.1's commit message
Fix typo bug in PBFT view change

Signed-off-by: Matej Pavlovic <matopavlovic@gmail.com>

v0.4.0

Toggle v0.4.0's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
Parametrize availability layer sub-certificate limit

The limit on the number of sub-certificates is not hard-coded to 5 any more,
but is a proper parameter of the Trantor system.

Some tests were designed before the code was even generalized to support
more than one sub-certificate (the limit effectively being 1) and stopped
working after the code supported 5 sub-certificates by default.
Tests that should have failed were passing due to this.

This test makes this limit a proper parameter that can be higher by default,
but still set to 1 in tests.

Details:
* Remove obsolete Certs field from MSC params
* Use parameter template for availability module
* Remove unused field in dynamic availability params
* Re-generate protobufs
* Set default subcert limit to 5, but test with 1

Signed-off-by: Matej Pavlovic <matopavlovic@gmail.com>

v0.3.5

Toggle v0.3.5's commit message
Fix subtle bug in state catchup protocol

Before, nodes from the current membership were monitored for the need
for state transmission, and the latest stable checkpoint was being sent
to them. This sometimes resulted in sending checkpoints to nodes that
were not yet in the transmitted checkpoint's membership, causing them
to get stuck.

This has been fixed by making sure we only send a checkpoint to a node
if the node is in that checkpoint's membership, and by the receiving
nodes ignoring checkpoints if they are not included in the corresponding
membership (such checkpoints can always be sent by faulty nodes).

Signed-off-by: Matej Pavlovic <matopavlovic@gmail.com>

v0.3.4

Toggle v0.3.4's commit message
Clean up obsolete code in batch fetcher

Signed-off-by: Matej Pavlovic <matopavlovic@gmail.com>

v3.1.3

Toggle v3.1.3's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
Remove unnecessary timer when segment checkpoint is stable (#381)

Remove unnecessary timer when segment checkpoint is stable

v0.3.3

Toggle v0.3.3's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
Remove unnecessary timer when segment checkpoint is stable (#381)

Remove unnecessary timer when segment checkpoint is stable

v3.1.2

Toggle v3.1.2's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
Stubborn message sending in libp2p transport

Previously, if an error occurred while sending a message in the libp2p
transport, the module dropped the message and tried to reconnect.
If messages were very sparse and the other side of the connection
gave up receiving after some time after each incoming connection,
all messages would get lost.

Now, if the libp2p transport fails to send a message,
it does not drop it, but instead tries to reconnect and,
if reconnection succeeds, immediately re-tries to send the same message
until it is sent successfully.

Signed-off-by: Matej Pavlovic <matopavlovic@gmail.com>