Skip to content
Snippets Groups Projects
Commit 0d948715 authored by ko_oler's avatar ko_oler
Browse files

правка по ПР

parent 46500e38
No related branches found
No related tags found
No related merge requests found
......@@ -180,7 +180,7 @@ func (s *Setup) Install(ctx context.Context) error {
// Check выполняет проверку требований
func (s *Setup) Check(ctx context.Context) error {
if s.waitSpaceAvailable {
if err := spaces.WaitReadAvailable(ctx, s.content.Spaces, s.SpaceID, s.logger); err != nil {
if err := spaces.WaitSpaceReadAvailable(ctx, s.content.Spaces, s.SpaceID, s.logger); err != nil {
return err
}
}
......
......@@ -54,6 +54,11 @@ type Spaces interface {
Move(ctx context.Context, spaceID, orgID string) (err error)
}
const (
delay = 500 * time.Millisecond
attempts = 1800
)
var (
ErrSpaceNotAvailable = errors.New("space not available")
)
......@@ -69,7 +74,7 @@ func IsSpaceAvailable(ctx context.Context, svc Spaces, spaceID string) error {
return ErrSpaceNotAvailable
}
func IsReadAvailable(ctx context.Context, svc Spaces, spaceID string) error {
func IsSpaceReadAvailable(ctx context.Context, svc Spaces, spaceID string) error {
sp, err := svc.Get(ctx, spaceID)
if err != nil {
return errors.Wrap(err, "fail to get space")
......@@ -87,25 +92,25 @@ func WaitSpaceAvailable(ctx context.Context, svc Spaces, spaceID string, logger
},
retry.RetryIf(func(err error) bool { return errors.Is(err, ErrSpaceNotAvailable) }),
retry.OnRetry(func(n uint, err error) {
logger.Warn("Space not available", zap.String("spaceID", spaceID), zap.Uint("Retry", n), zap.Error(err))
logger.Info("Waiting for space to be available", zap.String("spaceID", spaceID), zap.Uint("Retry", n), zap.Error(err))
}),
retry.Delay(500*time.Millisecond),
retry.Attempts(1800),
retry.Delay(delay),
retry.Attempts(attempts),
retry.Context(ctx),
)
}
func WaitReadAvailable(ctx context.Context, svc Spaces, spaceID string, logger *zap.Logger) error {
func WaitSpaceReadAvailable(ctx context.Context, svc Spaces, spaceID string, logger *zap.Logger) error {
return retry.Do(
func() error {
return IsReadAvailable(ctx, svc, spaceID)
return IsSpaceReadAvailable(ctx, svc, spaceID)
},
retry.RetryIf(func(err error) bool { return errors.Is(err, ErrSpaceNotAvailable) }),
retry.OnRetry(func(n uint, err error) {
logger.Warn("Space is migrating", zap.String("spaceID", spaceID), zap.Uint("Retry", n), zap.Error(err))
logger.Info("Waiting for space to be available for read", zap.String("spaceID", spaceID), zap.Uint("Retry", n), zap.Error(err))
}),
retry.Delay(500*time.Millisecond),
retry.Attempts(1800),
retry.Delay(delay),
retry.Attempts(attempts),
retry.Context(ctx),
)
}
......@@ -81,8 +81,8 @@ func TestIsReadAvailable(t *testing.T) {
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
spaces := &dummySpaces{space: tt.space}
if err := IsReadAvailable(context.Background(), spaces, "space"); (err != nil) != tt.wantErr {
t.Errorf("IsReadAvailable() error = %v, wantErr %v", err, tt.wantErr)
if err := IsSpaceReadAvailable(context.Background(), spaces, "space"); (err != nil) != tt.wantErr {
t.Errorf("IsSpaceReadAvailable() error = %v, wantErr %v", err, tt.wantErr)
}
})
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment