Commit Graph

12 Commits

Author SHA1 Message Date
mpl bcb5fca493 pkg/sorted: log and skip on too large a key/value
So far we were returning an error, which appears to be a little too
strict, so we now just ignore when a key or value is too large, log it,
and go on.

Fixes #849

Change-Id: Iadd4eaab7459643e22ab3043d1f45e3eab662b30
2016-08-31 17:51:52 +02:00
Tamás Gulácsi 78f21f5e15 diskpacked: allow removing non-existing blob
Let double-delete test pass.
Make leveldb and memdb Deletes go on for ErrNotFound.

Add test for batch deleting nonexisting key, and partial batch delete
errors - fix it for mongo.

Fixes #760.

Change-Id: I0a0e28836a723d245564f3dabaf328bf73bf463a
2016-06-16 20:26:56 +02:00
Brad Fitzpatrick 75d60962f6 Move remaining stuff in third_party/* to vendor/*
Change-Id: Ifbcc02817083cba68d8c1acec3e6ec50e8f61149
2016-04-20 16:49:15 -07:00
Tamás Gulácsi a2c19c1f42 Drop leveldb-go
Use github.com/syndtr/goleveldb/leveldb/memdb in pkg/sorted memKey.
This was the last usage of code.googe.com/p/leveldb-go.

Hopefully tackles issue #600.

Change-Id: Iadcf7b69557cf4834cb2a4353ed0d2159379f423
2016-04-07 20:19:45 +02:00
mpl 40be4d8da2 vendor: go4.org/jsonconfig (and errorutil)
Previously pkg/jsonconfig and pkg/errorutil

Copied from go4.org at rev d1b8a2fb2de6160036e4801aa5e4d855571078b8

Change-Id: I673ed55b0825baa2607289b6082f205100261d7a
2015-12-01 17:21:49 +01:00
Brad Fitzpatrick f3ae8c8c9a sorted: fix crash on double close of memory iterator
The sorted.KeyValue and Iterator interfaces both promise that it's okay
to Close twice.

Change-Id: I169f84d64c86da86e1be417b6be8551fd4d20ced
2015-04-13 20:38:42 +02:00
mpl ae38f657b8 pkg/sorted: define (larger) values for key and value sizes
Issue #429

Change-Id: Id8205ca1581c1f21b3983e13d8c3f61293868529
2015-01-26 19:39:41 +01:00
mpl fcbbf2a4df index: move mongo implementation to sorted
Also devcam server -wipe wasn't wiping for mongo anymore, now fixed.

Change-Id: Iecc9d8025ddfba8d8ae9417ee170baf02be1d52f
2013-12-13 00:25:40 +01:00
Brad Fitzpatrick 76171ddb3d Change sorted.KeyValue.Find to take an optional end bound; add tests.
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
2013-12-07 08:43:18 -08:00
Brad Fitzpatrick 11a1745034 Add KeyBytes and ValueBytes accessor to sorted.KeyValue.Iterator.
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
2013-12-04 14:18:52 +01:00
Brad Fitzpatrick 1f407edd58 sorted: add Close method to KeyValure; register 'kv' impl type for cznic/kv
Change-Id: Ie4e21450dac9dad3433c65631706f52527502cbc
2013-11-23 21:07:03 -08:00
Brad Fitzpatrick 90c1e48afe Rename index.Storage to sorted.KeyValue and move it into a new package.
Having index.Index and index.Storage both in the same package led to
confusing discussions about "an index". Better names now, and smaller
packages.
2013-11-22 23:24:54 -08:00