除非线程被阻止,否则Cloud Firestore写操作不起作用

时间:2017-12-28 15:30:07

标签: java firebase google-cloud-firestore firebase-admin

我正在使用Cloud Firebase Java管理API将数据写入我的Firestore实例。

将一些数据写入Firestore的所有方法都返回ApiFuture的实例。现在,问题是除非我在返回的实例上调用get()方法,否则数据不会进入Firestore。

单一和批量写入操作都存在此问题。

我试过完全无视未来并通过addListener(Runnable, Executor)添加回调。执行回调,但不以任何方式写入数据。

如果我尝试在另一个线程(从调用写操作的线程)中执行get(),则抛出io.grpc.StatusRuntimeExceptionCANCELLED: io.grpc.Context was cancelled without error

另一个有趣的细节是,如果我用Thread.sleep()阻塞线程足够的时间(在我的情况下约为3秒),数据写得正确。

有人知道可能导致此问题的原因吗?

我正在使用版本5.7.0的Firebase管理API。

0 个答案:

没有答案