The new package sorted/kvtest provides a generic KeyValue test for all
implementations. Memory, SQLite, and kvfile now use it.
This speeds up the index slurping start-up of my personal Camlistore
server from 30 seconds (when it was doing 17,000+ queries in small
windows) to now just 5 seconds. That 5 seconds can be improved yet
further.
Change-Id: Idd55ba9ccd3ed12a26868a41db1af676aff7b67b
Goal is to iterate faster (notably: for slurping the index to the in-memory
corpus on start-up), by doing fewer copies and generating less garbage.
Change-Id: I054b0de2b994eb1f2356aa8587a466bafeb6cf82
1) Done in AppendClaims, PermanodeOfSignerAttrValue,
SearchPermanodesWithAttr, PathsOfSignerTarget,
and PathsLookup.
2) camtypes.Path.DateClaim is now a time.Time, and used
as such in Path search methods.
3) Added kvSignerAttrValue, kvPathBackward, and kvPathForward
4) More Delete tests. We probably want more cases, but that's
a start.
http://camlistore.org/issue/191
Change-Id: I1d42485f2c6d1eea024f70378daacaaad9197768
This method will be used to find out when a permanode or claim
was (un)deleted for the last time.
This change also introduces the keyDeletes index entry which
allows to find the permanodes/claims that a delete claim deletes.
Finally, since some index keys have changed, this CL introduces
a check for an index schema version, to force users to reindex
when needed.
http://camlistore.org/issue/191
Change-Id: I6f8e5d3030a6ddc8b21ff5dc5db311f2ea16f613
Running 'go run dev/envvardoc/envvardoc.go' now shows:
'All environment variables are documented'
I also took the liberty of cleaning-up our mishmash of logic for handling
boolean environment variables, and cleaned up a couple other spots that didn't
seem right.
This change adds docmentation for all variables starting with (CAM|DEV|AWS).
This leaves some variables still undocumented. If there are variables worth
documenting in the following list, maybe we should rename them to have a
CAM{LI} prefix for consistency's sake:
APPDATA pkg/osutil/paths.go:86
APPDATA pkg/osutil/paths.go:102
DISPLAY pkg/misc/gpgagent/gpgagent.go:126
GOPATH pkg/fileembed/genfileembed/genfileembed.go:321
GOPATH pkg/osutil/paths.go:168
GOPATH pkg/test/world.go:54
GOPATH server/appengine/build_test.go:77
GPGKEY cmd/camput/init.go:77
GPG_AGENT_INFO cmd/camput/init.go:153
GPG_AGENT_INFO pkg/misc/gpgagent/gpgagent.go:50
HOME pkg/jsonsign/keys.go:79
HOME pkg/jsonsign/signhandler/sig.go:64
HOME pkg/osutil/paths.go:36
HOMEPATH pkg/osutil/paths.go:34
PKG_CONFIG_PATH pkg/index/sqlite/dbschema.go:59
RUN_BROKEN_TESTS pkg/fs/fs_test.go:67
SKIP_DEP_TESTS pkg/test/testdep.go:29
TERM pkg/misc/gpgagent/gpgagent.go:133
TERM pkg/misc/pinentry/pinentry.go:99
TESTING_PORT_WRITE_FD pkg/webserver/webserver.go:135
TEST_GPGAGENT_LIB pkg/misc/gpgagent/gpgagent_test.go:27
USER pkg/netutil/ident.go:135
USER pkg/osutil/paths.go:45
USERNAME pkg/jsonconfig/eval.go:228
USERNAME pkg/osutil/paths.go:43
VERBOSE_FUSE pkg/fs/fs_test.go:133
VERBOSE_FUSE_STDERR pkg/fs/fs_test.go:137
XDG_CONFIG_HOME pkg/osutil/paths.go:104
Change-Id: Ief28710d3deefd1e65247cb5d3b1d8dde73e1f2d
misc.CountingReader moves into readerutil.
pkg/atomics is folded into pkg/types.
pkg/test/testdep is folded into pkg/test, with better name/docs.
Old cruft from pkg/webserver is deleted.
Change-Id: I3f72d8b29804254ef944995fb085837c878f79f5
The mongo indexer didn't have any authentication
scheme, so this change adds the user:pass@host
authentication.
The mongo indexer tests now use the root:root
credentials.
Change-Id: I7867f46e3b5f0a4a1a50f86f26d76c0bfd69e9ac
Now all tests pass like this:
bradmac-2:camlistore.org $ SKIP_DEP_TESTS=1 go test ./pkg/...
? camlistore.org/pkg/auth [no test files]
ok camlistore.org/pkg/blobref 0.023s
ok camlistore.org/pkg/blobserver 0.032s
? camlistore.org/pkg/blobserver/cond [no test files]
? camlistore.org/pkg/blobserver/google [no test files]
ok camlistore.org/pkg/blobserver/handlers 0.031s
ok camlistore.org/pkg/blobserver/localdisk 1.693s
? camlistore.org/pkg/blobserver/remote [no test files]
? camlistore.org/pkg/blobserver/replica [no test files]
? camlistore.org/pkg/blobserver/s3 [no test files]
? camlistore.org/pkg/blobserver/shard [no test files]
? camlistore.org/pkg/cacher [no test files]
ok camlistore.org/pkg/client 0.029s
? camlistore.org/pkg/errorutil [no test files]
? camlistore.org/pkg/fileembed [no test files]
? camlistore.org/pkg/fileembed/genfileembed [no test files]
? camlistore.org/pkg/fs [no test files]
ok camlistore.org/pkg/googlestorage 0.034s
? camlistore.org/pkg/httputil [no test files]
ok camlistore.org/pkg/index 0.298s
? camlistore.org/pkg/index/indextest [no test files]
ok camlistore.org/pkg/index/mongo 0.524s
ok camlistore.org/pkg/index/mysql 0.020s
ok camlistore.org/pkg/jsonconfig 0.022s
ok camlistore.org/pkg/jsonsign 0.155s
ok camlistore.org/pkg/lru 0.015s
ok camlistore.org/pkg/magic 0.030s
? camlistore.org/pkg/misc [no test files]
ok camlistore.org/pkg/misc/amazon/s3 0.028s
ok camlistore.org/pkg/misc/gpgagent 0.018s
ok camlistore.org/pkg/misc/httprange 0.026s
? camlistore.org/pkg/misc/pinentry [no test files]
? camlistore.org/pkg/misc/resize [no test files]
ok camlistore.org/pkg/netutil 0.088s
ok camlistore.org/pkg/osutil 0.016s
ok camlistore.org/pkg/rollsum 0.027s
ok camlistore.org/pkg/schema 0.017s
ok camlistore.org/pkg/search 0.016s
ok camlistore.org/pkg/server 0.039s
ok camlistore.org/pkg/serverconfig 0.031s
? camlistore.org/pkg/test [no test files]
? camlistore.org/pkg/test/asserts [no test files]
? camlistore.org/pkg/test/testdep [no test files]
? camlistore.org/pkg/webserver [no test files]
Change-Id: I9c9b0ee4f51cbcf785aed665bbb494339dd84261