Commit Graph

18 Commits

Author SHA1 Message Date
Paul Jolly e0d014a6fc
vendor: update gopherjs to 8dffc02ea1cb8398bb73f30424697c60fcf8d4c5
Revert back to using master of https://github.com/gopherjs/gopherjs.

Includes:

* recently-merged support for using a vendored GopherJS
* removes dependency on legacy golang.org/x/tools/go/gcimporter15,
switching to golang.org/x/tools/go/gcexportdata

Change-Id: I1f8b4c829bcfa8562614d9f8368c1d58edd10fab
2018-04-29 18:25:37 +01:00
mpl f8ef262ff9 make.go: clean up, notably remove the tmp source code mirroring
Fixes #1004

Change-Id: Iea01cfc601b8dd8f2a81fe5da40cdd272b164bb1
2018-04-17 19:39:46 +02:00
mpl 139cd8bd01 vendor: add go4.org/media/heif
At rev 7b81d6948d11710f710d0c4ef52daac1dc7c936b

Updates issue #969

Change-Id: I6f21de58c0865d3cbc8186b3a6834444b6d1206e
2018-04-13 00:10:11 +02:00
mpl fe570d0863 Gopkg: sync lock file
follow-up of e264292d25

Re-add myitcv.io/gogenerate, now that myitcv.io repo is fixed. goexif
change is now in Gopkg.lock too.

Change-Id: I7fc86e460c425fac8f3091d2baaa6ef52b22aea8
2018-04-11 17:12:06 +02:00
mpl e264292d25 vendor: update github.com/rwcarlsen/goexif
To rev fb35d3c3290d09f3524b684b5d42d0063c227158

Gopkg.lock update withheld on purpose, as something weird is going on
with myitcv.io, and I I want to ask the maintainer about it first.

Change-Id: I4fc5e3bf022371b3114210f30be1d16d8d89e741
2018-04-11 00:03:11 +02:00
Eric Drechsel e4903de21b vendor: update gopherjs to 82b322028c96512b15077093b16a5f1c7ea897ac
Change-Id: I19128ea01fad41267eaf870e57e799388123c3fb
2018-04-03 17:08:44 -07:00
Paul Lindner 9b8fb64aa2 vendor: dep cleanup for transitive dependencies
Remove the following transitive packages with constraints. dep
does not enforce these:

 - github.com/cznic/fileutil
 - github.com/cznic/lldb
 - github.com/cznic/mathutil
 - github.com/edsrzf/mmap-go
 - github.com/golang/protobuf
 - github.com/gopherjs/jsbuiltin
 - github.com/pkg/errors

Rerun dep ensure -update and resync packages.

Change-Id: I3a6613459628dc963516e840a453d2bc2d25835a
2018-02-16 17:35:19 -08:00
Paul Lindner ecfd0851f5 vendor: disable non-go pruning for github.com/gopherjs/jsbuiltin
jsbuiltin.inc.js is required for proper operation

Change-Id: I9443dcf58d8e02d07068cdbded6bd74933805fd5
2018-02-12 16:13:08 -08:00
Paul Lindner 5894af5196 vendor: upgrade to a versioned dep of sqlite
Use the now renamed libsqlite3 build pragma. This requires
having sqlite3 installed on the system instead of using the
c code bundled in vendor (which is removed by the dep tool
by default)

1.6.0 corresponds with rev
github.com/mattn/go-sqlite3@6c771bb9887719704b210e87e934f08be014bdb1

Changelog: See https://github.com/mattn/go-sqlite3/releases

Change-Id: I48fc0bc005715b83805837f544e7fa7875e6d56a
2018-02-12 09:42:29 -08:00
Paul Lindner 3dfd895def vendor: update to dep v0.4.0 which allows for auto pruning, more legal files and no tests
Change-Id: I434887599e29664cb45440df3648207ae978c932
2018-02-06 06:56:32 -08:00
Paul Lindner f1ccccb361 vendor: run dep ensure && dep prune on a clean client with latest dep
Move blacklisted directories from .gitignore to Gopkg.toml

This change also omits vendor/github.com/gopherjs/gopherjs/tests
now that dep wants to keep them.  It also omits the jws_test.go
file that was manually removed from the vendor tree.

Change-Id: If1eac02ba8807e861b68f2fbdd225206e2f29e78
2018-01-17 22:55:55 -08:00
mpl e9e9da4bf8 server/camlistored: use Let's Encrypt http-01 challenge
As the priority is to fix GCE instances, the port for the http-01
challenge is not configurable for now (80) even not on GCE, but it will
be in a follow-up change.

update golang.org/x/crypto/* (for acme) to rev
13931e22f9e72ea58bb73048bc752b48c6d4d4ac
update golang.org/x/sys/* to rev
fff93fa7cd278d84afc205751523809c464168ab (because unix is a dep of
crypto)

remove warning about Let's Encrypt security issue from pkg/deploy/gce

I had to manually exclude vendor/golang.org/x/crypto/acme/jws_test.go
for now because it contains a private key, and git whines about it, and
i could not override it.

Fixes #1033

Change-Id: Ie4f2049e97892dee9ab513300a5f12e64976aec8
2018-01-16 23:43:13 +01:00
mpl da9020ec71 cmd/camput: compact LevelDB on HaveCache setup
This CL is about levelDB as the HaveCache for camput, and there are
several aspects to it. To describe it, I'll take the particular example
where you want to add many permanodes (~33k) to a given set, with
camput. Something like:

for _, blob := range blobs {
	do("camput attr -add sha1-foobar camliMember " + blob)
}

In a "normal" levelDB use case, everytime the number of level-0 .ldb
files goes over 4 (by default), a background compaction task is
started to transform these SST into level-1 ones, and remove the level-0
ones.
However, since our particular camput call is very short lived
(especially on a local Perkeep), not only might there be not enough time
for the compaction to be triggered, but even if it is, when the DB is
flushed (on a Close call), any ongoing compactions are cancelled. This
makes level-0 compactions very unlikely to happen on short-lived camput
calls. As a result, the number of level-0 files keeps growing until
levelDB fails while trying to open them all, because it hits the current
process ulimit.

Now, in this CL, what we propose is to systematically force a compaction
as soon as the HaveCache is opened. It is not scheduled concurrently, so
we are sure that the compaction happens before the DB actually gets used
by camput. This seems to make sure that the number of level-0 tables
never grows too much. With this change, I was able to run the above
example on 33K blobs without hitting the ulimit error.

However, it should be noted that potential problems might remain. The
compaction for levels above 0 is triggered based only on the total size
of the level (e.g. at 100MB by default for level-1), and not on the
number of files. Since we're creating many tiny tables (basically 1
entry per table), the number of files grows very fast while the total
size does not, and the compaction does not get triggered, even if forced
with CompactRange. This does not seem to be a problem for our use case,
as levelDB does not seem to need to open many of the level-1 files at
the same time, so we're not hitting the ulimit problem because of that.

If needed, there's at least one way this problem (if it is one?) could
be fixed: make the compaction trigger on other conditions, such as
number of files per level. I've experimented with it (forcing the
level-1 compaction to trigger at the 100 files limit), and it seems to
be working. But I had to do change the goleveldb code itself, and I
don't think levelDB implementations are supposed to do that.

For information, at the end of the run on the 33K blobs:
$ du -sch *.ldb
...
83M	total
$ ll | wc -l
20988

And indeed, when asking for leveldb.stats on the table:
 Level |   Tables   |    Size(MB)   |
-------+------------+---------------+
   0   |          1 |       0.00015 |
   1   |      20981 |       3.47307 |

Also, update github.com/syndtr/goleveldb to
34011bf325bce385408353a30b101fe5e923eb6e
And remove github.com/syndtr/gosnappy as goleveldb does not use it
anymore.

Also apply this change to StatCache.

Fixes #1008

Change-Id: If9f790a003e67f3c075881470e52e5f2174afa73
2018-01-16 00:46:11 +01:00
Paul Lindner 45aed2db49 vendor: upgrade github/russross/blackfriday to v2
This upgrades the markdown conversion library to v2 and
switches camweb to use the new, simplified API.

Change-Id: I710110431fdfa32104c591abdf9b01c74a214f48
2018-01-12 18:11:02 -08:00
Paul Lindner f365bb2695 vendor: use semantic version v1.1 for github.com/cznic/lldb
The existing revision already maps to this version.

Change-Id: I2502423bc05ecc602273dd4cd122a65a6c3952cc
2018-01-12 18:10:17 -08:00
Paul Lindner d35f919539 vendor/github.com/go-sql-driver/mysql: upgrade to v1.3.0
Upgrades mysql driver to a versioned release, fixes a minor issue
in dbinit that caused SHOW DATABASES queries to fail and improves
error messages to help diagnose such problems.

Changelog: vendor/github.com/go-sql-driver/mysql/CHANGELOG.md
Revision: go-sql-driver/mysql@a0583e0143

Change-Id: I4f5fdee60b30eca85564c452f72774e9c15828f3
2018-01-12 10:02:14 -08:00
Paul Lindner 837fe8ac46 vendor: Update github.com/gorilla/websocket to v1.2.0
Maps to rev: gorilla/websocket@ea4d1f681b

Also adjust the search websocket code to use the new API
which does proper origin checks.

Changelog: https://github.com/gorilla/websocket/releases/tag/v1.2.0

Change-Id: Ie25490b6319a98345aa6272e9eabc35c298bc06d
2018-01-11 10:42:39 -08:00
Paul Lindner 020c6923ce vendor: fully switch to using the dep vendor tree management tool
Gopkg.toml / Gopkg.lock contain the full set of revisions used by
Perkeep now.  You can remove your entire vendor tree and

  dep ensure && dep prune

will restore you to a known good state.

This final change contains various files that were missing (like
LICENSE/README.md/tests) and also prunes a number of packages that
are transitively unused.

Fixes #889

Change-Id: I6ee6c4a4e14e2de6b6f33620eb7e2c44e97ce91b
2018-01-09 18:27:36 -08:00