batchee-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Mark Struberg (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (BATCHEE-88) rollback fails if the connection already got closed by the container
Date Sun, 17 Jan 2016 19:26:39 GMT

    [ https://issues.apache.org/jira/browse/BATCHEE-88?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15103879#comment-15103879
] 

Mark Struberg commented on BATCHEE-88:
--------------------------------------

I've created an integration test module to showcase that perticular bug. Maybe there is a
more elegant way to have this test directly in the jbatch module, but I didn't want to tinker
around with ServicesManager as we would loose the possibility to run tests in parallel. Thus
I created an own module. If anyone has a better idea, then let me know...
pushed it to my github account for now https://github.com/struberg/incubator-batchee

> rollback fails if the connection already got closed by the container
> --------------------------------------------------------------------
>
>                 Key: BATCHEE-88
>                 URL: https://issues.apache.org/jira/browse/BATCHEE-88
>             Project: BatchEE
>          Issue Type: Bug
>          Components: jbatch-core
>    Affects Versions: 0.3-incubating
>            Reporter: Mark Struberg
>            Assignee: Mark Struberg
>             Fix For: 0.4-incubating
>
>         Attachments: BATCHEE-88.patch
>
>
> We get the following Exception in some cases. Happens if our Oracle closes the connection
alltogether after a constraint problem in the db.
> {code}
> 2016-01-15 09:16:29,805 [@Asynchronous myapp-batches - 1] noSessionActive noUserId ERROR
controller.BaseStepController No transaction associated with current thread
> java.lang.IllegalStateException: No transaction associated with current thread
>         at org.apache.geronimo.transaction.manager.TransactionManagerImpl.setRollbackOnly(TransactionManagerImpl.java:241)
>         at org.apache.openejb.core.CoreUserTransaction.setRollbackOnly(CoreUserTransaction.java:92)
>         at org.apache.batchee.tools.services.thread.UserTransactionTransactionService$UserTransactionTxAdapter.setRollbackOnly(UserTransactionTransactionService.java:102)
>         at org.apache.batchee.container.impl.controller.chunk.ChunkStepController.rollback(ChunkStepController.java:650)
>         at org.apache.batchee.container.impl.controller.chunk.ChunkStepController.invokeChunk(ChunkStepController.java:632)
>         at org.apache.batchee.container.impl.controller.chunk.ChunkStepController.invokeCoreStep(ChunkStepController.java:666)
>         at org.apache.batchee.container.impl.controller.BaseStepController.execute(BaseStepController.java:152)
>         at org.apache.batchee.container.impl.controller.ExecutionTransitioner.doExecutionLoop(ExecutionTransitioner.java:106)
>         at org.apache.batchee.container.impl.controller.JobThreadRootController.originateExecutionOnThread(JobThreadRootController.java:110)
>         at org.apache.batchee.container.util.BatchWorkUnit.run(BatchWorkUnit.java:62)
> {code}
> Any rollback exception should get catched away and the execution should continue normally
imo. 
> Any thoughts?



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Mime
View raw message