func pollForTableDeletion()

in workload-management/s3-trigger-ecs-task/s3-file-processor/utils/Dynamodb.go [296:324]


func pollForTableDeletion() error {
	index := 0
	var err error
	for index < RetryCounter {
		_, err = getTableStatus()
		if err != nil {
			if aerr, ok := err.(awserr.Error); ok {
				switch aerr.Code() {
				case dynamodb.ErrCodeResourceNotFoundException:
					break
				default:
					log.Printf("Error while polling for delete status change %s", aerr.Error())
					return aerr
				}
			} else {
				log.Printf("Unknown error encountered, while polling for status %s", err.Error())
				return err
			}
		}
		time.Sleep(5 * time.Second)
		index++
	}

	if index > RetryCounter {
		return errors.New("max retry exceeded for checking for table deletion")
	}

	return nil
}