return self.client.joinConsumerGroupRequest(self.options.groupId, self.memberId, self.options.sessionTimeout, _.values(self.strategies))
        .catch({ code: 'GroupCoordinatorNotAvailable' }, function () {
            return Promise.delay(1000).then(function () {
                return _tryJoinGroup(++attempt);
            });