Couchbase Custom Reduce ведет себя непоследовательно


Я использую Couchbase версии 2.0.1 - Enterprise Edition (build-170) и Java-клиент версии 1.2.2
У меня есть настраиваемая функция сокращения для получения последней активности пользователя
Ответ от java клиент непоследовательный Время от времени я получаю правильный ответ, и большую часть времени я получаю нулевое значение против действительных ключей. Даже Stale.FALSE не помогает!!

Количество отображаемых записей составляет около 1 миллиона, а набор результатов для запроса составляет около 1000 пар ключ-значение. Я не уверен, в чем здесь может быть проблема. Было бы здорово, если бы кто-нибудь помог.

Функция уменьшения показана ниже:

function (key, values, rereduce) {
    var currDate = 0;
    var activity = "";
    for(var idx in values){
        if(currDate < values[idx][0]){
            currDate = values[idx][0];
            activity = values[idx][1];
        }
    }
    return [currDate, activity];
}

Просмотреть запрос:

CouchbaseClient cbc = Couchbase.getConnection();
Query query = new Query();
query.setIncludeDocs(false);
query.setSkip(0);
query.setLimit(10000);
query.setReduce(true);
query.setGroupLevel(4);
query.setRange(startKey,endKey);
View view = cbc.getView(document, view);
ViewResponse response = cbc.query(view, query);

person manish    schedule 26.12.2013    source источник
comment
Две вещи. 1) Как выглядит ваш фактический запрос просмотра? Вставьте это также. 2) Почему бы вам просто не пометить профиль пользователя, когда он делает что-то, что считается «активным», чтобы вы могли просто использовать его ключ и просмотреть этот документ?   -  person scalabilitysolved    schedule 26.12.2013
comment
@avengedsixfold Спасибо за отзыв.‹br› Запрос через веб-терминал дал правильный ответ.‹br› Итак, возникла проблема совместимости с java-client 1.2.2 и google gson, который использовался в моем приложении.‹br› Я переключился на java-клиент 1.2.3 и гугл гсон 2.2.4. Теперь все работает, как и ожидалось.   -  person manish    schedule 27.12.2013


Ответы (1)


Похоже, возникла проблема совместимости с java-client 1.2.2 и google gson 1.7.1, которые использовались в моем приложении.

Я переключился на java-client 1.2.3 и google gson 2.2.4. Теперь все работает отлично.

person manish    schedule 27.12.2013