profile
viewpoint
Andrew Gillis gammazero @protocol California

gammazero/workerpool 715

Concurrency limiting goroutine pool

gammazero/deque 275

Fast ring-buffer deque (double-ended queue)

gammazero/nexus 203

Full-feature WAMP v2 router and client written in Go

filecoin-project/dealbot 22

🤖🤝 A bot for making deals

im7mortal/kmutex 21

Sync primitive for golang. Key + Mutex = Kmutex

filecoin-project/storetheindex 8

A storethehash based directory of CIDs

gammazero/radixtree 8

adaptive radix tree (a.k.a prefix tree or compact trie)

filecoin-project/go-legs 5

Does the legwork for go-data-transfer

gammazero/channelqueue 5

queue that can be used like buffered channel with any capacity

gammazero/pymakeself 5

Make self-extracting archives using Python

pull request commentfilecoin-project/index-provider

Implement a CLI command to verify multihash ingestion

This means getting the chain is either exposed via admin API or the tool makes graphsync calls to the provider to get it. Unless the provider datastore is accessed directly? Any thoughts?

I think the tool should make graphsync requests so that is can be used against any number of providers, regardless of their datastore implementation.

masih

comment created time in 13 hours

pull request commentfilecoin-project/storetheindex

Support advertisement to update metadata only

Latest change documents behavior.

gammazero

comment created time in 13 hours

push eventfilecoin-project/storetheindex

gammazero

commit sha ce5934fcd46f566bf665121ed4eca52e9e5f2e34

Document behavior with different values of IsRm and Entries in advertisement

view details

push time in 13 hours

push eventfilecoin-project/go-legs

Masih H. Derkani

commit sha a27c450eb6a6f3d95116a1d1b0be766a283afbd8

Do not continue with explicit sync when there is no root CID `Subscriber.Sync` queries the latest root CID if one is not given. Check that the result of query is an actual CID before proceeding with the sync. If there is no latest root CID, i.e. query for the latest CID returns `cid.Undef`, then return `cid.Undef` with no error. Fixes #64

view details

push time in 14 hours

delete branch filecoin-project/go-legs

delete branch : masih/bugfix-sync-no-head

delete time in 14 hours

PR merged filecoin-project/go-legs

Reviewers
Do not continue with explicit sync when there is no root CID

Subscriber.Sync queries the latest root CID if one is not given. Check that the result of query is an actual CID before proceeding with the sync. If there is no latest root CID, i.e. query for the latest CID returns cid.Undef, then return cid.Undef with no error.

Fixes #64

+12 -1

1 comment

1 changed file

masih

pr closed time in 14 hours

issue closedfilecoin-project/go-legs

