This is an automated email from the ASF dual-hosted git repository.

guozhang pushed a commit to branch trunk
in repository https://gitbox.apache.org/repos/asf/kafka.git


The following commit(s) were added to refs/heads/trunk by this push:
     new 495c78d  KAFKA-6999: Add description on read-write lock vulnerability 
of ReadOnlyKeyValueStore (#5351)
495c78d is described below

commit 495c78db6f0d0d3fe111ea49f8041b5b3e32a8a4
Author: Lee Dongjin <[email protected]>
AuthorDate: Sat Jul 28 23:56:31 2018 +0900

    KAFKA-6999: Add description on read-write lock vulnerability of 
ReadOnlyKeyValueStore (#5351)
    
    Reviewers: Guozhang Wang <[email protected]>
---
 .../java/org/apache/kafka/streams/state/ReadOnlyKeyValueStore.java  | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git 
a/streams/src/main/java/org/apache/kafka/streams/state/ReadOnlyKeyValueStore.java
 
b/streams/src/main/java/org/apache/kafka/streams/state/ReadOnlyKeyValueStore.java
index 0632980..8725ebc 100644
--- 
a/streams/src/main/java/org/apache/kafka/streams/state/ReadOnlyKeyValueStore.java
+++ 
b/streams/src/main/java/org/apache/kafka/streams/state/ReadOnlyKeyValueStore.java
@@ -23,6 +23,12 @@ import 
org.apache.kafka.streams.errors.InvalidStateStoreException;
  * Implementations should be thread-safe as concurrent reads and writes
  * are expected.
  *
+ * Please note that this contract defines the thread-safe read functionality 
only; it does not
+ * guarantee anything about whether the actual instance is writable by another 
thread, or
+ * whether it uses some locking mechanism under the hood. For this reason, 
making dependencies
+ * between the read and write operations on different StateStore instances can 
cause concurrency
+ * problems like deadlock.
+ *
  * @param <K> the key type
  * @param <V> the value type
  */

Reply via email to