[ https://issues.apache.org/jira/browse/HIVE-13725?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Eugene Koifman updated HIVE-13725: ---------------------------------- Attachment: addendum.txt [~vgumashta] please look at addendum.txt. Could you incorporate it into your next patch? It adds a test and fixes exception propagation in Heartbeater. > ACID: Streaming API should synchronize calls when multiple threads use the > same endpoint > ---------------------------------------------------------------------------------------- > > Key: HIVE-13725 > URL: https://issues.apache.org/jira/browse/HIVE-13725 > Project: Hive > Issue Type: Bug > Components: HCatalog, Metastore, Transactions > Affects Versions: 1.2.1, 2.0.0 > Reporter: Vaibhav Gumashta > Assignee: Eugene Koifman > Priority: Critical > Labels: ACID, Streaming > Attachments: HIVE-13725.1.patch, HIVE-13725.2.patch, > HIVE-13725.3.patch, HIVE-13725.4.patch, addendum.txt > > > Currently, the streaming endpoint creates a metastore client which gets used > for RPC. The client itself is not internally thread safe. Therefore, the API > methods should provide the relevant synchronization so that the methods can > be called from different threads. A sample use case is as follows: > 1. Thread 1 creates a streaming endpoint and opens a txn batch. > 2. Thread 2 heartbeats the txn batch. > With the current impl, this can result in an "out of sequence response", > since the response of the calls in thread1 might end up going to thread2 and > vice-versa. -- This message was sent by Atlassian JIRA (v6.3.4#6332)