Skip to content

Commit

Permalink
Create admin API to update namespace
Browse files Browse the repository at this point in the history
  • Loading branch information
feedmeapples committed Nov 16, 2021
1 parent b9b0615 commit 7ddd561
Show file tree
Hide file tree
Showing 11 changed files with 1,391 additions and 445 deletions.
1,534 changes: 1,142 additions & 392 deletions api/adminservice/v1/request_response.pb.go

Large diffs are not rendered by default.

149 changes: 98 additions & 51 deletions api/adminservice/v1/service.pb.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

35 changes: 35 additions & 0 deletions api/adminservicemock/v1/service.pb.mock.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

14 changes: 14 additions & 0 deletions client/admin/client.go
Expand Up @@ -287,6 +287,20 @@ func (c *clientImpl) RegisterNamespace(
return client.RegisterNamespace(ctx, request, opts...)
}

func (c *clientImpl) UpdateNamespace(
ctx context.Context,
request *adminservice.UpdateNamespaceRequest,
opts ...grpc.CallOption,
) (*adminservice.UpdateNamespaceResponse, error) {
client, err := c.getRandomClient()
if err != nil {
return nil, err
}
ctx, cancel := c.createContext(ctx)
defer cancel()
return client.UpdateNamespace(ctx, request, opts...)
}

func (c *clientImpl) GetNamespaceReplicationMessages(
ctx context.Context,
request *adminservice.GetNamespaceReplicationMessagesRequest,
Expand Down
18 changes: 18 additions & 0 deletions client/admin/metricClient.go
Expand Up @@ -335,6 +335,24 @@ func (c *metricClient) RegisterNamespace(
return resp, err
}

func (c *metricClient) UpdateNamespace(
ctx context.Context,
request *adminservice.UpdateNamespaceRequest,
opts ...grpc.CallOption,
) (*adminservice.UpdateNamespaceResponse, error) {

c.metricsClient.IncCounter(metrics.AdminClientUpdateNamespaceScope, metrics.ClientRequests)

sw := c.metricsClient.StartTimer(metrics.AdminClientUpdateNamespaceScope, metrics.ClientLatency)
resp, err := c.client.UpdateNamespace(ctx, request, opts...)
sw.Stop()

if err != nil {
c.metricsClient.IncCounter(metrics.AdminClientUpdateNamespaceScope, metrics.ClientFailures)
}
return resp, err
}

func (c *metricClient) GetNamespaceReplicationMessages(
ctx context.Context,
request *adminservice.GetNamespaceReplicationMessagesRequest,
Expand Down
16 changes: 16 additions & 0 deletions client/admin/retryableClient.go
Expand Up @@ -303,6 +303,22 @@ func (c *retryableClient) RegisterNamespace(
return resp, err
}

func (c *retryableClient) UpdateNamespace(
ctx context.Context,
request *adminservice.UpdateNamespaceRequest,
opts ...grpc.CallOption,
) (*adminservice.UpdateNamespaceResponse, error) {

var resp *adminservice.UpdateNamespaceResponse
op := func() error {
var err error
resp, err = c.client.UpdateNamespace(ctx, request, opts...)
return err
}
err := backoff.Retry(op, c.policy, c.isRetryable)
return resp, err
}

func (c *retryableClient) GetNamespaceReplicationMessages(
ctx context.Context,
request *adminservice.GetNamespaceReplicationMessagesRequest,
Expand Down

0 comments on commit 7ddd561

Please sign in to comment.