[
https://issues.apache.org/jira/browse/IGNITE-9484?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Igor Seliverstov updated IGNITE-9484:
-------------------------------------
Description:
Currently JDBC/ODBC requests are handled in NioWorker threads; that means what
sessions may be rebalanced between nio threads which makes impossible to
associate a NearTransaction with caller thread.
There are two possible solutions:
# To process client messages like regular grid ones in separate thread pool in
thread-per-connection basis
# Implement Suspend/Resume functionality for pessimistic transactions as well
as for optimistic ones (only pessimistic transactions are supported by
mvcc-enabled caches)
was:
JDBC requests may be handled by the different threads of thread pool even if
they belong to the same transaction. As a workaround a dedicated worker thread
is created for each session, which is not the best solution.
it is much better to have an abiltity to drive {{Near}} transactions from
different threads in the cases when transaction actions are applied
sequentially.
> MVCC TX: Handling transactions from multiple threads in jdbc requests handler.
> ------------------------------------------------------------------------------
>
> Key: IGNITE-9484
> URL: https://issues.apache.org/jira/browse/IGNITE-9484
> Project: Ignite
> Issue Type: Task
> Components: jdbc, mvcc
> Reporter: Roman Kondakov
> Priority: Major
>
> Currently JDBC/ODBC requests are handled in NioWorker threads; that means
> what sessions may be rebalanced between nio threads which makes impossible to
> associate a NearTransaction with caller thread.
> There are two possible solutions:
> # To process client messages like regular grid ones in separate thread pool
> in thread-per-connection basis
> # Implement Suspend/Resume functionality for pessimistic transactions as
> well as for optimistic ones (only pessimistic transactions are supported by
> mvcc-enabled caches)
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)