Uploaded image for project: 'Hive'
  1. Hive
  2. HIVE-13725

ACID: Streaming API should synchronize calls when multiple threads use the same endpoint

    XMLWordPrintableJSON

Details

    Description

      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.

      Attachments

        1. addendum.txt
          9 kB
          Eugene Koifman
        2. HIVE-13725.1.patch
          4 kB
          Vaibhav Gumashta
        3. HIVE-13725.2.patch
          10 kB
          Vaibhav Gumashta
        4. HIVE-13725.3.patch
          10 kB
          Vaibhav Gumashta
        5. HIVE-13725.4.patch
          11 kB
          Vaibhav Gumashta
        6. HIVE-13725.5.patch
          19 kB
          Vaibhav Gumashta

        Activity

          People

            vgumashta Vaibhav Gumashta
            vgumashta Vaibhav Gumashta
            Votes:
            0 Vote for this issue
            Watchers:
            7 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: