我正在使用mongo version 2.4.5
和mongo-java-driver version 2.12.4
。我有一个主节点和一个副本。
现在我运行以下代码:
SAVE 1 - inserts a new document with default write concern
...waits for some time
READ 1 - reads the document with read preference as primary
...modifies it
SAVE 2 - Save the modified doc with default write concern
READ 2 - reads back the saved doc immediately with read preference as primary
在保存后立即执行的最后一次读取操作中,我看到在某些情况下返回过时数据(即修改没有反映)。但是,在某些情况下,修改确实会反映出来。
问题 - 如果我写mongo时有默认的写入问题(已经确认),然后以偏好初级读回来,那么一致性是否保证?
更多详情:
应用程序正在连接到包含1个主要主机和1个辅助主机的副本集。
我尝试用以下内容覆盖默认写入问题:ACKNOWLEDGED,JOURNALED,RELPICA_ACKNOWLEDGED 在所有情况下,阅读偏好都是主要的。仍然存在这个问题。
私人DBCollection customers = myDB.getCollection(" customers");
WriteResult wr = customers.save(customer,concern);
if(wr.getN()> 0){
ans = true;
}其他 ans = false;
} catch(例外e){
ans = false;
e.printStackTrace();
}