Couchbase检索到的文档到期时间始终设置为0

Couchbase检索到的文档到期时间始终设置为0,couchbase,Couchbase,couchbase客户端似乎总是将文档过期值检索为“0”,尽管显然会将其考虑在内。有什么想法吗? (使用couchbase Java客户端2.2.8) bucket.upsert(JsonDocument.create(key,5,content)); 试一试{ 对于(int i=0;i

couchbase客户端似乎总是将文档过期值检索为“0”,尽管显然会将其考虑在内。有什么想法吗? (使用couchbase Java客户端2.2.8)

bucket.upsert(JsonDocument.create(key,5,content));
试一试{
对于(int i=0;i<10;i++){
睡眠(1000);
打印(“到期:+bucket.get(key.expiration());
}
}捕获(NullPointerException e){
打印(“文件过期”);
}
代码输出:

有效期:0
有效期:0
有效期:0
有效期:0
有效期:0
文件过期


到期日值为0表示文档未设置到期日。如果设置了过期时间,则该数字将与文档应该过期的unix时间相对应。

请参阅中的注释

是的,这是预期的,而不是bug,因为下面来自服务器的get调用不会返回过期时间


我认为这很奇怪(确实是一个bug),因为Java客户端让我相信Java客户端可以读取文档到期时间….

第一行
JsonDocument.create(key,5,content)
将文档到期时间设置为5秒,事实上,代码输出表明文档在该时间段后从数据库中删除。但是,expiry字段始终返回0,因此我的问题是
bucket.upsert(JsonDocument.create(key, 5, content));

    try {
        for (int i = 0; i < 10; i++) {
            Thread.sleep(1000);             
            print("expiry :" + bucket.get(key).expiry());
        }
    } catch (NullPointerException e) {
        print("Document Expired");
    }