]
Steven Hawkins updated TEIIDSB-164:
-----------------------------------
Parent: (was: TEIIDSB-147)
Issue Type: Bug (was: Sub-task)
Issues with marhaller registration
----------------------------------
Key: TEIIDSB-164
URL:
https://issues.redhat.com/browse/TEIIDSB-164
Project: Teiid Spring Boot
Issue Type: Bug
Components: datasource
Reporter: Steven Hawkins
Priority: Major
Fix For: 13.1
Original Estimate: 6 hours
Remaining Estimate: 6 hours
Adding transactional logic to infinispan highlights several problems with marshaller
registration. The first is that all connections are working off of a shared context and
each registering a marshaller for the same class type - this is not thread safe.
The other issue specific to transactions is that some operations are delayed or redone at
commit time - which is called after the connection is closed potentially in a different
thread and thus the marshaller provider has been removed. Given the interplay of threads
using a thread local won't work.
Potentially a transaction aware thread pool or the use of something like our execution
context keep alive may be needed.