fixes#6247
Really, we need a global _resource_ manager service that can sum requests from
the datastore, libp2p, etc. for more file descriptors. However, we don't have
that.
License: MIT
Signed-off-by: Steven Allen <steven@stebalien.com>
fixes#6247
Really, we need a global _resource_ manager service that can sum requests from
the datastore, libp2p, etc. for more file descriptors. However, we don't have
that.
License: MIT
Signed-off-by: Steven Allen <steven@stebalien.com>
Most of these are probably harmless but a few looked like they might actually be
bugs. Most of them are just faulty tests.
License: MIT
Signed-off-by: Steven Allen <steven@stebalien.com>
1. They don't _have_ to be mutually exclusive.
2. local, mode, etc is _really_ confusing.
License: MIT
Signed-off-by: Steven Allen <steven@stebalien.com>
We never set this to true outside of tests and it's unclear what it's even
supposed to do.
This brings us back down to _two_ online-ish options from three.
fixes#5787
License: MIT
Signed-off-by: Steven Allen <steven@stebalien.com>
When trying out the latest rc, i used the `./install.sh`
It hung, with no output. I removed the 2> /dev/null and
it turned out mv was waiting for user input to confirm
the change of file permssions from 555 to 755.
This PR removes piping the output from mv to /dev/null
as it seems like the safest fix.
An alternative would be to just add -f but i've err'd
on the side of caution.
If also tweaked the second condition basedo on the
recommendations of shellcheck
see: https://github.com/koalaman/shellcheck/wiki/SC2166
License: MIT
Signed-off-by: Oli Evans <oli@tableflip.io>
* Updates go-ipfs-cmds to try to get the tests to pass on travis.
* While we're at it, fix duplicate gx deps.
License: MIT
Signed-off-by: Steven Allen <steven@stebalien.com>
Switch _back_ to the 0.4.18 style of peer IDs while we figure things out. See
https://github.com/libp2p/specs/issues/138.
License: MIT
Signed-off-by: Steven Allen <steven@stebalien.com>
The `ipfs init` command prints out a ton of information which can make it hard
to spot errors. Print a newline before these errors
We could do this for every command but there are some tricky edge cases:
1. This would look funny if there's no other output.
2. It might mess break tools parsing the output (not expecting empty lines).
License: MIT
Signed-off-by: Steven Allen <steven@stebalien.com>
Loading this at the last minute means we need a bunch of special cases
in *every* command that needs routing, namesys, or even the public key.
If we ever have a case where we don't want to do this, we can add an option to
the (eventual) IPFS constructor. Handling this up-front is going to be
significantly less error prone.
Motivation: https://github.com/ipfs/go-ipfs/pull/5825/files#diff-fe35ea64d478c4f3fb767a3f618e5d01R863
License: MIT
Signed-off-by: Steven Allen <steven@stebalien.com>
Turns out that `pool.Put(buf)` had to *allocate* because we needed to turn
`[]byte` into `interface{}`. Apparently, we've never done this correctly we just
never noticed because we never really used buffer pools extensively.
However, since migrating yamux to a buffer-pool backed buffer, this started
showing up in allocation profiles.
License: MIT
Signed-off-by: Steven Allen <steven@stebalien.com>
* go-datastore and friends: GetSize
* badger: new release, fewer allocations
* go-mplex: send fewer packets
* go-bitswap: pack multiple blocks in a single message, fewer allocations
* go-buffer-pool: replace the buffer pool from go-msgio
* yamux: fixed data race and uses go-buffer-pool for stream read-buffers to
reduce memory and allocations.
* go-libp2p-secio: get rid of a hot-spot allocation
* go-libp2p-peerstore: reduced allocations (at the cost of some memory)
More?
License: MIT
Signed-off-by: Steven Allen <steven@stebalien.com>
Allows to dynamically change the MutexProfileFraction to enable and
disable mutex profiling. It should be very useful for detecting
deadlocks, lock contention and general concurrency problems.
How to use:
To enable run: curl -X POST -v 'localhost:5001/debug/pprof-mutex/?fraction=10
To disable: curl -X POST -v 'localhost:5001/debug/pprof-mutex/?fraction=0'
Fraction defines which fraction of events will be profiled. Higher it is
the lower performance impact but less reliable the result.
To fetch the result use:
go tool pprof $PATH_TO_IPFS_BIN http://localhost:5001/debug/pprof/mutex
License: MIT
Signed-off-by: Jakub Sztandera <kubuxu@protonmail.ch>
Moved the fmt.Printf call from ManageFdLimit() to the calling code. ManageFdLimit() is called by tests and its annoying to have it output text
License: MIT
Signed-off-by: Rob Deutsch <rdeutschob@gmail.com>
Raising FD limits was erroring when the OS's max was at the maximum signed integer value. Switched the code to using uint64 instead of int64.
fixed#5495
License: MIT
Signed-off-by: Rob Deutsch <rdeutschob@gmail.com>
excerpt of commit messages:
- update postrun functions in core/commands
- sharness: allow setting -i with TEST_IMMEDIATE=1
- cmds Run func returns error now
- gx update cmdkit to 1.1.2 and cmds to 2.0.0-beta1
License: MIT
Signed-off-by: keks <keks@cryptoscope.co>