Eugene Koifman created HIVE-14778:
Summary: document threading model of Streaming API
Issue Type: Bug
Components: HCatalog, Transactions
Affects Versions: 0.14.0
Reporter: Eugene Koifman
Assignee: Eugene Koifman
The model is not obvious and needs to be documented properly.
A StreamingConnection internally maintains 2 MetaStoreClient objects (each has
1 Thrift client for actual RPC). Let's call them "primary" and "heartbeat".
Each TransactionBatch created from a given StreamingConnection, gets a
reference to both of these MetaStoreClients.
So the model is that there is at most 1 outstanding (not closed)
TransactionBatch for any given StreamingConnection and for any given
TransactionBatch there can be at most 2 threads accessing it concurrently. 1
thread calling TransactionBatch.heartbeat() (and nothing else) and the other
calling all other methods.
This message was sent by Atlassian JIRA