code: public CompletableFuture<Version> updateEntry(String tableName, String key, byte[] value, Version ver) {
          log.trace("updateEntry entry called for : {} key : {} version {}", tableName, key, ver.asLongVersion().getLongValue());
  
          KeyVersionImpl version = new KeyVersionImpl(ver.asLongVersion().getLongValue());
  
          List<TableEntry<byte[], byte[]>> entries = Collections.singletonList(
                  new TableEntryImpl<>(new TableKeyImpl<>(key.getBytes(Charsets.UTF_8), version), value));
          return withRetries(() -> segmentHelper.updateTableEntries(tableName, entries, authToken.get(), RequestTag.NON_EXISTENT_ID),
                  () -> String.format("updateEntry: key: %s table: %s", key, tableName))
                  .thenApplyAsync(x -> {
                      KeyVersion first = x.get(0);
                      log.trace("entry for key {} updated to table {} with new version {}", key, tableName, first.getSegmentVersion());
                      return new Version.LongVersion(first.getSegmentVersion());
                  }, executor);
      }
docs: Method to update a single entry.
  @param tableName tablename
  @param key key
  @param value value
  @param ver previous key version
  @return CompletableFuture which when completed will indicate that the value is updated in the table.