Что такое закрытый статус N1qlQueryResult couchbase - PullRequest
0 голосов
/ 08 мая 2018

Я только что закрыл статус в каком-то прерывистом Select вызове запроса к Couchbase в N1qlQueryResult объекте.

Согласно Couchbase документации:

Возвращает окончательный статус запроса. Например, успешный запрос вернет "success" (что эквивалентно возвращению finalSuccess () правда). Другие статусы включают (но не ограничиваются ими) "смертельный", когда фатальные ошибки произошло и «тайм-аут», когда тайм-аут запроса на стороне сервера, но еще не на стороне клиента. Этот метод блокируется до завершения запроса и статус может быть установлен.

Проблема возникает при вызове query() метода:

public List<N1qlQueryRow> execute(String query, ScanConsistency scanConsistency) {
        final Bucket couchbaseBucket = getSampleCouchbaseBucket(); // get couchbase bucket here
        final N1qlQueryResult result = couchbaseBucket.query(N1qlQuery.simple(query, N1qlParams.build().consistency(ScanConsistency.NOT_BOUNDED)));

        if (!SUCCESS.equals(result.status())) {
            throw new RuntimeException(//get errors here);
        }
        return result.allRows();
    }

Теперь у меня есть информация о статусах [success, timeout, fatal]. Но мне интересно со статусом closed несколько раз. Итак, мой вопрос -

  1. Какие состояния, кроме [success, timeout, fatal] Couchbase, возвращаются в N1qlQueryResult.

  2. Какие могут быть возможные причины для статуса Закрыто.

Я использую Couchbase 5.1 с загрузкой Spring 1.5.9.

...