Subscriber.Sync should not try to open pull request when target CID is `undef

If Subscriber.Sync is given cid.Undef it tries to query the current head and sync that. The result of that query itself may be cid.Undef signalling that there is no head.

In such case Sync should not try to open a pull request for cid.Undef.

Example ERROR on indexer node:

ERROR   indexer/ingest  ingest/ingest.go:149    Failed to sync with provider    {"peerID": "12D3KooWE8yt84RVwW3sFcd6WMjbUdWrZer2YtT4dmtj3dHdahSZ", "err": "sync handler failed: cannot open data channel: Creating request: failed to write cid field t.Head: undefined cid", "provider": "12D3KooWE8yt84RVwW3sFcd6WMjbUdWrZer2YtT4dmtj3dHdahSZ"}

closed time in 14 hours

masih
PullRequestReviewEvent

pull request commentfilecoin-project/storetheindex

Support advertisement to update metadata only

@masih Your question about having a different schema message is really the subject matter for this review. What this PR does is overload the use of values in the existing schema to communicate different things, and it may be better to have a new message type. If we want a new message type, then we should discuss all the things we want an advertisement to communicate:

  • Adding content
  • Removing specific entries
  • Removing all entries with matching context ID
  • Removing all entries for the provider (delisting provider)
  • Updating provider addresses
  • Some combination of the above?
gammazero

comment created time in 17 hours

Pull request review commentfilecoin-project/storetheindex

Support advertisement to update metadata only

 import ( 	"github.com/multiformats/go-multihash" ) +// NoEntries is a special value used to explicitly indicate that an+// advertisement does not have any entries, and serves to remove content by context ID,

Comment updated to clarify.

gammazero

comment created time in 17 hours

PullRequestReviewEvent

push eventfilecoin-project/storetheindex

gammazero

commit sha 79df997d1785b158d8a9cb23a1f0c7964d9d23b3

review changes

view details

push time in 17 hours

PullRequestReviewEvent

Pull request review commentfilecoin-project/storetheindex

Support advertisement to update metadata only

 var Linkproto = cidlink.LinkPrototype{  var mhCode = multihash.Names["sha2-256"] +func init() {+	// Define NoEntries as the CID of a sha256 hash of nil.+	m, err := multihash.Sum(nil, multihash.SHA2_256, 32)+	if err != nil {+		panic(err)+	}+	NoEntries = cidlink.Link{Cid: cid.NewCidV0(m)}

Changed to raw v1.

gammazero

comment created time in 17 hours

PullRequestReviewEvent

Pull request review commentfilecoin-project/storetheindex

Support advertisement to update metadata only

 import ( 	"github.com/multiformats/go-multihash" ) +// NoEntries is a special value used to explicitly indicate that an+// advertisement does not have any entries, and serves to remove content by context ID,

Depends. When removing content, isRm should be true. When updating metadata, isRm should be true. In both cases NoEntries is used.

gammazero

comment created time in 17 hours

release filecoin-project/go-legs

v0.2.2

released time in 3 days

push eventfilecoin-project/go-legs

gammazero

commit sha 12fbddbedb31da93b2d345053308b9f1a0087df8

Update dependencies - Update to latest graphsync - Update go-ipld-prime - Update to latest datastore (with contexts) - Update to latest libp2p

view details

gammazero

commit sha 765e84674aaa1dd6e020b1efcaf9211d09fcaf69

bump version

view details

push time in 3 days

delete branch filecoin-project/go-legs

delete branch : update-deps

delete time in 3 days

PR merged filecoin-project/go-legs

Update dependencies
  • Update to latest graphsync
  • Update go-ipld-prime
  • Update to latest datastore (with contexts)
  • Update to latest libp2p
+256 -225

2 comments

11 changed files

gammazero

pr closed time in 3 days

pull request commentfilecoin-project/go-legs

support pubsub.PubOpts in UpdateRoot

As documented in WithReadiness, I don't think this is going to work without providing a WithDiscover to give the pubsub instance a discovery mechanism.

mvdan

comment created time in 3 days

push eventfilecoin-project/go-legs

gammazero

commit sha a8cca3c47a7c2eedd92eed5d806210afeed7870b

bump version

view details

push time in 3 days

PR opened filecoin-project/go-legs

Update dependencies
  • Update to latest graphsync
  • Update go-ipld-prime
  • Update to latest datastore (with contexts)
  • Update to latest libp2p
+255 -224

0 comment

10 changed files

pr created time in 3 days

create barnchfilecoin-project/go-legs

branch : update-deps

created branch time in 3 days

issue commentgammazero/workerpool

Document how to handle errors, please

Errors are surfaced using the same mechanisms that are used to surface errors when calling a function in a separate go routine. Typically this is a channel or by closure with synchronization. Treat calling wp.Submit(somefunc) the same as calling go somefunc()

zapman449

comment created time in 3 days

PR closed gammazero/workerpool

Create `SubmitRecover` to handle panic recovery in workerpool tasks if desired

allows user to overwrite the panic handler function with workerpool.SetPanicHandler(func())

+111 -59

2 comments

10 changed files

cameronbrill

pr closed time in 3 days

pull request commentgammazero/workerpool

Create `SubmitRecover` to handle panic recovery in workerpool tasks if desired

Closing, since I think it is more appropriate for this change to live in the fork. Thank you for your interest in this project.

cameronbrill

comment created time in 3 days

startedgammazero/radixtree

started time in 3 days

startedgammazero/radixtree

started time in 3 days

push eventgammazero/nexus

gammazero

commit sha cc86c01648fbf6e50818b766c155aeaa45a5db71

update deps

view details

push time in 3 days

more