@Override
      public void onError(Throwable throwable) {
        if (throwable instanceof NoSuchElementException) {
          // There is no element returned by the observable, meaning the key doesn't exist.
          future.complete(null);
        } else {
          future.completeExceptionally(new SamzaException(String.format("Failed to get key %s", key), throwable));
        }
      }
Construct an instance of {@link CouchbaseTableReadFunction}.
@param bucketName Name of the couchbase bucket
@param clusterNodes Some Hosts of the Couchbase cluster. Recommended to provide more than one nodes so that if
                    the first node could not be connected, other nodes can be tried.
@param valueClass Type of values
samza-kv-couchbase/src/main/java/org/apache/samza/table/remote/couchbase/CouchbaseTableReadFunction.java