Intermittently Silent Failure in Upsert while upserting documents Java SDK 2.5.6

I am this code for saving single couchbase document.

Observable inserted = couchbaseBucket.async()
.upsert(RawJsonDocument.create(documentId, expirationTime, convertObjectToJson(object)));

inserted.doOnError(erros → LOGGER.error(“saveOrUpdate::Error while saving document”, erros))
.doOnCompleted(() → LOGGER.debug(“saveOrUpdate::Save Successfully”))
.onErrorResumeNext(Observable.empty()).toBlocking()
.singleOrDefault(null);

This works fine most of the time, but sometimes it doesn’t save the document. And more surprisingly doesn’t return any error. Neither on complete block gets called.

I even tried retry logic to make it failsafe like mentioned below but results are same

Observable upsertObservable = couchbaseBucket.async()
.upsert(RawJsonDocument.create(documentId, expirationTime, convertObjectToJson(object))).
retryWhen(RetryBuilder.anyOf(CouchbaseException.class,RuntimeException.class).
delay(Delay.exponential(TimeUnit.MILLISECONDS, 30)).max(10).build());

  upsertObservable.toBlocking()
  		.singleOrDefault(null);

Please point if I am doing anything wrong?