Commit Graph

24 Commits

Author SHA1 Message Date
Hector Sanjuan
af177bfde6 Address formatting, mispellings, lint errors from goreportcard
License: MIT
Signed-off-by: Hector Sanjuan <hector@protocol.ai>
2017-01-24 12:39:08 +01:00
Hector Sanjuan
9af863e3e0 Merge pull request #29 from ipfs/25-leader-comm
Fix #25: Only the consensus layer should deal with leaders
2017-01-24 01:13:42 +01:00
Hector Sanjuan
b3039b85d5 global status and global sync should not error when a node is down
License: MIT
Signed-off-by: Hector Sanjuan <hector@protocol.ai>
2017-01-24 00:54:26 +01:00
Hector Sanjuan
afa8a5c33f Improve startup messages and information
License: MIT
Signed-off-by: Hector Sanjuan <hector@protocol.ai>
2017-01-23 23:58:04 +01:00
Hector Sanjuan
031523f7bf Fix #25: Only the consensus layer should deal with leaders
License: MIT
Signed-off-by: Hector Sanjuan <hector@protocol.ai>
2017-01-23 14:01:49 +01:00
Hector Sanjuan
1308a3a32f Increase leader timeout
License: MIT
Signed-off-by: Hector Sanjuan <hector@protocol.ai>
2017-01-23 12:27:24 +01:00
Hector Sanjuan
c2d9326715 Improve consensus startup by waiting for a leader.
This should also fix some tests error-ing randomly when there is no leader.

License: MIT
Signed-off-by: Hector Sanjuan <hector@protocol.ai>
2017-01-23 12:09:29 +01:00
Hector Sanjuan
3243cfcccf Make golint happy
License: MIT
Signed-off-by: Hector Sanjuan <hector@protocol.ai>
2016-12-28 16:29:07 +01:00
Hector Sanjuan
805b867651 Use go-libp2p-rpc. Tests updated.
The former RPC stuff had become a monster, really hard to have an overview
of the RPC api capabilities and with lots of magic.

go-libp2p-rpc allows to have a clearly defined RPC api which
shows which methods every component can use. A component to perform
remote requests, and the convoluted LeaderRPC, BroadcastRPC methods are
no longer necessary.

Things are much simpler now, less goroutines are needed, the central channel
handling bottleneck is gone, RPC requests are very streamlined in form.

In the future, it would be inmediate to have components living on different
libp2p hosts and it is way clearer how to plug into the advanced cluster rpc
api.

License: MIT
Signed-off-by: Hector Sanjuan <hector@protocol.ai>
2016-12-27 18:19:54 +01:00
Hector Sanjuan
34720465cd ipfscluster-server executable
License: MIT
Signed-off-by: Hector Sanjuan <hector@protocol.ai>
2016-12-21 19:37:25 +01:00
Hector Sanjuan
5c41d69abc Figured out globalSync and globalSync cid. Tests. More tests.
License: MIT
Signed-off-by: Hector Sanjuan <hector@protocol.ai>
2016-12-20 19:51:13 +01:00
Hector Sanjuan
8172b0ca61 Global pin status. /status /status/cid will now report pin tracker state
from all cluster members.

License: MIT
Signed-off-by: Hector Sanjuan <hector@protocol.ai>
2016-12-19 18:35:24 +01:00
Hector Sanjuan
0422ceed16 Preliminary support for Remote RPC operations
License: MIT
Signed-off-by: Hector Sanjuan <hector@protocol.ai>
2016-12-16 12:40:28 +01:00
Hector Sanjuan
319c97585b Renames everywhere removing redundant "Cluster" from "ClusterSomething".
Start preparing syncs() and status()

License: MIT
Signed-off-by: Hector Sanjuan <hector@protocol.ai>
2016-12-15 19:08:46 +01:00
Hector Sanjuan
45c31846d1 Fix startup sync mechanism
License: MIT
Signed-off-by: Hector Sanjuan <hector@protocol.ai>
2016-12-15 15:08:43 +01:00
Hector Sanjuan
09cc7e9265 Lowercase error messages
License: MIT
Signed-off-by: Hector Sanjuan <hector@protocol.ai>
2016-12-15 14:19:41 +01:00
Hector Sanjuan
a655288fd6 Improve shutdown routines
License: MIT
Signed-off-by: Hector Sanjuan <hector@protocol.ai>
2016-12-15 14:07:19 +01:00
Hector Sanjuan
0f31995bd6 consensus tests
License: MIT
Signed-off-by: Hector Sanjuan <hector@protocol.ai>
2016-12-14 15:31:50 +01:00
Hector Sanjuan
98dc9f2289 Fix syncAll being triggered before cluster run(). Other small things.
License: MIT
Signed-off-by: Hector Sanjuan <hector@protocol.ai>
2016-12-12 13:54:58 +01:00
Hector Sanjuan
34b2b6cbd1 Sync between tracker and cluster state. go vet. tests.
License: MIT
Signed-off-by: Hector Sanjuan <hector@protocol.ai>
2016-12-09 20:54:46 +01:00
Hector Sanjuan
a9dcf57a90 Add MapPinTracker sync and recover capabilities.
Sync checks that the CID status corresponds to what IPFS says.

Recover retries pinning, unpinning on Error-ed cids.
2016-12-07 17:21:29 +01:00
Hector Sanjuan
9c1c256e33 Introduce the concept of PinTracker. Thin ClusterState to minimal.
+ Try to make RPC handling code cleaner.
2016-12-06 22:29:59 +01:00
Hector Sanjuan
2285f8d1a8 Make ipfs pinning async. Add Pin intermediary states 2016-12-05 15:30:11 +01:00
Hector Sanjuan
e0840df267 WIP: basic functionality 2016-12-02 19:33:39 +01:00