Github user zsxwing commented on a diff in the pull request:
https://github.com/apache/spark/pull/18107#discussion_r119014511
--- Diff:
sql/core/src/main/scala/org/apache/spark/sql/execution/streaming/state/StateStore.scala
---
@@ -47,50 +44,54 @@ trait StateStore {
/** Version of the data in this store before committing updates. */
def version: Long
- /** Get the current value of a key. */
- def get(key: UnsafeRow): Option[UnsafeRow]
-
/**
- * Return an iterator of key-value pairs that satisfy a certain
condition.
- * Note that the iterator must be fail-safe towards modification to the
store, that is,
- * it must be based on the snapshot of store the time of this call, and
any change made to the
- * store while iterating through iterator should not cause the iterator
to fail or have
- * any affect on the values in the iterator.
+ * Get the current value of a non-null key.
*/
- def filter(condition: (UnsafeRow, UnsafeRow) => Boolean):
Iterator[(UnsafeRow, UnsafeRow)]
+ def get(key: UnsafeRow): UnsafeRow
- /** Put a new value for a key. */
+ /**
+ * Put a new value for a non-null key. Implementations must be aware
that the UnsafeRows in
+ * the params can be reused, and must make copies of the data as needed
for persistence.
+ * @note put cannot be done once
--- End diff --
Could you clarify it?
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at [email protected] or file a JIRA ticket
with INFRA.
---
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]