Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitaly.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPatrick Steinhardt <psteinhardt@gitlab.com>2023-04-27 07:15:56 +0300
committerPatrick Steinhardt <psteinhardt@gitlab.com>2023-04-27 07:17:40 +0300
commit8cede3b61497d141c29f2e06d3beaad0be30bd47 (patch)
tree6535daa878054bdae077c1e63e2ea1eaae51e8c7
parent3da9f535e6e0c9194e2201ef389171c84ab8c0dc (diff)
proto: Remove deprecated ReduplicateRepository RPC
The ReduplicateRepository RPC reduplicates all objects borrowed from an alternate repository so that it can be removed from object pools. This mechanism is unsafe though as there is a race between reduplicating the objects and concurrent writes to the repository. We have thus deprecated the RPC a while ago for removal in Gitaly 16.0. Callers are instead asked to use DisconnectGitAlternates, which both makes sure to reduplicate all objects and remove the alternates file in a single step. So given that downstream callers have migrated to the new RPC, let's follow our own deprecation notice and remove the RPC. Changelog: removed
-rw-r--r--internal/gitaly/service/objectpool/reduplicate.go33
-rw-r--r--internal/gitaly/service/objectpool/reduplicate_test.go82
-rw-r--r--internal/praefect/coordinator.go1
-rw-r--r--internal/praefect/protoregistry/protoregistry_test.go1
-rw-r--r--proto/go/gitalypb/objectpool.pb.go392
-rw-r--r--proto/go/gitalypb/objectpool_grpc.pb.go51
-rw-r--r--proto/objectpool.proto23
7 files changed, 130 insertions, 453 deletions
diff --git a/internal/gitaly/service/objectpool/reduplicate.go b/internal/gitaly/service/objectpool/reduplicate.go
deleted file mode 100644
index 1ee3d78fe..000000000
--- a/internal/gitaly/service/objectpool/reduplicate.go
+++ /dev/null
@@ -1,33 +0,0 @@
-package objectpool
-
-import (
- "context"
-
- "gitlab.com/gitlab-org/gitaly/v15/internal/git"
- "gitlab.com/gitlab-org/gitaly/v15/internal/gitaly/service"
- "gitlab.com/gitlab-org/gitaly/v15/internal/structerr"
- "gitlab.com/gitlab-org/gitaly/v15/proto/go/gitalypb"
-)
-
-func (s *server) ReduplicateRepository(ctx context.Context, req *gitalypb.ReduplicateRepositoryRequest) (*gitalypb.ReduplicateRepositoryResponse, error) {
- repository := req.GetRepository()
- if err := service.ValidateRepository(repository); err != nil {
- return nil, structerr.NewInvalidArgument("%w", err)
- }
-
- cmd, err := s.gitCmdFactory.New(ctx, repository, git.Command{
- Name: "repack",
- Flags: []git.Option{
- git.Flag{Name: "--quiet"},
- git.Flag{Name: "-a"},
- },
- })
- if err != nil {
- return nil, err
- }
- if err := cmd.Wait(); err != nil {
- return nil, err
- }
-
- return &gitalypb.ReduplicateRepositoryResponse{}, nil
-}
diff --git a/internal/gitaly/service/objectpool/reduplicate_test.go b/internal/gitaly/service/objectpool/reduplicate_test.go
deleted file mode 100644
index 6e8df8dd5..000000000
--- a/internal/gitaly/service/objectpool/reduplicate_test.go
+++ /dev/null
@@ -1,82 +0,0 @@
-package objectpool
-
-import (
- "os"
- "path/filepath"
- "testing"
-
- "github.com/stretchr/testify/require"
- "gitlab.com/gitlab-org/gitaly/v15/internal/git/gittest"
- "gitlab.com/gitlab-org/gitaly/v15/internal/git/localrepo"
- "gitlab.com/gitlab-org/gitaly/v15/internal/git/stats"
- "gitlab.com/gitlab-org/gitaly/v15/internal/testhelper"
- "gitlab.com/gitlab-org/gitaly/v15/proto/go/gitalypb"
-)
-
-func TestReduplicate(t *testing.T) {
- t.Parallel()
-
- ctx := testhelper.Context(t)
- cfg, repoProto, repoPath, _, client := setup(t, ctx)
-
- repo := localrepo.NewTestRepo(t, cfg, repoProto)
- fullRepackTimestamp, err := stats.FullRepackTimestamp(repoPath)
- require.NoError(t, err)
-
- commitID := gittest.WriteCommit(t, cfg, repoPath, gittest.WithBranch("main"))
-
- // Create the object pool and repack it. This is required for our test setup as Git won't
- // deduplicate objects in the pool member when they're not in a packfile in the object pool.
- _, pool, poolPath := createObjectPool(t, ctx, cfg, client, repoProto)
- gittest.Exec(t, cfg, "-C", poolPath, "repack", "-Ad")
-
- // Link the repository to the pool and garbage collect it to get rid of the duplicate
- // objects.
- require.NoError(t, pool.Link(ctx, repo))
- gittest.Exec(t, cfg, "-C", repoPath, "-c", "commitGraph.generationVersion=2", "gc")
- packedRefsStat, err := os.Stat(filepath.Join(repoPath, "packed-refs"))
- require.NoError(t, err)
-
- // Verify that the pool member has no objects on its own anymore.
- repoInfo, err := stats.RepositoryInfoForRepository(repo)
- require.NoError(t, err)
- require.Equal(t, stats.RepositoryInfo{
- Packfiles: stats.PackfilesInfo{
- LastFullRepack: fullRepackTimestamp,
- },
- References: stats.ReferencesInfo{
- PackedReferencesSize: uint64(packedRefsStat.Size()),
- },
- CommitGraph: stats.CommitGraphInfo{
- Exists: true,
- HasGenerationData: true,
- },
- Alternates: []string{filepath.Join(poolPath, "objects")},
- }, repoInfo)
-
- // git-repack(1) generates these files. Manually remove them so that we can assert further
- // down that repository reduplication doesn't regenerate those paths.
- require.NoError(t, os.Remove(filepath.Join(repoPath, "info", "refs")))
- require.NoError(t, os.Remove(filepath.Join(repoPath, "objects", "info", "packs")))
-
- // Unlink the pool member and verify that we indeed can't find the commit anymore as a
- // sanity check.
- altPath, err := repo.InfoAlternatesPath()
- require.NoError(t, err)
- require.NoError(t, os.Remove(altPath))
- gittest.RequireObjectNotExists(t, cfg, repoPath, commitID)
-
- // Re-link the repository to the pool and reduplicate the objects. This should cause us to
- // pull all objects into the repository again.
- require.NoError(t, pool.Link(ctx, repo))
- //nolint:staticcheck
- _, err = client.ReduplicateRepository(ctx, &gitalypb.ReduplicateRepositoryRequest{Repository: repoProto})
- require.NoError(t, err)
-
- // So consequentially, if we unlink now we should be able to still find the commit.
- require.NoError(t, os.Remove(altPath))
- gittest.RequireObjectExists(t, cfg, repoPath, commitID)
-
- require.NoFileExists(t, filepath.Join(repoPath, "info", "refs"))
- require.NoFileExists(t, filepath.Join(repoPath, "objects", "info", "packs"))
-}
diff --git a/internal/praefect/coordinator.go b/internal/praefect/coordinator.go
index 44f21e82b..5b88eaf87 100644
--- a/internal/praefect/coordinator.go
+++ b/internal/praefect/coordinator.go
@@ -89,7 +89,6 @@ var transactionRPCs = map[string]transactionsCondition{
"/gitaly.ObjectPoolService/DeleteObjectPool": transactionsDisabled,
"/gitaly.ObjectPoolService/DisconnectGitAlternates": transactionsDisabled,
"/gitaly.ObjectPoolService/LinkRepositoryToObjectPool": transactionsDisabled,
- "/gitaly.ObjectPoolService/ReduplicateRepository": transactionsDisabled,
"/gitaly.RepositoryService/RenameRepository": transactionsDisabled,
}
diff --git a/internal/praefect/protoregistry/protoregistry_test.go b/internal/praefect/protoregistry/protoregistry_test.go
index a7cfd07e0..9ae0380c3 100644
--- a/internal/praefect/protoregistry/protoregistry_test.go
+++ b/internal/praefect/protoregistry/protoregistry_test.go
@@ -63,7 +63,6 @@ func TestNewProtoRegistry(t *testing.T) {
"DeleteObjectPool": protoregistry.OpMutator,
"DisconnectGitAlternates": protoregistry.OpMutator,
"LinkRepositoryToObjectPool": protoregistry.OpMutator,
- "ReduplicateRepository": protoregistry.OpMutator,
},
"OperationService": {
"UserApplyPatch": protoregistry.OpMutator,
diff --git a/proto/go/gitalypb/objectpool.pb.go b/proto/go/gitalypb/objectpool.pb.go
index a027a964f..19fc14393 100644
--- a/proto/go/gitalypb/objectpool.pb.go
+++ b/proto/go/gitalypb/objectpool.pb.go
@@ -303,94 +303,6 @@ func (*LinkRepositoryToObjectPoolResponse) Descriptor() ([]byte, []int) {
return file_objectpool_proto_rawDescGZIP(), []int{5}
}
-// ReduplicateRepositoryRequest is a request for the ReduplicateRepository RPC.
-type ReduplicateRepositoryRequest struct {
- state protoimpl.MessageState
- sizeCache protoimpl.SizeCache
- unknownFields protoimpl.UnknownFields
-
- // Repository is the repository whose objects shall be reduplicated.
- Repository *Repository `protobuf:"bytes,1,opt,name=repository,proto3" json:"repository,omitempty"`
-}
-
-func (x *ReduplicateRepositoryRequest) Reset() {
- *x = ReduplicateRepositoryRequest{}
- if protoimpl.UnsafeEnabled {
- mi := &file_objectpool_proto_msgTypes[6]
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- ms.StoreMessageInfo(mi)
- }
-}
-
-func (x *ReduplicateRepositoryRequest) String() string {
- return protoimpl.X.MessageStringOf(x)
-}
-
-func (*ReduplicateRepositoryRequest) ProtoMessage() {}
-
-func (x *ReduplicateRepositoryRequest) ProtoReflect() protoreflect.Message {
- mi := &file_objectpool_proto_msgTypes[6]
- if protoimpl.UnsafeEnabled && x != nil {
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- if ms.LoadMessageInfo() == nil {
- ms.StoreMessageInfo(mi)
- }
- return ms
- }
- return mi.MessageOf(x)
-}
-
-// Deprecated: Use ReduplicateRepositoryRequest.ProtoReflect.Descriptor instead.
-func (*ReduplicateRepositoryRequest) Descriptor() ([]byte, []int) {
- return file_objectpool_proto_rawDescGZIP(), []int{6}
-}
-
-func (x *ReduplicateRepositoryRequest) GetRepository() *Repository {
- if x != nil {
- return x.Repository
- }
- return nil
-}
-
-// ReduplicateRepositoryResponse is a response for the ReduplicateRepository RPC.
-type ReduplicateRepositoryResponse struct {
- state protoimpl.MessageState
- sizeCache protoimpl.SizeCache
- unknownFields protoimpl.UnknownFields
-}
-
-func (x *ReduplicateRepositoryResponse) Reset() {
- *x = ReduplicateRepositoryResponse{}
- if protoimpl.UnsafeEnabled {
- mi := &file_objectpool_proto_msgTypes[7]
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- ms.StoreMessageInfo(mi)
- }
-}
-
-func (x *ReduplicateRepositoryResponse) String() string {
- return protoimpl.X.MessageStringOf(x)
-}
-
-func (*ReduplicateRepositoryResponse) ProtoMessage() {}
-
-func (x *ReduplicateRepositoryResponse) ProtoReflect() protoreflect.Message {
- mi := &file_objectpool_proto_msgTypes[7]
- if protoimpl.UnsafeEnabled && x != nil {
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- if ms.LoadMessageInfo() == nil {
- ms.StoreMessageInfo(mi)
- }
- return ms
- }
- return mi.MessageOf(x)
-}
-
-// Deprecated: Use ReduplicateRepositoryResponse.ProtoReflect.Descriptor instead.
-func (*ReduplicateRepositoryResponse) Descriptor() ([]byte, []int) {
- return file_objectpool_proto_rawDescGZIP(), []int{7}
-}
-
// DisconnectGitAlternatesRequest is a request for the DisconnectGitAlternates RPC.
type DisconnectGitAlternatesRequest struct {
state protoimpl.MessageState
@@ -404,7 +316,7 @@ type DisconnectGitAlternatesRequest struct {
func (x *DisconnectGitAlternatesRequest) Reset() {
*x = DisconnectGitAlternatesRequest{}
if protoimpl.UnsafeEnabled {
- mi := &file_objectpool_proto_msgTypes[8]
+ mi := &file_objectpool_proto_msgTypes[6]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -417,7 +329,7 @@ func (x *DisconnectGitAlternatesRequest) String() string {
func (*DisconnectGitAlternatesRequest) ProtoMessage() {}
func (x *DisconnectGitAlternatesRequest) ProtoReflect() protoreflect.Message {
- mi := &file_objectpool_proto_msgTypes[8]
+ mi := &file_objectpool_proto_msgTypes[6]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -430,7 +342,7 @@ func (x *DisconnectGitAlternatesRequest) ProtoReflect() protoreflect.Message {
// Deprecated: Use DisconnectGitAlternatesRequest.ProtoReflect.Descriptor instead.
func (*DisconnectGitAlternatesRequest) Descriptor() ([]byte, []int) {
- return file_objectpool_proto_rawDescGZIP(), []int{8}
+ return file_objectpool_proto_rawDescGZIP(), []int{6}
}
func (x *DisconnectGitAlternatesRequest) GetRepository() *Repository {
@@ -450,7 +362,7 @@ type DisconnectGitAlternatesResponse struct {
func (x *DisconnectGitAlternatesResponse) Reset() {
*x = DisconnectGitAlternatesResponse{}
if protoimpl.UnsafeEnabled {
- mi := &file_objectpool_proto_msgTypes[9]
+ mi := &file_objectpool_proto_msgTypes[7]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -463,7 +375,7 @@ func (x *DisconnectGitAlternatesResponse) String() string {
func (*DisconnectGitAlternatesResponse) ProtoMessage() {}
func (x *DisconnectGitAlternatesResponse) ProtoReflect() protoreflect.Message {
- mi := &file_objectpool_proto_msgTypes[9]
+ mi := &file_objectpool_proto_msgTypes[7]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -476,7 +388,7 @@ func (x *DisconnectGitAlternatesResponse) ProtoReflect() protoreflect.Message {
// Deprecated: Use DisconnectGitAlternatesResponse.ProtoReflect.Descriptor instead.
func (*DisconnectGitAlternatesResponse) Descriptor() ([]byte, []int) {
- return file_objectpool_proto_rawDescGZIP(), []int{9}
+ return file_objectpool_proto_rawDescGZIP(), []int{7}
}
// FetchIntoObjectPoolRequest is a request for the FetchIntoObjectPool RPC.
@@ -494,7 +406,7 @@ type FetchIntoObjectPoolRequest struct {
func (x *FetchIntoObjectPoolRequest) Reset() {
*x = FetchIntoObjectPoolRequest{}
if protoimpl.UnsafeEnabled {
- mi := &file_objectpool_proto_msgTypes[10]
+ mi := &file_objectpool_proto_msgTypes[8]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -507,7 +419,7 @@ func (x *FetchIntoObjectPoolRequest) String() string {
func (*FetchIntoObjectPoolRequest) ProtoMessage() {}
func (x *FetchIntoObjectPoolRequest) ProtoReflect() protoreflect.Message {
- mi := &file_objectpool_proto_msgTypes[10]
+ mi := &file_objectpool_proto_msgTypes[8]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -520,7 +432,7 @@ func (x *FetchIntoObjectPoolRequest) ProtoReflect() protoreflect.Message {
// Deprecated: Use FetchIntoObjectPoolRequest.ProtoReflect.Descriptor instead.
func (*FetchIntoObjectPoolRequest) Descriptor() ([]byte, []int) {
- return file_objectpool_proto_rawDescGZIP(), []int{10}
+ return file_objectpool_proto_rawDescGZIP(), []int{8}
}
func (x *FetchIntoObjectPoolRequest) GetOrigin() *Repository {
@@ -547,7 +459,7 @@ type FetchIntoObjectPoolResponse struct {
func (x *FetchIntoObjectPoolResponse) Reset() {
*x = FetchIntoObjectPoolResponse{}
if protoimpl.UnsafeEnabled {
- mi := &file_objectpool_proto_msgTypes[11]
+ mi := &file_objectpool_proto_msgTypes[9]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -560,7 +472,7 @@ func (x *FetchIntoObjectPoolResponse) String() string {
func (*FetchIntoObjectPoolResponse) ProtoMessage() {}
func (x *FetchIntoObjectPoolResponse) ProtoReflect() protoreflect.Message {
- mi := &file_objectpool_proto_msgTypes[11]
+ mi := &file_objectpool_proto_msgTypes[9]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -573,7 +485,7 @@ func (x *FetchIntoObjectPoolResponse) ProtoReflect() protoreflect.Message {
// Deprecated: Use FetchIntoObjectPoolResponse.ProtoReflect.Descriptor instead.
func (*FetchIntoObjectPoolResponse) Descriptor() ([]byte, []int) {
- return file_objectpool_proto_rawDescGZIP(), []int{11}
+ return file_objectpool_proto_rawDescGZIP(), []int{9}
}
// GetObjectPoolRequest is a request for the GetObjectPool RPC.
@@ -589,7 +501,7 @@ type GetObjectPoolRequest struct {
func (x *GetObjectPoolRequest) Reset() {
*x = GetObjectPoolRequest{}
if protoimpl.UnsafeEnabled {
- mi := &file_objectpool_proto_msgTypes[12]
+ mi := &file_objectpool_proto_msgTypes[10]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -602,7 +514,7 @@ func (x *GetObjectPoolRequest) String() string {
func (*GetObjectPoolRequest) ProtoMessage() {}
func (x *GetObjectPoolRequest) ProtoReflect() protoreflect.Message {
- mi := &file_objectpool_proto_msgTypes[12]
+ mi := &file_objectpool_proto_msgTypes[10]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -615,7 +527,7 @@ func (x *GetObjectPoolRequest) ProtoReflect() protoreflect.Message {
// Deprecated: Use GetObjectPoolRequest.ProtoReflect.Descriptor instead.
func (*GetObjectPoolRequest) Descriptor() ([]byte, []int) {
- return file_objectpool_proto_rawDescGZIP(), []int{12}
+ return file_objectpool_proto_rawDescGZIP(), []int{10}
}
func (x *GetObjectPoolRequest) GetRepository() *Repository {
@@ -639,7 +551,7 @@ type GetObjectPoolResponse struct {
func (x *GetObjectPoolResponse) Reset() {
*x = GetObjectPoolResponse{}
if protoimpl.UnsafeEnabled {
- mi := &file_objectpool_proto_msgTypes[13]
+ mi := &file_objectpool_proto_msgTypes[11]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -652,7 +564,7 @@ func (x *GetObjectPoolResponse) String() string {
func (*GetObjectPoolResponse) ProtoMessage() {}
func (x *GetObjectPoolResponse) ProtoReflect() protoreflect.Message {
- mi := &file_objectpool_proto_msgTypes[13]
+ mi := &file_objectpool_proto_msgTypes[11]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -665,7 +577,7 @@ func (x *GetObjectPoolResponse) ProtoReflect() protoreflect.Message {
// Deprecated: Use GetObjectPoolResponse.ProtoReflect.Descriptor instead.
func (*GetObjectPoolResponse) Descriptor() ([]byte, []int) {
- return file_objectpool_proto_rawDescGZIP(), []int{13}
+ return file_objectpool_proto_rawDescGZIP(), []int{11}
}
func (x *GetObjectPoolResponse) GetObjectPool() *ObjectPool {
@@ -710,96 +622,81 @@ var file_objectpool_proto_rawDesc = []byte{
0x74, 0x6f, 0x72, 0x79, 0x42, 0x04, 0x98, 0xc6, 0x2c, 0x01, 0x52, 0x0a, 0x72, 0x65, 0x70, 0x6f,
0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x22, 0x24, 0x0a, 0x22, 0x4c, 0x69, 0x6e, 0x6b, 0x52, 0x65,
0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x54, 0x6f, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74,
- 0x50, 0x6f, 0x6f, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x58, 0x0a, 0x1c,
- 0x52, 0x65, 0x64, 0x75, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x73,
- 0x69, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x38, 0x0a, 0x0a,
+ 0x50, 0x6f, 0x6f, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x5a, 0x0a, 0x1e,
+ 0x44, 0x69, 0x73, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x47, 0x69, 0x74, 0x41, 0x6c, 0x74,
+ 0x65, 0x72, 0x6e, 0x61, 0x74, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x38,
+ 0x0a, 0x0a, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01,
+ 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x52, 0x65, 0x70, 0x6f,
+ 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x42, 0x04, 0x98, 0xc6, 0x2c, 0x01, 0x52, 0x0a, 0x72, 0x65,
+ 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x22, 0x21, 0x0a, 0x1f, 0x44, 0x69, 0x73, 0x63,
+ 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x47, 0x69, 0x74, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x6e, 0x61,
+ 0x74, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x97, 0x01, 0x0a, 0x1a,
+ 0x46, 0x65, 0x74, 0x63, 0x68, 0x49, 0x6e, 0x74, 0x6f, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x50,
+ 0x6f, 0x6f, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x30, 0x0a, 0x06, 0x6f, 0x72,
+ 0x69, 0x67, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x69, 0x74,
+ 0x61, 0x6c, 0x79, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x42, 0x04,
+ 0xa0, 0xc6, 0x2c, 0x01, 0x52, 0x06, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x12, 0x39, 0x0a, 0x0b,
+ 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x70, 0x6f, 0x6f, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28,
+ 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63,
+ 0x74, 0x50, 0x6f, 0x6f, 0x6c, 0x42, 0x04, 0x98, 0xc6, 0x2c, 0x01, 0x52, 0x0a, 0x6f, 0x62, 0x6a,
+ 0x65, 0x63, 0x74, 0x50, 0x6f, 0x6f, 0x6c, 0x4a, 0x04, 0x08, 0x03, 0x10, 0x04, 0x52, 0x06, 0x72,
+ 0x65, 0x70, 0x61, 0x63, 0x6b, 0x22, 0x1d, 0x0a, 0x1b, 0x46, 0x65, 0x74, 0x63, 0x68, 0x49, 0x6e,
+ 0x74, 0x6f, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x50, 0x6f, 0x6f, 0x6c, 0x52, 0x65, 0x73, 0x70,
+ 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x50, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x4f, 0x62, 0x6a, 0x65, 0x63,
+ 0x74, 0x50, 0x6f, 0x6f, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x38, 0x0a, 0x0a,
0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b,
0x32, 0x12, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69,
0x74, 0x6f, 0x72, 0x79, 0x42, 0x04, 0x98, 0xc6, 0x2c, 0x01, 0x52, 0x0a, 0x72, 0x65, 0x70, 0x6f,
- 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x22, 0x1f, 0x0a, 0x1d, 0x52, 0x65, 0x64, 0x75, 0x70, 0x6c,
- 0x69, 0x63, 0x61, 0x74, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x52,
- 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x5a, 0x0a, 0x1e, 0x44, 0x69, 0x73, 0x63, 0x6f,
- 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x47, 0x69, 0x74, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x74,
- 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x38, 0x0a, 0x0a, 0x72, 0x65, 0x70,
- 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e,
- 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72,
- 0x79, 0x42, 0x04, 0x98, 0xc6, 0x2c, 0x01, 0x52, 0x0a, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74,
- 0x6f, 0x72, 0x79, 0x22, 0x21, 0x0a, 0x1f, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63,
- 0x74, 0x47, 0x69, 0x74, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x74, 0x65, 0x73, 0x52, 0x65,
- 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x97, 0x01, 0x0a, 0x1a, 0x46, 0x65, 0x74, 0x63, 0x68,
- 0x49, 0x6e, 0x74, 0x6f, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x50, 0x6f, 0x6f, 0x6c, 0x52, 0x65,
- 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x30, 0x0a, 0x06, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x18,
- 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x52,
- 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x42, 0x04, 0xa0, 0xc6, 0x2c, 0x01, 0x52,
- 0x06, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x12, 0x39, 0x0a, 0x0b, 0x6f, 0x62, 0x6a, 0x65, 0x63,
- 0x74, 0x5f, 0x70, 0x6f, 0x6f, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67,
- 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x50, 0x6f, 0x6f, 0x6c,
- 0x42, 0x04, 0x98, 0xc6, 0x2c, 0x01, 0x52, 0x0a, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x50, 0x6f,
- 0x6f, 0x6c, 0x4a, 0x04, 0x08, 0x03, 0x10, 0x04, 0x52, 0x06, 0x72, 0x65, 0x70, 0x61, 0x63, 0x6b,
- 0x22, 0x1d, 0x0a, 0x1b, 0x46, 0x65, 0x74, 0x63, 0x68, 0x49, 0x6e, 0x74, 0x6f, 0x4f, 0x62, 0x6a,
- 0x65, 0x63, 0x74, 0x50, 0x6f, 0x6f, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22,
- 0x50, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x50, 0x6f, 0x6f, 0x6c,
- 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x38, 0x0a, 0x0a, 0x72, 0x65, 0x70, 0x6f, 0x73,
- 0x69, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x69,
- 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x42,
- 0x04, 0x98, 0xc6, 0x2c, 0x01, 0x52, 0x0a, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72,
- 0x79, 0x22, 0x4c, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x50, 0x6f,
- 0x6f, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x33, 0x0a, 0x0b, 0x6f, 0x62,
- 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x70, 0x6f, 0x6f, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32,
- 0x12, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x50,
- 0x6f, 0x6f, 0x6c, 0x52, 0x0a, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x50, 0x6f, 0x6f, 0x6c, 0x32,
- 0xf1, 0x05, 0x0a, 0x11, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x50, 0x6f, 0x6f, 0x6c, 0x53, 0x65,
- 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x5d, 0x0a, 0x10, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4f,
- 0x62, 0x6a, 0x65, 0x63, 0x74, 0x50, 0x6f, 0x6f, 0x6c, 0x12, 0x1f, 0x2e, 0x67, 0x69, 0x74, 0x61,
- 0x6c, 0x79, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x50,
- 0x6f, 0x6f, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x67, 0x69, 0x74,
- 0x61, 0x6c, 0x79, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74,
- 0x50, 0x6f, 0x6f, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0xfa, 0x97,
- 0x28, 0x02, 0x08, 0x01, 0x12, 0x5d, 0x0a, 0x10, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4f, 0x62,
- 0x6a, 0x65, 0x63, 0x74, 0x50, 0x6f, 0x6f, 0x6c, 0x12, 0x1f, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c,
- 0x79, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x50, 0x6f,
- 0x6f, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x67, 0x69, 0x74, 0x61,
- 0x6c, 0x79, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x50,
- 0x6f, 0x6f, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0xfa, 0x97, 0x28,
- 0x02, 0x08, 0x01, 0x12, 0x7b, 0x0a, 0x1a, 0x4c, 0x69, 0x6e, 0x6b, 0x52, 0x65, 0x70, 0x6f, 0x73,
- 0x69, 0x74, 0x6f, 0x72, 0x79, 0x54, 0x6f, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x50, 0x6f, 0x6f,
- 0x6c, 0x12, 0x29, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x4c, 0x69, 0x6e, 0x6b, 0x52,
+ 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x22, 0x4c, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x4f, 0x62, 0x6a,
+ 0x65, 0x63, 0x74, 0x50, 0x6f, 0x6f, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12,
+ 0x33, 0x0a, 0x0b, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x70, 0x6f, 0x6f, 0x6c, 0x18, 0x01,
+ 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x4f, 0x62,
+ 0x6a, 0x65, 0x63, 0x74, 0x50, 0x6f, 0x6f, 0x6c, 0x52, 0x0a, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74,
+ 0x50, 0x6f, 0x6f, 0x6c, 0x32, 0x80, 0x05, 0x0a, 0x11, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x50,
+ 0x6f, 0x6f, 0x6c, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x5d, 0x0a, 0x10, 0x43, 0x72,
+ 0x65, 0x61, 0x74, 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x50, 0x6f, 0x6f, 0x6c, 0x12, 0x1f,
+ 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4f, 0x62,
+ 0x6a, 0x65, 0x63, 0x74, 0x50, 0x6f, 0x6f, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
+ 0x20, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4f,
+ 0x62, 0x6a, 0x65, 0x63, 0x74, 0x50, 0x6f, 0x6f, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
+ 0x65, 0x22, 0x06, 0xfa, 0x97, 0x28, 0x02, 0x08, 0x01, 0x12, 0x5d, 0x0a, 0x10, 0x44, 0x65, 0x6c,
+ 0x65, 0x74, 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x50, 0x6f, 0x6f, 0x6c, 0x12, 0x1f, 0x2e,
+ 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4f, 0x62, 0x6a,
+ 0x65, 0x63, 0x74, 0x50, 0x6f, 0x6f, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20,
+ 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4f, 0x62,
+ 0x6a, 0x65, 0x63, 0x74, 0x50, 0x6f, 0x6f, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
+ 0x22, 0x06, 0xfa, 0x97, 0x28, 0x02, 0x08, 0x01, 0x12, 0x7b, 0x0a, 0x1a, 0x4c, 0x69, 0x6e, 0x6b,
+ 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x54, 0x6f, 0x4f, 0x62, 0x6a, 0x65,
+ 0x63, 0x74, 0x50, 0x6f, 0x6f, 0x6c, 0x12, 0x29, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e,
+ 0x4c, 0x69, 0x6e, 0x6b, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x54, 0x6f,
+ 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x50, 0x6f, 0x6f, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
+ 0x74, 0x1a, 0x2a, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x4c, 0x69, 0x6e, 0x6b, 0x52,
0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x54, 0x6f, 0x4f, 0x62, 0x6a, 0x65, 0x63,
- 0x74, 0x50, 0x6f, 0x6f, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x67,
- 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x4c, 0x69, 0x6e, 0x6b, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69,
- 0x74, 0x6f, 0x72, 0x79, 0x54, 0x6f, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x50, 0x6f, 0x6f, 0x6c,
- 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0xfa, 0x97, 0x28, 0x02, 0x08, 0x01,
- 0x12, 0x6f, 0x0a, 0x15, 0x52, 0x65, 0x64, 0x75, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x65, 0x52,
- 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x24, 0x2e, 0x67, 0x69, 0x74, 0x61,
- 0x6c, 0x79, 0x2e, 0x52, 0x65, 0x64, 0x75, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x65, 0x52, 0x65,
- 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
- 0x25, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x52, 0x65, 0x64, 0x75, 0x70, 0x6c, 0x69,
- 0x63, 0x61, 0x74, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65,
- 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x09, 0xfa, 0x97, 0x28, 0x02, 0x08, 0x01, 0x88, 0x02,
- 0x01, 0x12, 0x72, 0x0a, 0x17, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x47,
- 0x69, 0x74, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x74, 0x65, 0x73, 0x12, 0x26, 0x2e, 0x67,
- 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74,
- 0x47, 0x69, 0x74, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x74, 0x65, 0x73, 0x52, 0x65, 0x71,
- 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x44, 0x69,
- 0x73, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x47, 0x69, 0x74, 0x41, 0x6c, 0x74, 0x65, 0x72,
- 0x6e, 0x61, 0x74, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0xfa,
- 0x97, 0x28, 0x02, 0x08, 0x01, 0x12, 0x66, 0x0a, 0x13, 0x46, 0x65, 0x74, 0x63, 0x68, 0x49, 0x6e,
- 0x74, 0x6f, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x50, 0x6f, 0x6f, 0x6c, 0x12, 0x22, 0x2e, 0x67,
- 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x46, 0x65, 0x74, 0x63, 0x68, 0x49, 0x6e, 0x74, 0x6f, 0x4f,
+ 0x74, 0x50, 0x6f, 0x6f, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0xfa,
+ 0x97, 0x28, 0x02, 0x08, 0x01, 0x12, 0x72, 0x0a, 0x17, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x6e, 0x6e,
+ 0x65, 0x63, 0x74, 0x47, 0x69, 0x74, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x74, 0x65, 0x73,
+ 0x12, 0x26, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x6e,
+ 0x6e, 0x65, 0x63, 0x74, 0x47, 0x69, 0x74, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x74, 0x65,
+ 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c,
+ 0x79, 0x2e, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x47, 0x69, 0x74, 0x41,
+ 0x6c, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x74, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
+ 0x65, 0x22, 0x06, 0xfa, 0x97, 0x28, 0x02, 0x08, 0x01, 0x12, 0x66, 0x0a, 0x13, 0x46, 0x65, 0x74,
+ 0x63, 0x68, 0x49, 0x6e, 0x74, 0x6f, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x50, 0x6f, 0x6f, 0x6c,
+ 0x12, 0x22, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x46, 0x65, 0x74, 0x63, 0x68, 0x49,
+ 0x6e, 0x74, 0x6f, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x50, 0x6f, 0x6f, 0x6c, 0x52, 0x65, 0x71,
+ 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x46, 0x65,
+ 0x74, 0x63, 0x68, 0x49, 0x6e, 0x74, 0x6f, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x50, 0x6f, 0x6f,
+ 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0xfa, 0x97, 0x28, 0x02, 0x08,
+ 0x01, 0x12, 0x54, 0x0a, 0x0d, 0x47, 0x65, 0x74, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x50, 0x6f,
+ 0x6f, 0x6c, 0x12, 0x1c, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x47, 0x65, 0x74, 0x4f,
0x62, 0x6a, 0x65, 0x63, 0x74, 0x50, 0x6f, 0x6f, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
- 0x1a, 0x23, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x46, 0x65, 0x74, 0x63, 0x68, 0x49,
- 0x6e, 0x74, 0x6f, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x50, 0x6f, 0x6f, 0x6c, 0x52, 0x65, 0x73,
- 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0xfa, 0x97, 0x28, 0x02, 0x08, 0x01, 0x12, 0x54, 0x0a,
- 0x0d, 0x47, 0x65, 0x74, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x50, 0x6f, 0x6f, 0x6c, 0x12, 0x1c,
- 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x47, 0x65, 0x74, 0x4f, 0x62, 0x6a, 0x65, 0x63,
- 0x74, 0x50, 0x6f, 0x6f, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67,
- 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x47, 0x65, 0x74, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x50,
- 0x6f, 0x6f, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0xfa, 0x97, 0x28,
- 0x02, 0x08, 0x02, 0x42, 0x34, 0x5a, 0x32, 0x67, 0x69, 0x74, 0x6c, 0x61, 0x62, 0x2e, 0x63, 0x6f,
- 0x6d, 0x2f, 0x67, 0x69, 0x74, 0x6c, 0x61, 0x62, 0x2d, 0x6f, 0x72, 0x67, 0x2f, 0x67, 0x69, 0x74,
- 0x61, 0x6c, 0x79, 0x2f, 0x76, 0x31, 0x35, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f,
- 0x2f, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
- 0x33,
+ 0x1a, 0x1d, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x47, 0x65, 0x74, 0x4f, 0x62, 0x6a,
+ 0x65, 0x63, 0x74, 0x50, 0x6f, 0x6f, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22,
+ 0x06, 0xfa, 0x97, 0x28, 0x02, 0x08, 0x02, 0x42, 0x34, 0x5a, 0x32, 0x67, 0x69, 0x74, 0x6c, 0x61,
+ 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x69, 0x74, 0x6c, 0x61, 0x62, 0x2d, 0x6f, 0x72, 0x67,
+ 0x2f, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2f, 0x76, 0x31, 0x35, 0x2f, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x2f, 0x67, 0x6f, 0x2f, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x70, 0x62, 0x62, 0x06, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x33,
}
var (
@@ -814,7 +711,7 @@ func file_objectpool_proto_rawDescGZIP() []byte {
return file_objectpool_proto_rawDescData
}
-var file_objectpool_proto_msgTypes = make([]protoimpl.MessageInfo, 14)
+var file_objectpool_proto_msgTypes = make([]protoimpl.MessageInfo, 12)
var file_objectpool_proto_goTypes = []interface{}{
(*CreateObjectPoolRequest)(nil), // 0: gitaly.CreateObjectPoolRequest
(*CreateObjectPoolResponse)(nil), // 1: gitaly.CreateObjectPoolResponse
@@ -822,48 +719,43 @@ var file_objectpool_proto_goTypes = []interface{}{
(*DeleteObjectPoolResponse)(nil), // 3: gitaly.DeleteObjectPoolResponse
(*LinkRepositoryToObjectPoolRequest)(nil), // 4: gitaly.LinkRepositoryToObjectPoolRequest
(*LinkRepositoryToObjectPoolResponse)(nil), // 5: gitaly.LinkRepositoryToObjectPoolResponse
- (*ReduplicateRepositoryRequest)(nil), // 6: gitaly.ReduplicateRepositoryRequest
- (*ReduplicateRepositoryResponse)(nil), // 7: gitaly.ReduplicateRepositoryResponse
- (*DisconnectGitAlternatesRequest)(nil), // 8: gitaly.DisconnectGitAlternatesRequest
- (*DisconnectGitAlternatesResponse)(nil), // 9: gitaly.DisconnectGitAlternatesResponse
- (*FetchIntoObjectPoolRequest)(nil), // 10: gitaly.FetchIntoObjectPoolRequest
- (*FetchIntoObjectPoolResponse)(nil), // 11: gitaly.FetchIntoObjectPoolResponse
- (*GetObjectPoolRequest)(nil), // 12: gitaly.GetObjectPoolRequest
- (*GetObjectPoolResponse)(nil), // 13: gitaly.GetObjectPoolResponse
- (*ObjectPool)(nil), // 14: gitaly.ObjectPool
- (*Repository)(nil), // 15: gitaly.Repository
+ (*DisconnectGitAlternatesRequest)(nil), // 6: gitaly.DisconnectGitAlternatesRequest
+ (*DisconnectGitAlternatesResponse)(nil), // 7: gitaly.DisconnectGitAlternatesResponse
+ (*FetchIntoObjectPoolRequest)(nil), // 8: gitaly.FetchIntoObjectPoolRequest
+ (*FetchIntoObjectPoolResponse)(nil), // 9: gitaly.FetchIntoObjectPoolResponse
+ (*GetObjectPoolRequest)(nil), // 10: gitaly.GetObjectPoolRequest
+ (*GetObjectPoolResponse)(nil), // 11: gitaly.GetObjectPoolResponse
+ (*ObjectPool)(nil), // 12: gitaly.ObjectPool
+ (*Repository)(nil), // 13: gitaly.Repository
}
var file_objectpool_proto_depIdxs = []int32{
- 14, // 0: gitaly.CreateObjectPoolRequest.object_pool:type_name -> gitaly.ObjectPool
- 15, // 1: gitaly.CreateObjectPoolRequest.origin:type_name -> gitaly.Repository
- 14, // 2: gitaly.DeleteObjectPoolRequest.object_pool:type_name -> gitaly.ObjectPool
- 14, // 3: gitaly.LinkRepositoryToObjectPoolRequest.object_pool:type_name -> gitaly.ObjectPool
- 15, // 4: gitaly.LinkRepositoryToObjectPoolRequest.repository:type_name -> gitaly.Repository
- 15, // 5: gitaly.ReduplicateRepositoryRequest.repository:type_name -> gitaly.Repository
- 15, // 6: gitaly.DisconnectGitAlternatesRequest.repository:type_name -> gitaly.Repository
- 15, // 7: gitaly.FetchIntoObjectPoolRequest.origin:type_name -> gitaly.Repository
- 14, // 8: gitaly.FetchIntoObjectPoolRequest.object_pool:type_name -> gitaly.ObjectPool
- 15, // 9: gitaly.GetObjectPoolRequest.repository:type_name -> gitaly.Repository
- 14, // 10: gitaly.GetObjectPoolResponse.object_pool:type_name -> gitaly.ObjectPool
- 0, // 11: gitaly.ObjectPoolService.CreateObjectPool:input_type -> gitaly.CreateObjectPoolRequest
- 2, // 12: gitaly.ObjectPoolService.DeleteObjectPool:input_type -> gitaly.DeleteObjectPoolRequest
- 4, // 13: gitaly.ObjectPoolService.LinkRepositoryToObjectPool:input_type -> gitaly.LinkRepositoryToObjectPoolRequest
- 6, // 14: gitaly.ObjectPoolService.ReduplicateRepository:input_type -> gitaly.ReduplicateRepositoryRequest
- 8, // 15: gitaly.ObjectPoolService.DisconnectGitAlternates:input_type -> gitaly.DisconnectGitAlternatesRequest
- 10, // 16: gitaly.ObjectPoolService.FetchIntoObjectPool:input_type -> gitaly.FetchIntoObjectPoolRequest
- 12, // 17: gitaly.ObjectPoolService.GetObjectPool:input_type -> gitaly.GetObjectPoolRequest
- 1, // 18: gitaly.ObjectPoolService.CreateObjectPool:output_type -> gitaly.CreateObjectPoolResponse
- 3, // 19: gitaly.ObjectPoolService.DeleteObjectPool:output_type -> gitaly.DeleteObjectPoolResponse
- 5, // 20: gitaly.ObjectPoolService.LinkRepositoryToObjectPool:output_type -> gitaly.LinkRepositoryToObjectPoolResponse
- 7, // 21: gitaly.ObjectPoolService.ReduplicateRepository:output_type -> gitaly.ReduplicateRepositoryResponse
- 9, // 22: gitaly.ObjectPoolService.DisconnectGitAlternates:output_type -> gitaly.DisconnectGitAlternatesResponse
- 11, // 23: gitaly.ObjectPoolService.FetchIntoObjectPool:output_type -> gitaly.FetchIntoObjectPoolResponse
- 13, // 24: gitaly.ObjectPoolService.GetObjectPool:output_type -> gitaly.GetObjectPoolResponse
- 18, // [18:25] is the sub-list for method output_type
- 11, // [11:18] is the sub-list for method input_type
- 11, // [11:11] is the sub-list for extension type_name
- 11, // [11:11] is the sub-list for extension extendee
- 0, // [0:11] is the sub-list for field type_name
+ 12, // 0: gitaly.CreateObjectPoolRequest.object_pool:type_name -> gitaly.ObjectPool
+ 13, // 1: gitaly.CreateObjectPoolRequest.origin:type_name -> gitaly.Repository
+ 12, // 2: gitaly.DeleteObjectPoolRequest.object_pool:type_name -> gitaly.ObjectPool
+ 12, // 3: gitaly.LinkRepositoryToObjectPoolRequest.object_pool:type_name -> gitaly.ObjectPool
+ 13, // 4: gitaly.LinkRepositoryToObjectPoolRequest.repository:type_name -> gitaly.Repository
+ 13, // 5: gitaly.DisconnectGitAlternatesRequest.repository:type_name -> gitaly.Repository
+ 13, // 6: gitaly.FetchIntoObjectPoolRequest.origin:type_name -> gitaly.Repository
+ 12, // 7: gitaly.FetchIntoObjectPoolRequest.object_pool:type_name -> gitaly.ObjectPool
+ 13, // 8: gitaly.GetObjectPoolRequest.repository:type_name -> gitaly.Repository
+ 12, // 9: gitaly.GetObjectPoolResponse.object_pool:type_name -> gitaly.ObjectPool
+ 0, // 10: gitaly.ObjectPoolService.CreateObjectPool:input_type -> gitaly.CreateObjectPoolRequest
+ 2, // 11: gitaly.ObjectPoolService.DeleteObjectPool:input_type -> gitaly.DeleteObjectPoolRequest
+ 4, // 12: gitaly.ObjectPoolService.LinkRepositoryToObjectPool:input_type -> gitaly.LinkRepositoryToObjectPoolRequest
+ 6, // 13: gitaly.ObjectPoolService.DisconnectGitAlternates:input_type -> gitaly.DisconnectGitAlternatesRequest
+ 8, // 14: gitaly.ObjectPoolService.FetchIntoObjectPool:input_type -> gitaly.FetchIntoObjectPoolRequest
+ 10, // 15: gitaly.ObjectPoolService.GetObjectPool:input_type -> gitaly.GetObjectPoolRequest
+ 1, // 16: gitaly.ObjectPoolService.CreateObjectPool:output_type -> gitaly.CreateObjectPoolResponse
+ 3, // 17: gitaly.ObjectPoolService.DeleteObjectPool:output_type -> gitaly.DeleteObjectPoolResponse
+ 5, // 18: gitaly.ObjectPoolService.LinkRepositoryToObjectPool:output_type -> gitaly.LinkRepositoryToObjectPoolResponse
+ 7, // 19: gitaly.ObjectPoolService.DisconnectGitAlternates:output_type -> gitaly.DisconnectGitAlternatesResponse
+ 9, // 20: gitaly.ObjectPoolService.FetchIntoObjectPool:output_type -> gitaly.FetchIntoObjectPoolResponse
+ 11, // 21: gitaly.ObjectPoolService.GetObjectPool:output_type -> gitaly.GetObjectPoolResponse
+ 16, // [16:22] is the sub-list for method output_type
+ 10, // [10:16] is the sub-list for method input_type
+ 10, // [10:10] is the sub-list for extension type_name
+ 10, // [10:10] is the sub-list for extension extendee
+ 0, // [0:10] is the sub-list for field type_name
}
func init() { file_objectpool_proto_init() }
@@ -947,30 +839,6 @@ func file_objectpool_proto_init() {
}
}
file_objectpool_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*ReduplicateRepositoryRequest); i {
- case 0:
- return &v.state
- case 1:
- return &v.sizeCache
- case 2:
- return &v.unknownFields
- default:
- return nil
- }
- }
- file_objectpool_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*ReduplicateRepositoryResponse); i {
- case 0:
- return &v.state
- case 1:
- return &v.sizeCache
- case 2:
- return &v.unknownFields
- default:
- return nil
- }
- }
- file_objectpool_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*DisconnectGitAlternatesRequest); i {
case 0:
return &v.state
@@ -982,7 +850,7 @@ func file_objectpool_proto_init() {
return nil
}
}
- file_objectpool_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
+ file_objectpool_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*DisconnectGitAlternatesResponse); i {
case 0:
return &v.state
@@ -994,7 +862,7 @@ func file_objectpool_proto_init() {
return nil
}
}
- file_objectpool_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
+ file_objectpool_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*FetchIntoObjectPoolRequest); i {
case 0:
return &v.state
@@ -1006,7 +874,7 @@ func file_objectpool_proto_init() {
return nil
}
}
- file_objectpool_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
+ file_objectpool_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*FetchIntoObjectPoolResponse); i {
case 0:
return &v.state
@@ -1018,7 +886,7 @@ func file_objectpool_proto_init() {
return nil
}
}
- file_objectpool_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
+ file_objectpool_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GetObjectPoolRequest); i {
case 0:
return &v.state
@@ -1030,7 +898,7 @@ func file_objectpool_proto_init() {
return nil
}
}
- file_objectpool_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
+ file_objectpool_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GetObjectPoolResponse); i {
case 0:
return &v.state
@@ -1049,7 +917,7 @@ func file_objectpool_proto_init() {
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: file_objectpool_proto_rawDesc,
NumEnums: 0,
- NumMessages: 14,
+ NumMessages: 12,
NumExtensions: 0,
NumServices: 1,
},
diff --git a/proto/go/gitalypb/objectpool_grpc.pb.go b/proto/go/gitalypb/objectpool_grpc.pb.go
index 12b333213..f82d447cf 100644
--- a/proto/go/gitalypb/objectpool_grpc.pb.go
+++ b/proto/go/gitalypb/objectpool_grpc.pb.go
@@ -34,14 +34,6 @@ type ObjectPoolServiceClient interface {
// LinkRepositoryToObjectPool links the specified repository to the object pool. Objects contained
// in the object pool will be deduplicated for this repository when repacking objects.
LinkRepositoryToObjectPool(ctx context.Context, in *LinkRepositoryToObjectPoolRequest, opts ...grpc.CallOption) (*LinkRepositoryToObjectPoolResponse, error)
- // Deprecated: Do not use.
- // ReduplicateRepository will repack the objects in the object pool member so that the repository
- // does not depend on the pool member anymore and can be removed from it. Note that this function
- // is not safe for use.
- //
- // This RPC is deprecated. Please use DisconnectGitAlternates instead. It will be removed in
- // Gitaly v16.0, refer to https://gitlab.com/gitlab-org/gitaly/-/issues/4655.
- ReduplicateRepository(ctx context.Context, in *ReduplicateRepositoryRequest, opts ...grpc.CallOption) (*ReduplicateRepositoryResponse, error)
// DisconnectGitAlternates will disconnect the object pool member from its object pool. It will:
//
// 1. Link all objects from the object pool into the member repository. This essenitally
@@ -102,16 +94,6 @@ func (c *objectPoolServiceClient) LinkRepositoryToObjectPool(ctx context.Context
return out, nil
}
-// Deprecated: Do not use.
-func (c *objectPoolServiceClient) ReduplicateRepository(ctx context.Context, in *ReduplicateRepositoryRequest, opts ...grpc.CallOption) (*ReduplicateRepositoryResponse, error) {
- out := new(ReduplicateRepositoryResponse)
- err := c.cc.Invoke(ctx, "/gitaly.ObjectPoolService/ReduplicateRepository", in, out, opts...)
- if err != nil {
- return nil, err
- }
- return out, nil
-}
-
func (c *objectPoolServiceClient) DisconnectGitAlternates(ctx context.Context, in *DisconnectGitAlternatesRequest, opts ...grpc.CallOption) (*DisconnectGitAlternatesResponse, error) {
out := new(DisconnectGitAlternatesResponse)
err := c.cc.Invoke(ctx, "/gitaly.ObjectPoolService/DisconnectGitAlternates", in, out, opts...)
@@ -155,14 +137,6 @@ type ObjectPoolServiceServer interface {
// LinkRepositoryToObjectPool links the specified repository to the object pool. Objects contained
// in the object pool will be deduplicated for this repository when repacking objects.
LinkRepositoryToObjectPool(context.Context, *LinkRepositoryToObjectPoolRequest) (*LinkRepositoryToObjectPoolResponse, error)
- // Deprecated: Do not use.
- // ReduplicateRepository will repack the objects in the object pool member so that the repository
- // does not depend on the pool member anymore and can be removed from it. Note that this function
- // is not safe for use.
- //
- // This RPC is deprecated. Please use DisconnectGitAlternates instead. It will be removed in
- // Gitaly v16.0, refer to https://gitlab.com/gitlab-org/gitaly/-/issues/4655.
- ReduplicateRepository(context.Context, *ReduplicateRepositoryRequest) (*ReduplicateRepositoryResponse, error)
// DisconnectGitAlternates will disconnect the object pool member from its object pool. It will:
//
// 1. Link all objects from the object pool into the member repository. This essenitally
@@ -202,9 +176,6 @@ func (UnimplementedObjectPoolServiceServer) DeleteObjectPool(context.Context, *D
func (UnimplementedObjectPoolServiceServer) LinkRepositoryToObjectPool(context.Context, *LinkRepositoryToObjectPoolRequest) (*LinkRepositoryToObjectPoolResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method LinkRepositoryToObjectPool not implemented")
}
-func (UnimplementedObjectPoolServiceServer) ReduplicateRepository(context.Context, *ReduplicateRepositoryRequest) (*ReduplicateRepositoryResponse, error) {
- return nil, status.Errorf(codes.Unimplemented, "method ReduplicateRepository not implemented")
-}
func (UnimplementedObjectPoolServiceServer) DisconnectGitAlternates(context.Context, *DisconnectGitAlternatesRequest) (*DisconnectGitAlternatesResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method DisconnectGitAlternates not implemented")
}
@@ -281,24 +252,6 @@ func _ObjectPoolService_LinkRepositoryToObjectPool_Handler(srv interface{}, ctx
return interceptor(ctx, in, info, handler)
}
-func _ObjectPoolService_ReduplicateRepository_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
- in := new(ReduplicateRepositoryRequest)
- if err := dec(in); err != nil {
- return nil, err
- }
- if interceptor == nil {
- return srv.(ObjectPoolServiceServer).ReduplicateRepository(ctx, in)
- }
- info := &grpc.UnaryServerInfo{
- Server: srv,
- FullMethod: "/gitaly.ObjectPoolService/ReduplicateRepository",
- }
- handler := func(ctx context.Context, req interface{}) (interface{}, error) {
- return srv.(ObjectPoolServiceServer).ReduplicateRepository(ctx, req.(*ReduplicateRepositoryRequest))
- }
- return interceptor(ctx, in, info, handler)
-}
-
func _ObjectPoolService_DisconnectGitAlternates_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(DisconnectGitAlternatesRequest)
if err := dec(in); err != nil {
@@ -373,10 +326,6 @@ var ObjectPoolService_ServiceDesc = grpc.ServiceDesc{
Handler: _ObjectPoolService_LinkRepositoryToObjectPool_Handler,
},
{
- MethodName: "ReduplicateRepository",
- Handler: _ObjectPoolService_ReduplicateRepository_Handler,
- },
- {
MethodName: "DisconnectGitAlternates",
Handler: _ObjectPoolService_DisconnectGitAlternates_Handler,
},
diff --git a/proto/objectpool.proto b/proto/objectpool.proto
index c7b204b0e..a1850c62c 100644
--- a/proto/objectpool.proto
+++ b/proto/objectpool.proto
@@ -57,19 +57,6 @@ service ObjectPoolService {
};
}
- // ReduplicateRepository will repack the objects in the object pool member so that the repository
- // does not depend on the pool member anymore and can be removed from it. Note that this function
- // is not safe for use.
- //
- // This RPC is deprecated. Please use DisconnectGitAlternates instead. It will be removed in
- // Gitaly v16.0, refer to https://gitlab.com/gitlab-org/gitaly/-/issues/4655.
- rpc ReduplicateRepository(ReduplicateRepositoryRequest) returns (ReduplicateRepositoryResponse) {
- option deprecated = true;
- option (op_type) = {
- op: MUTATOR
- };
- }
-
// DisconnectGitAlternates will disconnect the object pool member from its object pool. It will:
//
// 1. Link all objects from the object pool into the member repository. This essenitally
@@ -145,16 +132,6 @@ message LinkRepositoryToObjectPoolRequest {
message LinkRepositoryToObjectPoolResponse {
}
-// ReduplicateRepositoryRequest is a request for the ReduplicateRepository RPC.
-message ReduplicateRepositoryRequest {
- // Repository is the repository whose objects shall be reduplicated.
- Repository repository = 1 [(target_repository)=true];
-}
-
-// ReduplicateRepositoryResponse is a response for the ReduplicateRepository RPC.
-message ReduplicateRepositoryResponse {
-}
-
// DisconnectGitAlternatesRequest is a request for the DisconnectGitAlternates RPC.
message DisconnectGitAlternatesRequest {
// Repository is th repository that shall be disconnected from its object pool.