Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • Add new update methods to Table API interfaces- AsyncReadWriteTable & TableWriteFunction
  • Add sendUpdateTo method to MessageStream API. This will be used to send updates to a table
  • Create a new operator spec and implementation for a “send update to table” operation on a MessageStream
    • SendUpdateToTableOperatorSpec
    • SendUpdateToTableOperatorImpl: Will attempt to send updates using Table’s updateAsync method. Similar to SendToTableOperatorImpl where writes are done using putAsync method.
  • UpdateMessage class to represent an update and a default value pair instead of using KV (discussed in detail below)
Code Block
languagejava
titleAsyncReadWriteTablecollapsetrue
public interface AsyncReadWriteTable<K, V, U> extends Table {
   ..
   ..
   /**
   * Asynchronously updates an existing record for a given key with the specified update.
   *
   * @param key the key with which the specified {@code value} is to be associated.
   * @param update the update applied to the record associated with a given {@code key}.
   * @param args additional arguments
   * @throws NullPointerException if the specified {@code key} is {@code null}.
   * @return CompletableFuture for the operation
   */
  CompletableFuture<Void> updateAsync(K key, U record, Object … args);
 
  /**
   * Asynchronously updates the existing records for the given keys with their corresponding updates.
   *
   * @param updates the key and update mappings.
   * @param args additional arguments
   * @throws NullPointerException if any of the specified {@code entries} has {@code null} as key.
   * @return CompletableFuture for the operation
   */
  CompletableFuture<Void> updateAllAsync(List<Entry<K, U>> records, Object … args);
}

...