• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

ipfs / ipfs-cluster
77%
master: 65%

Build:
Build:
LAST BUILD BRANCH: feat/expvar
DEFAULT BRANCH: master
Repo Added 08 Dec 2016 04:18PM UTC
Files 37
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

LAST BUILD ON BRANCH 45-peer-failure
branch: 45-peer-failure
CHANGE BRANCH
x
Reset
  • 45-peer-failure
  • 0.2.0/changelog
  • 0.2.1/changelog
  • 0.3.0/changelog
  • 0.3.2/changelog
  • 0.3.3/changelog
  • 0.3.4/changelog
  • 0.3.5/changelog
  • 0.4.0/changelog
  • 0.5.0/changelog
  • 0.6.0/changelog
  • 0.7.0/changelog
  • 0.8.0/changelog
  • 0.9.0
  • 162-new-configs
  • 192-docs
  • 97-default-data-folder
  • add-config-alloc-default
  • add-proxy-hijack
  • autosyncs
  • captain-log-update
  • captain-log-update-2
  • catch-sighup
  • catch-sigup
  • changelog_v0.3.1
  • codeclimate
  • connect-ipfs-nodes
  • disk-informer
  • doc/add-swagger-config
  • doc/add-use-cases
  • doc/cluster-guide-broken-link
  • doc/composite-cluster-usecases
  • doc/dag-sharding-rfc
  • doc/readme-go-version
  • doc/user-registry
  • docker-compose
  • docker/run-daemon-default
  • docs/cluster-secret-links
  • docs/move-to-website
  • documentation/architecture.md-updates
  • feat/131-new-raft
  • feat/201-version-subcmd
  • feat/219-peers
  • feat/260-api-client
  • feat/269-shell-client
  • feat/277-min-max-repl-factor
  • feat/339-faster-tests
  • feat/632-stream-channels
  • feat/632-stream-channels-client
  • feat/SHARDING-files-over-rest
  • feat/api-basic-auth
  • feat/api-headers
  • feat/auto-migration
  • feat/backups-upgrade-path
  • feat/client-add
  • feat/client_features
  • feat/cmd/svc/force-quit
  • feat/code_quality
  • feat/component-env-cfg
  • feat/connectivity-graph
  • feat/ctl-cmd/no-status-flag
  • feat/datastore
  • feat/dht
  • feat/docker-gx-make
  • feat/docker-test
  • feat/env-cfg
  • feat/error-msgs-bootstrap
  • feat/expvar
  • feat/fix-testclusterspeerrejoin
  • feat/flush-adder-output
  • feat/free-space-allocation-metric
  • feat/fs-lock
  • feat/gossipsub
  • feat/https-api-endpoint
  • feat/improve-pin-serial
  • feat/ipfs-block
  • feat/ipld-bubble
  • feat/migration-framework
  • feat/new-pin-options
  • feat/new-pintype-tests
  • feat/peer-add-hide
  • feat/pin-method-default-refs
  • feat/pin-priority-peers
  • feat/pin-refs
  • feat/pinning-mods
  • feat/pintracker-revamp
  • feat/pnet
  • feat/promote-consensus
  • feat/pubsub-monitoring
  • feat/raft-state-backups
  • feat/recursive-pins
  • feat/remove-legacy
  • feat/rest/client/wait
  • feat/restapi-libp2p
  • feat/service/lock-msg
  • feat/sharding
  • feat/sharding-clean-add
  • feat/sharding-component
  • feat/sharding-frontend-tests
  • feat/sharding-state-format
  • feat/sharding-use-pin-feats
  • feat/sharding-v1
  • feat/state-cmds
  • feat/state-update-guide
  • feat/travis-cache
  • feat/try-jenkins
  • feat/use-ipfs-to-download-gx
  • feat/use-stdlib-reverse-proxy
  • feat/wrong-secrets
  • fix-realloc
  • fix-service-docs
  • fix/105-panic-rpc-calls
  • fix/154-dockerfile
  • fix/182-check-err
  • fix/202-32-bit
  • fix/203-peers-ignored
  • fix/208-repl-factor
  • fix/213-save
  • fix/224-pin-progress
  • fix/240-logging
  • fix/297-state-unmarshal
  • fix/340-races
  • fix/408-TestClustersPin-final
  • fix/412-template-for-issues
  • fix/433-floodsub-panic
  • fix/462-dns-ipfs-api
  • fix/466-proxy-repo-stat
  • fix/495-proxy-add
  • fix/520-snapcraft-stages
  • fix/543-add-unhealthy
  • fix/548-keepalives
  • fix/552-stateless-test
  • fix/554-snap-deploy
  • fix/639-cors-restapi
  • fix/StatusSync
  • fix/access-control-headers
  • fix/add-output-format
  • fix/add-with-spaces-in-name
  • fix/api-client
  • fix/api-consts
  • fix/bad-subcommand
  • fix/cancelled-context-repo-stat
  • fix/cg-tests-jenkins
  • fix/client-cid-pointer
  • fix/client-ipfs
  • fix/client-resolve-panic
  • fix/client/timeout
  • fix/config-errors
  • fix/config/disable-repinnings
  • fix/cors-and-headers
  • fix/ctl-descriptions
  • fix/ctl-https
  • fix/daemon-error
  • fix/data-folder
  • fix/dockerfile-again
  • fix/downcase_api_config_id
  • fix/empty-cluster-secret
  • fix/empty-config-option
  • fix/error-msgs
  • fix/fast-repo-stat
  • fix/fmt-pnet_test
  • fix/go-1.11
  • fix/godoc-wait-for
  • fix/govet
  • fix/health-metrics
  • fix/host-nat
  • fix/ipfsconn-with-POST
  • fix/ipfsconn/api-compat
  • fix/jenkins
  • fix/libp2p
  • fix/lock-service
  • fix/make-test
  • fix/minor-fixes
  • fix/minor-version-compat
  • fix/move-index-up
  • fix/official-builds
  • fix/peer-rm
  • fix/pin-context-timeout
  • fix/pin-ls-check
  • fix/pinls
  • fix/pintracker-data-races
  • fix/post-sharding
  • fix/proxy-headers
  • fix/proxy-paths
  • fix/query-encode-filter
  • fix/recover-pin
  • fix/remote-error
  • fix/sharding-state-upgrade
  • fix/sharness-jq-typo
  • fix/snaps-again2
  • fix/snapshot-wait-for-index
  • fix/start-panic
  • fix/status-output
  • fix/status-when-peer-down
  • fix/svc/init/lock
  • fix/tests
  • fix/tracing-service-name
  • fix/type-errors
  • fix/update-go-cid
  • fix/update-go-dot
  • fix/update-json-config
  • fix/upgrade-empty-state
  • fix/validate-state
  • fix/wait
  • fix/webfile-gx
  • go-1.10
  • godocs
  • guide
  • gx/files2
  • gx/update-mudygh
  • gx/update-psxsm3
  • issue_445
  • issue_450
  • issue_485
  • issue_587
  • issue_616
  • issue_646
  • libp2p-6.0.19
  • libp2p-6.0.23
  • libp2p-6.0.29
  • log/cluster/version-difference-err
  • master
  • migrator
  • no-map-pintracker
  • pin-bot
  • pin-ls-cid
  • pin-ls-recursive
  • race-fixes-picks
  • readme-improv
  • release-fixes
  • remove-go-ipfs-dep
  • remove/snaps
  • rfc/collaborative-pinsets
  • set-proxy-status
  • sharding/move-zg0-dex-to-cluster
  • sharness/basic-auth
  • small-fixes
  • small-fixes-2
  • ssl-params
  • statelesstracker
  • style
  • submodules
  • test/clean-shard-testing
  • test/sharness-api-https
  • test/sharness-https-api
  • test/squash
  • tests/shards
  • tests/update-sharness-configs
  • travis-sharness
  • update-deps
  • update/go-ipfs-files
  • update/go-libp2p-pubsub
  • update/gx
  • update/gx-versions
  • update/gx-versions3
  • update/libp2p
  • update/libp2p-6
  • update/libp2p-6.0.33
  • update/libp2p-6.0.35
  • use-multiaddr-net
  • v0.0.11
  • v0.0.12
  • v0.1.0
  • v0.2.0
  • v0.2.1
  • v0.3.1
  • v0.3.2
  • v0.3.3
  • v0.3.4
  • v0.3.5
  • v0.4.0
  • v0.4.0-rc1
  • v0.4.0-rc2
  • v0.5.0
  • v0.5.0-rc1
  • v0.6.0
  • v0.6.0-rc1
  • v0.7.0
  • v0.7.0-rc1
  • v0.8.0-rc1
  • v0.9.0
  • v0.9.0-rc1

