metabase: Drop search-only indexes #1323
No reviewers
Labels
No labels
P0
P1
P2
P3
badger
frostfs-adm
frostfs-cli
frostfs-ir
frostfs-lens
frostfs-node
good first issue
triage
Infrastructure
blocked
bug
config
discussion
documentation
duplicate
enhancement
go
help wanted
internal
invalid
kludge
observability
perfomance
question
refactoring
wontfix
No milestone
No project
No assignees
4 participants
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference: TrueCloudLab/frostfs-node#1323
Loading…
Reference in a new issue
No description provided.
Delete branch "dstepanov-yadro/frostfs-node:feat/drop_metabase_index"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
This should reduce the size of the metabase and improve its performance.
63192cc2a8
to5cd9e24abe
@ -109,3 +100,3 @@
}
func selectExpiredObjectIDs(tx *bbolt.Tx, attr string, epoch uint64, containerID cid.ID, objectIDs []oid.ID) ([]oid.ID, error) {
func selectExpiredObjectIDs(tx *bbolt.Tx, epoch uint64, containerID cid.ID, objectIDs []oid.ID) ([]oid.ID, error) {
On a side-note, we allocate a slice here, only to convert it later from
[]oid.ID
to[]oid.Address
. Maybe return[]oid.Address
from this function?fixed
1d02d53e09
to156a25de4a
@ -10,3 +10,3 @@
// version contains current metabase version.
const version = 2
const version = 3
Could you also change
VERSION.md
accordingly?Done
@ -263,3 +284,2 @@
return updateSplitInfoIndex(tx, objKey, cnr, bucketName, si)
return updateSplitInfoIndex(tx, objKey, addr.Container(), bucketName, si)
}
:(
156a25de4a
to57a1f45be1
@ -407,2 +384,2 @@
if err != nil {
return err
func hasExpirationEpoch(obj *objectSDK.Object) (uint64, bool) {
for _, attr := range obj.Attributes() {
Is it ok if an object has an EC-header? The best way is to check
object search
for EC-objectsThx, fixed
57a1f45be1
tob51476954d
b51476954d
to834dd6bb90
OK with me
@ -75,3 +75,3 @@
getPrm.SetAddress(objectCore.AddressOf(obj))
_, err = sh.Get(context.Background(), getPrm)
require.True(t, client.IsErrObjectNotFound(err), "expired object must be deleted")
require.True(t, client.IsErrObjectNotFound(err) || IsErrObjectExpired(err), "expired object must be deleted")
How come this test passed before?
Search
for objects won't work in EC-container #1347frostfs-lens meta explore
#1416