KevinStephenson
Adding in weaviate code
b110593
raw
history blame
1.71 kB
// _ _
// __ _____ __ ___ ___ __ _| |_ ___
// \ \ /\ / / _ \/ _` \ \ / / |/ _` | __/ _ \
// \ V V / __/ (_| |\ V /| | (_| | || __/
// \_/\_/ \___|\__,_| \_/ |_|\__,_|\__\___|
//
// Copyright © 2016 - 2024 Weaviate B.V. All rights reserved.
//
// CONTACT: [email protected]
//
package backup
import (
"context"
"github.com/weaviate/weaviate/entities/backup"
)
// Sourcer represents the source of artifacts used in the backup
type Sourcer interface { // implemented by the index
// ReleaseBackup signals to the underlying index that the files have been
// copied (or the operation aborted), and that it is safe for the index to
// change the files, such as start compactions.
ReleaseBackup(_ context.Context, id, class string) error
// Backupable returns whether all given class can be backed up.
Backupable(_ context.Context, classes []string) error
// BackupDescriptors returns a channel of class descriptors.
// Class descriptor records everything needed to restore a class
// If an error happens a descriptor with an error will be written to the channel just before closing it.
//
// BackupDescriptors acquires resources so that a call to ReleaseBackup() is mandatory to free acquired resources.
BackupDescriptors(_ context.Context, bakid string, classes []string,
) <-chan backup.ClassDescriptor
// ClassExists checks whether a class exits or not
ClassExists(name string) bool
// ListBackupable returns a list of all classes which can be backed up.
//
// A class cannot be backed up either if it doesn't exist or if it has more than one physical shard.
ListBackupable() []string
}