pending completion
213

push

travis-ci

hsanjuan
Issue #45: Detect expired metrics and trigger re-pins

An initial, simple approach to this. The PeerMonitor will
check it's metrics, compare to the current set of peers and put
an alert in the alerts channel if the metrics for a peer have expired.

Cluster reads this channel looking for "ping" alerts. The leader
is in charge of triggering repins in all the Cids allocated to
a given peer.

Also, metrics are now broadcasted to the cluster instead of pushed only
to the leader. Since they happen every few seconds it should be okay
regarding how it scales. Main problem was that if the leader is the node
going down, the new leader will not now about it as it doesn't have any
metrics for it, so it won't trigger an alert. If it acted on that then
the component needs to know it is the leader, or cluster needs to
handle alerts in complicated ways when leadership changes. Detecting
leadership changes or letting a component know who is the leader is another
dependency from the consensus algorithm that should be avoided. Therefore
we broadcast, for the moment.

License: MIT
Signed-off-by: Hector Sanjuan <hector@protocol.ai>

159 of 159 new or added lines in 3 files covered. (100.0%)

2715 of 3532 relevant lines covered (76.87%)

1707.95 hits per line

Relevant lines Covered
Build:
Build:
3532 RELEVANT LINES 2715 COVERED LINES
1707.95 HITS PER LINE
Source Files on 45-peer-failure
  • List 0
  • Changed 0
  • Source Changed 0
  • Coverage Changed 0
Coverage ∆ File Lines Relevant Covered Missed Hits/Line

Recent builds

Builds Branch Commit Type Ran Committer Via Coverage
213 45-peer-failure Issue #45: Detect expired metrics and trigger re-pins An initial, simple approach to this. The PeerMonitor will check it's metrics, compare to the current set of peers and put an alert in the alerts channel if the metrics for a peer have expired.... push 02 Mar 2017 01:58PM UTC hsanjuan travis-ci pending completion  
See All Builds (2373)
  • Repo on GitHub
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2025 Coveralls, Inc