kyuubi/externals
fwang12 7d8e89c27f [KYUUBI #4949] For operation getNextRowSet method, with operation lock required
### _Why are the changes needed?_

For the operation getNextRowSet method, we shall add lock for it.

For example, for spark operation, the result iterator is not thread-safe, it might throw exception(if the jdbc client to kyuubi server connection socket timeout).

For incremental collect mode, the fetchResult might trigger a spark task to collect the incremental result(`self.next().toIterator`).

The jdbc client to kyuubi gateway timeout, but the fetchResult request has been sent to engine.
Then the jdbc client re-send the fetchResult request.

And the getNextResultSet in spark engine side concurrent execute.

And the result iterator is not thread-safe and might cause NPE.

![image](https://github.com/apache/kyuubi/assets/6757692/03c369c7-dc12-40d7-aac3-c8f5e799d1cf)
![image](https://github.com/apache/kyuubi/assets/6757692/a3414f84-5112-4ea6-a611-f15e6288aba2)

### _How was this patch tested?_
- [ ] Add some test cases that check the changes thoroughly including negative and positive cases if possible

- [ ] Add screenshots for manual tests if appropriate

- [x] [Run test](https://kyuubi.readthedocs.io/en/master/develop_tools/testing.html#running-tests) locally before make a pull request

Closes #4949 from turboFei/lock_next_rowset.

Closes #4949

8f18f3236 [fwang12] getNextRowSetInternal and withLockRequired

Authored-by: fwang12 <fwang12@ebay.com>
Signed-off-by: fwang12 <fwang12@ebay.com>
2023-06-12 13:31:36 +08:00
..
kyuubi-chat-engine [KYUUBI #4949] For operation getNextRowSet method, with operation lock required 2023-06-12 13:31:36 +08:00
kyuubi-download [KYUUBI #4348] [INFRA] Cache engine archives in CI jobs for maven download plugin 2023-02-18 22:34:02 +08:00
kyuubi-flink-sql-engine [KYUUBI #4949] For operation getNextRowSet method, with operation lock required 2023-06-12 13:31:36 +08:00
kyuubi-hive-sql-engine [KYUUBI #4949] For operation getNextRowSet method, with operation lock required 2023-06-12 13:31:36 +08:00
kyuubi-jdbc-engine [KYUUBI #4949] For operation getNextRowSet method, with operation lock required 2023-06-12 13:31:36 +08:00
kyuubi-spark-sql-engine [KYUUBI #4949] For operation getNextRowSet method, with operation lock required 2023-06-12 13:31:36 +08:00
kyuubi-trino-engine [KYUUBI #4949] For operation getNextRowSet method, with operation lock required 2023-06-12 13:31:36 +08:00