storj/satellite/metabase
Artur M. Wolff 36ae8d4bb9 satellite/metabase: revert non-recursive listing optimization
This change reverts satellite/metabase/iterator.go of 7390f389c to the
previous version (without optimization) but leaves added benchmarks in
place.

We noticed that this optimization doesn't work and actually elevates
listing times for most buckets, hence the revert until we come up with a
better idea.

Benchmarks:

name                                                old time/op new time/op delta
NonRecursiveListing/Postgres/listing_no_prefix-8    1.30ms ± 4% 4.52ms ± 4% +246.92% (p=0.008 n=5+5)
NonRecursiveListing/Postgres/listing_with_prefix-8  3.26ms ± 3% 4.44ms ± 2%  +36.19% (p=0.008 n=5+5)
NonRecursiveListing/Cockroach/listing_no_prefix-8    618µs ± 3% 2225µs ± 2% +259.94% (p=0.008 n=5+5)
NonRecursiveListing/Cockroach/listing_with_prefix-8 1.81ms ± 5% 2.60ms ± 5%  +43.96% (p=0.008 n=5+5)

Updates storj/team-metainfo#115

Change-Id: I96e4e7a563b188df478f8489027dc0042469b839
2022-08-22 14:14:10 +02:00
..
metabasetest satellite/metabase: add metabase.GetObjectLatestVersion back 2022-08-11 22:14:38 +00:00
segmentloop satellite/metabase/segmentloop: start immediately on manual trigger 2021-09-28 18:32:03 +00:00
zombiedeletion satellite/metainfo/zombiedeletion: enable chore by default 2021-12-21 13:26:18 +01:00
alias_test.go ci: fix lint errors 2021-05-17 13:37:31 +00:00
alias.go satellite/metabase: drop alias migration code 2021-05-07 12:13:28 +03:00
aliascache_test.go satellite/metabase/metabasetest: move test utils to a separate package 2021-04-26 13:12:58 +03:00
aliascache.go satellite/metabase: deletion query as explicit transaction 2022-03-31 11:40:36 +00:00
aliaspiece_test.go satellite/metabase: move package one level higher 2021-04-21 15:54:22 +03:00
aliaspiece.go satellite/metabase: move package one level higher 2021-04-21 15:54:22 +03:00
bench_expired_test.go Revert "satellite/metabase: use storj.Nonce instead []byte" 2021-10-12 15:39:54 +02:00
bench_test.go satellite/metabase: add metabase.GetObjectLatestVersion back 2022-08-11 22:14:38 +00:00
commit_object_test.go Revert "satellite/metabase: use storj.Nonce instead []byte" 2021-10-12 15:39:54 +02:00
commit_object.go Revert "satellite/metabase: use storj.Nonce instead []byte" 2021-10-12 15:39:54 +02:00
commit_test.go satellite/metabase: fix flaky TestCommitInlineSegment 2022-05-20 10:20:56 +00:00
commit.go satellite/metabase: Classify pending object error 2022-05-10 10:54:17 +00:00
common_test.go segment/{metabase,repair}: add dedicated methods on metabase.Pieces 2021-08-03 15:12:03 +00:00
common.go satellite/metabase: don't return expired objects 2022-07-04 21:32:30 +03:00
consts_test.go satellite/metabase: move package one level higher 2021-04-21 15:54:22 +03:00
copy_object_test.go satellite/metabase: error if source object changed 2022-07-19 13:27:55 +02:00
copy_object.go satellite/metainfo: usage limits for copy 2022-07-25 12:35:27 +02:00
db_internal_test.go satellite/metabase/segmentloop: limit max interval 2021-06-10 17:06:33 +00:00
db_test.go satellite/metabase: drop alias migration code 2021-05-07 12:13:28 +03:00
db.go metabase: support disabling serverside copy when already enabled 2022-06-24 17:56:43 +00:00
delete_bucket_test.go satellite/metabase: delete bucket with cross-bucket copies 2022-04-05 01:32:02 +02:00
delete_bucket.go satellite/metabase: measure delete object batch 2022-08-08 12:24:26 +00:00
delete_objects_test.go satellite/metabase: delete migrated zombie objects 2022-08-10 10:16:47 +02:00
delete_objects.go satellite/metabase: delete migrated zombie objects 2022-08-10 10:16:47 +02:00
delete_test.go satellite/metabase: simplify delete query 2022-05-27 20:09:50 +00:00
delete.go satellite/metabase: fix copy to ancestor location 2022-06-28 03:53:01 +02:00
encoding.go satellite/metabase: deletion query as explicit transaction 2022-03-31 11:40:36 +00:00
get_test.go satellite/metabase: add metabase.GetObjectLatestVersion back 2022-08-11 22:14:38 +00:00
get.go satellite/metabase: add metabase.GetObjectLatestVersion back 2022-08-11 22:14:38 +00:00
iterator_test.go satellite/metabase: reduce queries for iterator boundaries tests 2022-08-22 10:47:28 +00:00
iterator_util_test.go satellite/metabase: fix listing prefixes with cursor set 2021-07-07 14:30:46 +00:00
iterator.go satellite/metabase: revert non-recursive listing optimization 2022-08-22 14:14:10 +02:00
list_segments_test.go satellite/metabase: flatten copy references when copying 2022-03-20 10:29:37 +00:00
list_segments.go satellite/metabase: copy expires_at to segments while FinishCopyObject 2022-04-27 18:39:54 +00:00
list.go satellite/metabase: drop IterateObjectsAllVersions 2022-05-26 14:12:20 +00:00
loop_test.go satellite/metabase: add option to override metadata with CommitObject 2022-04-26 08:03:52 +00:00
loop.go satellite/metainfo: propagate geofencing between buckets and stream id 2021-11-24 08:05:05 +00:00
metadata_test.go Revert "satellite/metabase: use storj.Nonce instead []byte" 2021-10-12 15:39:54 +02:00
metadata.go Revert "satellite/metabase: use storj.Nonce instead []byte" 2021-10-12 15:39:54 +02:00
migrate_test.go metabase: use predefined snapshot for unit tests avoid migration 2022-06-01 12:07:00 +00:00
move_object_test.go satellite/metabase: error if source object changed 2022-07-19 13:27:55 +02:00
move_object.go satellite/metabase: error if source object changed 2022-07-19 13:27:55 +02:00
raw.go metabasetest: use DROP instead of TRUNCATE 2022-05-31 12:16:02 +00:00
stats_test.go satellite/metabase: add method to get table statistics 2021-06-16 18:34:55 +03:00
stats.go satellite/metabase: use db methods that pass context correctly 2021-07-29 09:32:31 +00:00
streamstat_test.go Revert "satellite/metabase: use storj.Nonce instead []byte" 2021-10-12 15:39:54 +02:00
streamstat.go satellite/metabase: use db methods that pass context correctly 2021-07-29 09:32:31 +00:00
update_test.go satellite/metabase/test: extend default time diff for comparison 2022-05-23 10:24:58 +00:00
update.go satellite/metabase: use db methods that pass context correctly 2021-07-29 09:32:31 +00:00
util.go satellite/metabase: add intLimitRange 2021-07-19 07:51:16 +00:00