[JBoss JIRA] (TEIID-4057) OData - if PUT fails, next update request fails because table in DB is still locked
by Steven Hawkins (JIRA)
[ https://issues.jboss.org/browse/TEIID-4057?page=com.atlassian.jira.plugin... ]
Work on TEIID-4057 started by Steven Hawkins.
---------------------------------------------
> OData - if PUT fails, next update request fails because table in DB is still locked
> -----------------------------------------------------------------------------------
>
> Key: TEIID-4057
> URL: https://issues.jboss.org/browse/TEIID-4057
> Project: Teiid
> Issue Type: Sub-task
> Components: OData
> Reporter: Juraj Duráni
> Assignee: Steven Hawkins
>
> I can see (from the log) that processing of PUT request is as follows:
> # select record from table
> # delete record
> # parse entity from HTTP request
> # insert new record
> But if e.g. step 3 fails, Teiid cancels transaction and returns error. In my opinion, parsing of the entity should be the first step (or at least right after select).
> What happen here is, that DELETE statement creates transaction and locks the table. But the transaction is not canceled immediately after cancel request \[1\]. This causes that no other query can succeed, because of lock on the table (EAP uses connection pool and does not close connections immediately and therefore open connection has still one transaction in active state).
> *Note:* We use H2 database for testing purpose. But I think that this could happen with any DB. Anyway, parsing of the entity should not be performed after delete.
> \[1\]
> {code:plain}
> 09:35:33,937 DEBUG [org.teiid.TRANSPORT] (New I/O worker #1) Channel closed
> 09:40:31,430 WARN [com.arjuna.ats.arjuna] (Transaction Reaper) ARJUNA012117: TransactionReaper::check timeout for TX 0:ffff7f000001:113c3cbe:56e131a7:e in state RUN
> 09:40:31,438 WARN [com.arjuna.ats.arjuna] (Transaction Reaper Worker 0) ARJUNA012121: TransactionReaper::doCancellations worker Thread[Transaction Reaper Worker 0,5,main] successfully canceled TX 0:ffff7f000001:113c3cbe:56e131a7:e
> {code}
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
10 years
[JBoss JIRA] (TEIID-4073) OData filters should accept boolean expressions
by Steven Hawkins (JIRA)
[ https://issues.jboss.org/browse/TEIID-4073?page=com.atlassian.jira.plugin... ]
Steven Hawkins commented on TEIID-4073:
---------------------------------------
It's just an example. It could just as easily be $filter=booleanColumn
In either case the old logic was throwing a class cast. What we want is for the boolean to be used as the filter.
> OData filters should accept boolean expressions
> -----------------------------------------------
>
> Key: TEIID-4073
> URL: https://issues.jboss.org/browse/TEIID-4073
> Project: Teiid
> Issue Type: Bug
> Components: OData
> Affects Versions: 8.11
> Reporter: Steven Hawkins
> Assignee: Steven Hawkins
> Fix For: 9.0, 8.12.5
>
>
> With an expression such as $filter=true we will throw a class cast, since the logic expects a Criteria and not a general Expression.
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
10 years