Documentation
¶
Index ¶
- type FlatSnapshot
- type Handler
- func (h *Handler) CleanResourcesBeforeDelete(ctx context.Context, _ *object.CleanResourcesRequest) (*object.CleanResourcesResponse, error)
- func (h *Handler) CreateNode(ctx context.Context, req *tree.CreateNodeRequest) (*tree.CreateNodeResponse, error)
- func (h *Handler) DeleteNode(ctx context.Context, req *tree.DeleteNodeRequest) (*tree.DeleteNodeResponse, error)
- func (h *Handler) GetDataSourceConfig(ctx context.Context, _ *object.GetDataSourceConfigRequest) (*object.GetDataSourceConfigResponse, error)
- func (h *Handler) ListNodes(req *tree.ListNodesRequest, resp tree.NodeProvider_ListNodesServer) error
- func (h *Handler) PostNodeChanges(server tree.NodeChangesReceiverStreamer_PostNodeChangesServer) error
- func (h *Handler) ReadNode(ctx context.Context, req *tree.ReadNodeRequest) (*tree.ReadNodeResponse, error)
- func (h *Handler) Ready(ctx context.Context, req *server.ReadyCheckRequest) (*server.ReadyCheckResponse, error)
- func (h *Handler) TriggerResync(c context.Context, req *sync.ResyncRequest) (*sync.ResyncResponse, error)
- func (h *Handler) UpdateNode(ctx context.Context, req *tree.UpdateNodeRequest) (*tree.UpdateNodeResponse, error)
- type Syncer
- func (s *Syncer) BroadcastCloseSession(sessionUuid string)
- func (s *Syncer) Config(ctx context.Context) (*object.DataSource, error)
- func (s *Syncer) FlatScanEmpty(ctx context.Context, syncStatus chan model.Status, syncDone chan interface{}) (model.Stater, error)
- func (s *Syncer) FlatSyncSnapshot(ctx context.Context, dsObject *object.DataSource, mode string, snapName string, ...) (model.Stater, error)
- func (s *Syncer) InitAndStart() error
- func (s *Syncer) InitSync(ctx context.Context) error
- func (s *Syncer) NotifyError(errorPath string)
- func (s *Syncer) Start()
- func (s *Syncer) StartConfigsOnly()
- func (s *Syncer) Stop()
- func (s *Syncer) StopConfigsOnly()
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type FlatSnapshot ¶
type FlatSnapshot struct {
*snapshot.BoltSnapshot
// contains filtered or unexported fields
}
FlatSnapshot is a composed sync endpoint combining a BoltDB and S3 client.
func (*FlatSnapshot) Close ¶
func (f *FlatSnapshot) Close(delete ...bool) error
func (*FlatSnapshot) GetEndpointInfo ¶
func (f *FlatSnapshot) GetEndpointInfo() model.EndpointInfo
func (*FlatSnapshot) Walk ¶
func (f *FlatSnapshot) Walk(ctx context.Context, walknFc model.WalkNodesFunc, root string, recursive bool) (err error)
type Handler ¶
type Handler struct {
grpc_health_v1.HealthServer
PresetSync *Syncer
*source.Resolver[*Syncer]
tree.UnimplementedNodeProviderServer
tree.UnimplementedNodeReceiverServer
tree.UnimplementedNodeChangesReceiverStreamerServer
sync.UnimplementedSyncEndpointServer
object.UnimplementedDataSourceEndpointServer
object.UnimplementedResourceCleanerEndpointServer
server.UnimplementedReadyzServer
}
func (*Handler) CleanResourcesBeforeDelete ¶
func (h *Handler) CleanResourcesBeforeDelete(ctx context.Context, _ *object.CleanResourcesRequest) (*object.CleanResourcesResponse, error)
CleanResourcesBeforeDelete gracefully stops the sync task and remove the associated resync job
func (*Handler) CreateNode ¶
func (h *Handler) CreateNode(ctx context.Context, req *tree.CreateNodeRequest) (*tree.CreateNodeResponse, error)
CreateNode Forwards to Index
func (*Handler) DeleteNode ¶
func (h *Handler) DeleteNode(ctx context.Context, req *tree.DeleteNodeRequest) (*tree.DeleteNodeResponse, error)
DeleteNode Forwards to S3
func (*Handler) GetDataSourceConfig ¶
func (h *Handler) GetDataSourceConfig(ctx context.Context, _ *object.GetDataSourceConfigRequest) (*object.GetDataSourceConfigResponse, error)
GetDataSourceConfig implements the S3Endpoint Interface by using the real object configs + the local datasource configs for bucket and base folder.
func (*Handler) ListNodes ¶
func (h *Handler) ListNodes(req *tree.ListNodesRequest, resp tree.NodeProvider_ListNodesServer) error
ListNodes Forward to index
func (*Handler) PostNodeChanges ¶
func (h *Handler) PostNodeChanges(server tree.NodeChangesReceiverStreamer_PostNodeChangesServer) error
PostNodeChanges receives NodeChangesEvents, to be used with FallbackWatcher
func (*Handler) ReadNode ¶
func (h *Handler) ReadNode(ctx context.Context, req *tree.ReadNodeRequest) (*tree.ReadNodeResponse, error)
ReadNode Forwards to Index
func (*Handler) Ready ¶
func (h *Handler) Ready(ctx context.Context, req *server.ReadyCheckRequest) (*server.ReadyCheckResponse, error)
Ready implements a custom Readyness healthcheck API
func (*Handler) TriggerResync ¶
func (h *Handler) TriggerResync(c context.Context, req *sync.ResyncRequest) (*sync.ResyncResponse, error)
TriggerResync sets 2 servers in sync
func (*Handler) UpdateNode ¶
func (h *Handler) UpdateNode(ctx context.Context, req *tree.UpdateNodeRequest) (*tree.UpdateNodeResponse, error)
UpdateNode Forwards to S3
type Syncer ¶
type Syncer struct {
GlobalCtx context.Context
DsName string
IndexClientRead tree.NodeProviderClient
IndexClientWrite tree.NodeReceiverClient
IndexClientClean protosync.SyncEndpointClient
IndexClientSession tree.SessionIndexerClient
S3client model.Endpoint
SyncTask *task.Sync
StMux *sync2.Mutex
SyncConfig *object.DataSource
ObjectConfig *object.MinioConfig
ChangeEventsFallback chan *tree.NodeChangeEvent
// contains filtered or unexported fields
}
Syncer structure
func (*Syncer) BroadcastCloseSession ¶
BroadcastCloseSession forwards session id to underlying sync task
func (*Syncer) FlatScanEmpty ¶
func (s *Syncer) FlatScanEmpty(ctx context.Context, syncStatus chan model.Status, syncDone chan interface{}) (model.Stater, error)
FlatScanEmpty uses s3 client to feed index from bucket (basic mono-directional sync)
func (*Syncer) FlatSyncSnapshot ¶
func (s *Syncer) FlatSyncSnapshot(ctx context.Context, dsObject *object.DataSource, mode string, snapName string, syncStatus chan model.Status, syncDone chan interface{}) (model.Stater, error)
FlatSyncSnapshot can read or write a snapshot of the index inside the storage
func (*Syncer) InitAndStart ¶
func (*Syncer) NotifyError ¶
func (*Syncer) StartConfigsOnly ¶
func (s *Syncer) StartConfigsOnly()
func (*Syncer) StopConfigsOnly ¶
func (s *Syncer) StopConfigsOnly()