[JBoss JIRA] (JGRP-1876) MERGE3 : Strange number and content of subgroups
by Bela Ban (JIRA)
[ https://issues.jboss.org/browse/JGRP-1876?page=com.atlassian.jira.plugin.... ]
Bela Ban edited comment on JGRP-1876 at 2/24/15 11:24 AM:
----------------------------------------------------------
{{MergeTest4.testJGRP_1876_Dan2()}} reproduces the issue described by Dan in his comment dated Jan 13:
{noformat}
S: [S]
T: [T]
U,V: [U,V]
{noformat}
The merge leaders gets INFO messages from
{noformat}
S: [S|10]
T: [T|10]
V: [U|10]
{noformat}
This results in a {{MergeView}} that excludes U:
{noformat}
S: [T|12] (3) [T, S, V]
T: [T|12] (3) [T, S, V]
U: [U|11] (2) [U, V]
V: [T|12] (3) [T, S, V]
{noformat}
The next MergeView will correct this, but we should strive to provide the correct MergeView the first time around.
was (Author: belaban):
{{MergeTest4.testJGRP_1876_Dan2()}} reproduces the issue described by Dan in his comment dated Jan 13:
* S: [S]
* T: [T]
* U,V: [U,V]
The merge leaders gets INFO messages from
* S: [S|10]
* T: [T|10]
* V: [U|10]
This results in a {{MergeView}} that excludes U:
{noformat}
S: [T|12] (3) [T, S, V]
T: [T|12] (3) [T, S, V]
U: [U|11] (2) [U, V]
V: [T|12] (3) [T, S, V]
{noformat}
The next MergeView will correct this, but we should strive to provide the correct MergeView the first time around.
> MERGE3 : Strange number and content of subgroups
> ------------------------------------------------
>
> Key: JGRP-1876
> URL: https://issues.jboss.org/browse/JGRP-1876
> Project: JGroups
> Issue Type: Bug
> Affects Versions: 3.4.2
> Reporter: Karim AMMOUS
> Assignee: Bela Ban
> Fix For: 3.6.3
>
> Attachments: 4Subgroups.zip, ChannelCreator.java, DkeJgrpAddress.java, JGRP-1876-1.pdf, karim-logs-files.zip, MergeTest4.java, MergeViewWith210Subgroups.log, SplitMergeTest.java, views.txt
>
>
> Using JGroups 3.4.2, a split occurred and a merge was processed successfully but number of subgroups is wrong (210 instead of 2).
> The final mergeView is correct and contains 210 members.
> Here is an extract of subviews:
> {code}
> INFO | Incoming-18,cluster,term-ETJ101697729-31726:host:192.168.56.6:1:CL(GROUP01)[F] | [MyMembershipListener.java:126] | (middleware) | MergeView view ID = [serv-ZM2BU35940-58033:vt-14:192.168.55.55:1:CL(GROUP01)[F]|172]
> 210 subgroups
> [....
> [term-ETJ100691812-36873:host:192.168.56.16:1:CL(GROUP01)[F]|170] (1) [term-ETJ104215245-11092:host:192.168.56.72:1:CL(GROUP01)[F]]
> [term-ETJ100691812-36873:host:192.168.56.16:1:CL(GROUP01)[F]|170] (1) [serv-ZM2BU38960-6907:asb:192.168.55.52:1:CL(GROUP01)[F]]
> [term-ETJ101697729-31726:host:192.168.56.6:1:CL(GROUP01)[F]|171] (1) [term-ETJ101697729-31726:host:192.168.56.6:1:CL(GROUP01)[F]]
> [term-ETJ100691812-36873:host:192.168.56.16:1:CL(GROUP01)[F]|170] (1) [serv-ZM2BU47533-55240:vt-14:192.168.55.57:1:CL(GROUP01)[F]]
> [term-ETJ100691812-36873:host:192.168.56.16:1:CL(GROUP01)[F]|170] (1) [serv-ZM2BU35943-49435:asb:192.168.55.51:1:CL(GROUP01)[F]]
> ....]
> {code}
> II wasn't able to reproduce that with a simple program. But I observed that merge was preceded by an ifdown/ifup on host 192.168.56.6. That member lost all others members, but it still present in their view.
> Example:
> {code}
> {A, B, C} => {A, B, C} and {C} => {A, B, C}
> {code}
--
This message was sent by Atlassian JIRA
(v6.3.11#6341)
11 years, 2 months
[JBoss JIRA] (JGRP-1876) MERGE3 : Strange number and content of subgroups
by Bela Ban (JIRA)
[ https://issues.jboss.org/browse/JGRP-1876?page=com.atlassian.jira.plugin.... ]
Bela Ban edited comment on JGRP-1876 at 2/24/15 11:23 AM:
----------------------------------------------------------
{{MergeTest4.testJGRP_1876_Dan2()}} reproduces the issue described by Dan in his comment dated Jan 13:
* S: [S]
* T: [T]
* U,V: [U,V]
The merge leaders gets INFO messages from
* S: [S|10]
* T: [T|10]
* V: [U|10]
This results in a {{MergeView}} that excludes U:
{noformat}
S: [T|12] (3) [T, S, V]
T: [T|12] (3) [T, S, V]
U: [U|11] (2) [U, V]
V: [T|12] (3) [T, S, V]
{noformat}
The next MergeView will correct this, but we should strive to provide the correct MergeView the first time around.
was (Author: belaban):
{{MergeTest4.testJGRP_1876_Dan2()}} reproduces the issue described by Dan in his comment dated Jan 13:
* S: [S]
* T: [T]
* U,V: [U,V]
The merge leaders gets INFO messages from
* S: [S|10]
* T: [T|10]
* V: [U|10]
This results in a {{MergeView}} that excludes U:
* S: [T|12] (3) [T, S, V]
* T: [T|12] (3) [T, S, V]
* U: [U|11] (2) [U, V]
* V: [T|12] (3) [T, S, V]
The next MergeView will correct this, but we should strive to provide the correct MergeView the first time around.
> MERGE3 : Strange number and content of subgroups
> ------------------------------------------------
>
> Key: JGRP-1876
> URL: https://issues.jboss.org/browse/JGRP-1876
> Project: JGroups
> Issue Type: Bug
> Affects Versions: 3.4.2
> Reporter: Karim AMMOUS
> Assignee: Bela Ban
> Fix For: 3.6.3
>
> Attachments: 4Subgroups.zip, ChannelCreator.java, DkeJgrpAddress.java, JGRP-1876-1.pdf, karim-logs-files.zip, MergeTest4.java, MergeViewWith210Subgroups.log, SplitMergeTest.java, views.txt
>
>
> Using JGroups 3.4.2, a split occurred and a merge was processed successfully but number of subgroups is wrong (210 instead of 2).
> The final mergeView is correct and contains 210 members.
> Here is an extract of subviews:
> {code}
> INFO | Incoming-18,cluster,term-ETJ101697729-31726:host:192.168.56.6:1:CL(GROUP01)[F] | [MyMembershipListener.java:126] | (middleware) | MergeView view ID = [serv-ZM2BU35940-58033:vt-14:192.168.55.55:1:CL(GROUP01)[F]|172]
> 210 subgroups
> [....
> [term-ETJ100691812-36873:host:192.168.56.16:1:CL(GROUP01)[F]|170] (1) [term-ETJ104215245-11092:host:192.168.56.72:1:CL(GROUP01)[F]]
> [term-ETJ100691812-36873:host:192.168.56.16:1:CL(GROUP01)[F]|170] (1) [serv-ZM2BU38960-6907:asb:192.168.55.52:1:CL(GROUP01)[F]]
> [term-ETJ101697729-31726:host:192.168.56.6:1:CL(GROUP01)[F]|171] (1) [term-ETJ101697729-31726:host:192.168.56.6:1:CL(GROUP01)[F]]
> [term-ETJ100691812-36873:host:192.168.56.16:1:CL(GROUP01)[F]|170] (1) [serv-ZM2BU47533-55240:vt-14:192.168.55.57:1:CL(GROUP01)[F]]
> [term-ETJ100691812-36873:host:192.168.56.16:1:CL(GROUP01)[F]|170] (1) [serv-ZM2BU35943-49435:asb:192.168.55.51:1:CL(GROUP01)[F]]
> ....]
> {code}
> II wasn't able to reproduce that with a simple program. But I observed that merge was preceded by an ifdown/ifup on host 192.168.56.6. That member lost all others members, but it still present in their view.
> Example:
> {code}
> {A, B, C} => {A, B, C} and {C} => {A, B, C}
> {code}
--
This message was sent by Atlassian JIRA
(v6.3.11#6341)
11 years, 2 months
[JBoss JIRA] (JGRP-1876) MERGE3 : Strange number and content of subgroups
by Bela Ban (JIRA)
[ https://issues.jboss.org/browse/JGRP-1876?page=com.atlassian.jira.plugin.... ]
Bela Ban commented on JGRP-1876:
--------------------------------
{{MergeTest4.testJGRP_1876_Dan2()}} reproduces the issue described by Dan in his comment dated Jan 13:
* S: [S]
* T: [T]
* U,V: [U,V]
The merge leaders gets INFO messages from
* S: [S|10]
* T: [T|10]
* V: [U|10]
This results in a {{MergeView}} that excludes U:
* S: [T|12] (3) [T, S, V]
* T: [T|12] (3) [T, S, V]
* U: [U|11] (2) [U, V]
* V: [T|12] (3) [T, S, V]
The next MergeView will correct this, but we should strive to provide the correct MergeView the first time around.
> MERGE3 : Strange number and content of subgroups
> ------------------------------------------------
>
> Key: JGRP-1876
> URL: https://issues.jboss.org/browse/JGRP-1876
> Project: JGroups
> Issue Type: Bug
> Affects Versions: 3.4.2
> Reporter: Karim AMMOUS
> Assignee: Bela Ban
> Fix For: 3.6.3
>
> Attachments: 4Subgroups.zip, ChannelCreator.java, DkeJgrpAddress.java, JGRP-1876-1.pdf, karim-logs-files.zip, MergeTest4.java, MergeViewWith210Subgroups.log, SplitMergeTest.java, views.txt
>
>
> Using JGroups 3.4.2, a split occurred and a merge was processed successfully but number of subgroups is wrong (210 instead of 2).
> The final mergeView is correct and contains 210 members.
> Here is an extract of subviews:
> {code}
> INFO | Incoming-18,cluster,term-ETJ101697729-31726:host:192.168.56.6:1:CL(GROUP01)[F] | [MyMembershipListener.java:126] | (middleware) | MergeView view ID = [serv-ZM2BU35940-58033:vt-14:192.168.55.55:1:CL(GROUP01)[F]|172]
> 210 subgroups
> [....
> [term-ETJ100691812-36873:host:192.168.56.16:1:CL(GROUP01)[F]|170] (1) [term-ETJ104215245-11092:host:192.168.56.72:1:CL(GROUP01)[F]]
> [term-ETJ100691812-36873:host:192.168.56.16:1:CL(GROUP01)[F]|170] (1) [serv-ZM2BU38960-6907:asb:192.168.55.52:1:CL(GROUP01)[F]]
> [term-ETJ101697729-31726:host:192.168.56.6:1:CL(GROUP01)[F]|171] (1) [term-ETJ101697729-31726:host:192.168.56.6:1:CL(GROUP01)[F]]
> [term-ETJ100691812-36873:host:192.168.56.16:1:CL(GROUP01)[F]|170] (1) [serv-ZM2BU47533-55240:vt-14:192.168.55.57:1:CL(GROUP01)[F]]
> [term-ETJ100691812-36873:host:192.168.56.16:1:CL(GROUP01)[F]|170] (1) [serv-ZM2BU35943-49435:asb:192.168.55.51:1:CL(GROUP01)[F]]
> ....]
> {code}
> II wasn't able to reproduce that with a simple program. But I observed that merge was preceded by an ifdown/ifup on host 192.168.56.6. That member lost all others members, but it still present in their view.
> Example:
> {code}
> {A, B, C} => {A, B, C} and {C} => {A, B, C}
> {code}
--
This message was sent by Atlassian JIRA
(v6.3.11#6341)
11 years, 2 months
[JBoss JIRA] (WFLY-4384) ContextService (JSR236): transactional context always suspended
by Tomaz Cerar (JIRA)
[ https://issues.jboss.org/browse/WFLY-4384?page=com.atlassian.jira.plugin.... ]
Tomaz Cerar reassigned WFLY-4384:
---------------------------------
Assignee: Eduardo Martins (was: Jason Greene)
> ContextService (JSR236): transactional context always suspended
> ---------------------------------------------------------------
>
> Key: WFLY-4384
> URL: https://issues.jboss.org/browse/WFLY-4384
> Project: WildFly
> Issue Type: Bug
> Components: EE
> Reporter: Maxim Frolov
> Assignee: Eduardo Martins
> Priority: Critical
>
> According to §3.3.5 of JSR-236 specification:
> ??By using an execution property when creating the contextual proxy object, application components can choose to not suspend the transactional context on the thread ...??
> Given the following EJB and Task:
> {code:java}
> @WebService(serviceName = "Jsr236WebService")
> @Stateless
> public class Jsr236WebService {
> @Inject Jsr236ManagedTask jsr236ManagedTask;
> @Resource ManagedExecutorService executor;
> @Resource ContextService contextService;
>
> @WebMethod(operationName = "hello")
> public String hello(@WebParam(name = "name") String txt) {
> Map<String, String> execProps = new HashMap<>();
> execProps.put(ManagedTask.TRANSACTION, ManagedTask.USE_TRANSACTION_OF_EXECUTION_THREAD);
> Future<String> future = executor.submit(
> contextService.createContextualProxy(jsr236ManagedTask, execProps, Callable.class));
> try {
> return future.get();
> } catch (InterruptedException | ExecutionException e) {
> throw new RuntimeException(e);
> }
> }
> }
> {code}
> {code:java}
> @Dependent
> @Transactional(Transactional.TxType.MANDATORY)
> public class Jsr236ManagedTask implements Callable<String>, ManagedTask {
> @Override
> public String call() {
> return "called";
> }
> @Override
> public Map<String, String> getExecutionProperties() {
> Map<String, String> execProps = new HashMap<>();
> execProps.put(ManagedTask.TRANSACTION, ManagedTask.USE_TRANSACTION_OF_EXECUTION_THREAD);
> return execProps;
> }
> }
> {code}
> When the {{call()}} Method of the task is called the following exception occurs:
> {noformat}
> javax.transaction.TransactionalException: ARJUNA016110: Transaction is required for invocation
> {noformat}
> See maven test project [https://github.com/wrungel/bugs/tree/master/jsr236-test] on GitHub.
--
This message was sent by Atlassian JIRA
(v6.3.11#6341)
11 years, 2 months
[JBoss JIRA] (WFLY-4384) ContextService (JSR236): transactional context always suspended
by Tomaz Cerar (JIRA)
[ https://issues.jboss.org/browse/WFLY-4384?page=com.atlassian.jira.plugin.... ]
Tomaz Cerar updated WFLY-4384:
------------------------------
Component/s: EE
> ContextService (JSR236): transactional context always suspended
> ---------------------------------------------------------------
>
> Key: WFLY-4384
> URL: https://issues.jboss.org/browse/WFLY-4384
> Project: WildFly
> Issue Type: Bug
> Components: EE
> Reporter: Maxim Frolov
> Assignee: Jason Greene
> Priority: Critical
>
> According to §3.3.5 of JSR-236 specification:
> ??By using an execution property when creating the contextual proxy object, application components can choose to not suspend the transactional context on the thread ...??
> Given the following EJB and Task:
> {code:java}
> @WebService(serviceName = "Jsr236WebService")
> @Stateless
> public class Jsr236WebService {
> @Inject Jsr236ManagedTask jsr236ManagedTask;
> @Resource ManagedExecutorService executor;
> @Resource ContextService contextService;
>
> @WebMethod(operationName = "hello")
> public String hello(@WebParam(name = "name") String txt) {
> Map<String, String> execProps = new HashMap<>();
> execProps.put(ManagedTask.TRANSACTION, ManagedTask.USE_TRANSACTION_OF_EXECUTION_THREAD);
> Future<String> future = executor.submit(
> contextService.createContextualProxy(jsr236ManagedTask, execProps, Callable.class));
> try {
> return future.get();
> } catch (InterruptedException | ExecutionException e) {
> throw new RuntimeException(e);
> }
> }
> }
> {code}
> {code:java}
> @Dependent
> @Transactional(Transactional.TxType.MANDATORY)
> public class Jsr236ManagedTask implements Callable<String>, ManagedTask {
> @Override
> public String call() {
> return "called";
> }
> @Override
> public Map<String, String> getExecutionProperties() {
> Map<String, String> execProps = new HashMap<>();
> execProps.put(ManagedTask.TRANSACTION, ManagedTask.USE_TRANSACTION_OF_EXECUTION_THREAD);
> return execProps;
> }
> }
> {code}
> When the {{call()}} Method of the task is called the following exception occurs:
> {noformat}
> javax.transaction.TransactionalException: ARJUNA016110: Transaction is required for invocation
> {noformat}
> See maven test project [https://github.com/wrungel/bugs/tree/master/jsr236-test] on GitHub.
--
This message was sent by Atlassian JIRA
(v6.3.11#6341)
11 years, 2 months
[JBoss JIRA] (WFLY-4384) ContextService (JSR236): transactional context always suspended
by Maxim Frolov (JIRA)
[ https://issues.jboss.org/browse/WFLY-4384?page=com.atlassian.jira.plugin.... ]
Maxim Frolov updated WFLY-4384:
-------------------------------
Description:
According to §3.3.5 of JSR-236 specification:
??By using an execution property when creating the contextual proxy object, application components can choose to not suspend the transactional context on the thread ...??
Given the following EJB and Task:
{code:title=Jsr236WebService.java|borderStyle=solid}
@WebService(serviceName = "Jsr236WebService")
@Stateless
public class Jsr236WebService {
@Inject Jsr236ManagedTask jsr236ManagedTask;
@Resource ManagedExecutorService executor;
@Resource ContextService contextService;
@WebMethod(operationName = "hello")
public String hello(@WebParam(name = "name") String txt) {
Map<String, String> execProps = new HashMap<>();
execProps.put(ManagedTask.TRANSACTION, ManagedTask.USE_TRANSACTION_OF_EXECUTION_THREAD);
Future<String> future = executor.submit(
contextService.createContextualProxy(jsr236ManagedTask, execProps, Callable.class));
try {
return future.get();
} catch (InterruptedException | ExecutionException e) {
throw new RuntimeException(e);
}
}
}
{code}
{code:java}
@Dependent
@Transactional(Transactional.TxType.MANDATORY)
public class Jsr236ManagedTask implements Callable<String>, ManagedTask {
@Override
public String call() {
return "called";
}
@Override
public Map<String, String> getExecutionProperties() {
Map<String, String> execProps = new HashMap<>();
execProps.put(ManagedTask.TRANSACTION, ManagedTask.USE_TRANSACTION_OF_EXECUTION_THREAD);
return execProps;
}
}
{code}
When the {{call()}} Method of the task is called the following exception occurs:
{noformat}
javax.transaction.TransactionalException: ARJUNA016110: Transaction is required for invocation
{noformat}
See maven test project [https://github.com/wrungel/bugs/tree/master/jsr236-test] on GitHub.
was:
According to §3.3.5 of JSR-236 specification:
??By using an execution property when creating the contextual proxy object, application components can choose to not suspend the transactional context on the thread ...??
Given the following EJB and Task:
{code:title=Jsr236WebService.java|borderStyle=solid}
@WebService(serviceName = "Jsr236WebService")
@Stateless
public class Jsr236WebService {
@Inject Jsr236ManagedTask jsr236ManagedTask;
@Resource ManagedExecutorService executor;
@Resource ContextService contextService;
@WebMethod(operationName = "hello")
public String hello(@WebParam(name = "name") String txt) {
Map<String, String> execProps = new HashMap<>();
execProps.put(ManagedTask.TRANSACTION, ManagedTask.USE_TRANSACTION_OF_EXECUTION_THREAD);
Future<String> future = executor.submit(
contextService.createContextualProxy(jsr236ManagedTask, execProps, Callable.class));
try {
return future.get();
} catch (InterruptedException | ExecutionException e) {
throw new RuntimeException(e);
}
}
}
{code}
{code:title=Jsr236ManagedTask.java|borderStyle=solid}
@Dependent
@Transactional(Transactional.TxType.MANDATORY)
public class Jsr236ManagedTask implements Callable<String>, ManagedTask {
@Override
public String call() {
return "called";
}
@Override
public Map<String, String> getExecutionProperties() {
Map<String, String> execProps = new HashMap<>();
execProps.put(ManagedTask.TRANSACTION, ManagedTask.USE_TRANSACTION_OF_EXECUTION_THREAD);
return execProps;
}
}
{code}
When the {{call()}} Method of the task is called the following exception occurs:
{noformat}
javax.transaction.TransactionalException: ARJUNA016110: Transaction is required for invocation
{noformat}
See maven test project [https://github.com/wrungel/bugs/tree/master/jsr236-test] on GitHub.
> ContextService (JSR236): transactional context always suspended
> ---------------------------------------------------------------
>
> Key: WFLY-4384
> URL: https://issues.jboss.org/browse/WFLY-4384
> Project: WildFly
> Issue Type: Bug
> Reporter: Maxim Frolov
> Assignee: Jason Greene
> Priority: Critical
>
> According to §3.3.5 of JSR-236 specification:
> ??By using an execution property when creating the contextual proxy object, application components can choose to not suspend the transactional context on the thread ...??
> Given the following EJB and Task:
> {code:title=Jsr236WebService.java|borderStyle=solid}
> @WebService(serviceName = "Jsr236WebService")
> @Stateless
> public class Jsr236WebService {
> @Inject Jsr236ManagedTask jsr236ManagedTask;
> @Resource ManagedExecutorService executor;
> @Resource ContextService contextService;
>
> @WebMethod(operationName = "hello")
> public String hello(@WebParam(name = "name") String txt) {
> Map<String, String> execProps = new HashMap<>();
> execProps.put(ManagedTask.TRANSACTION, ManagedTask.USE_TRANSACTION_OF_EXECUTION_THREAD);
> Future<String> future = executor.submit(
> contextService.createContextualProxy(jsr236ManagedTask, execProps, Callable.class));
> try {
> return future.get();
> } catch (InterruptedException | ExecutionException e) {
> throw new RuntimeException(e);
> }
> }
> }
> {code}
> {code:java}
> @Dependent
> @Transactional(Transactional.TxType.MANDATORY)
> public class Jsr236ManagedTask implements Callable<String>, ManagedTask {
> @Override
> public String call() {
> return "called";
> }
> @Override
> public Map<String, String> getExecutionProperties() {
> Map<String, String> execProps = new HashMap<>();
> execProps.put(ManagedTask.TRANSACTION, ManagedTask.USE_TRANSACTION_OF_EXECUTION_THREAD);
> return execProps;
> }
> }
> {code}
> When the {{call()}} Method of the task is called the following exception occurs:
> {noformat}
> javax.transaction.TransactionalException: ARJUNA016110: Transaction is required for invocation
> {noformat}
> See maven test project [https://github.com/wrungel/bugs/tree/master/jsr236-test] on GitHub.
--
This message was sent by Atlassian JIRA
(v6.3.11#6341)
11 years, 2 months
[JBoss JIRA] (WFLY-4384) ContextService (JSR236): transactional context always suspended
by Maxim Frolov (JIRA)
[ https://issues.jboss.org/browse/WFLY-4384?page=com.atlassian.jira.plugin.... ]
Maxim Frolov updated WFLY-4384:
-------------------------------
Description:
According to §3.3.5 of JSR-236 specification:
??By using an execution property when creating the contextual proxy object, application components can choose to not suspend the transactional context on the thread ...??
Given the following EJB and Task:
{code:java}
@WebService(serviceName = "Jsr236WebService")
@Stateless
public class Jsr236WebService {
@Inject Jsr236ManagedTask jsr236ManagedTask;
@Resource ManagedExecutorService executor;
@Resource ContextService contextService;
@WebMethod(operationName = "hello")
public String hello(@WebParam(name = "name") String txt) {
Map<String, String> execProps = new HashMap<>();
execProps.put(ManagedTask.TRANSACTION, ManagedTask.USE_TRANSACTION_OF_EXECUTION_THREAD);
Future<String> future = executor.submit(
contextService.createContextualProxy(jsr236ManagedTask, execProps, Callable.class));
try {
return future.get();
} catch (InterruptedException | ExecutionException e) {
throw new RuntimeException(e);
}
}
}
{code}
{code:java}
@Dependent
@Transactional(Transactional.TxType.MANDATORY)
public class Jsr236ManagedTask implements Callable<String>, ManagedTask {
@Override
public String call() {
return "called";
}
@Override
public Map<String, String> getExecutionProperties() {
Map<String, String> execProps = new HashMap<>();
execProps.put(ManagedTask.TRANSACTION, ManagedTask.USE_TRANSACTION_OF_EXECUTION_THREAD);
return execProps;
}
}
{code}
When the {{call()}} Method of the task is called the following exception occurs:
{noformat}
javax.transaction.TransactionalException: ARJUNA016110: Transaction is required for invocation
{noformat}
See maven test project [https://github.com/wrungel/bugs/tree/master/jsr236-test] on GitHub.
was:
According to §3.3.5 of JSR-236 specification:
??By using an execution property when creating the contextual proxy object, application components can choose to not suspend the transactional context on the thread ...??
Given the following EJB and Task:
{code:title=Jsr236WebService.java|borderStyle=solid}
@WebService(serviceName = "Jsr236WebService")
@Stateless
public class Jsr236WebService {
@Inject Jsr236ManagedTask jsr236ManagedTask;
@Resource ManagedExecutorService executor;
@Resource ContextService contextService;
@WebMethod(operationName = "hello")
public String hello(@WebParam(name = "name") String txt) {
Map<String, String> execProps = new HashMap<>();
execProps.put(ManagedTask.TRANSACTION, ManagedTask.USE_TRANSACTION_OF_EXECUTION_THREAD);
Future<String> future = executor.submit(
contextService.createContextualProxy(jsr236ManagedTask, execProps, Callable.class));
try {
return future.get();
} catch (InterruptedException | ExecutionException e) {
throw new RuntimeException(e);
}
}
}
{code}
{code:java}
@Dependent
@Transactional(Transactional.TxType.MANDATORY)
public class Jsr236ManagedTask implements Callable<String>, ManagedTask {
@Override
public String call() {
return "called";
}
@Override
public Map<String, String> getExecutionProperties() {
Map<String, String> execProps = new HashMap<>();
execProps.put(ManagedTask.TRANSACTION, ManagedTask.USE_TRANSACTION_OF_EXECUTION_THREAD);
return execProps;
}
}
{code}
When the {{call()}} Method of the task is called the following exception occurs:
{noformat}
javax.transaction.TransactionalException: ARJUNA016110: Transaction is required for invocation
{noformat}
See maven test project [https://github.com/wrungel/bugs/tree/master/jsr236-test] on GitHub.
> ContextService (JSR236): transactional context always suspended
> ---------------------------------------------------------------
>
> Key: WFLY-4384
> URL: https://issues.jboss.org/browse/WFLY-4384
> Project: WildFly
> Issue Type: Bug
> Reporter: Maxim Frolov
> Assignee: Jason Greene
> Priority: Critical
>
> According to §3.3.5 of JSR-236 specification:
> ??By using an execution property when creating the contextual proxy object, application components can choose to not suspend the transactional context on the thread ...??
> Given the following EJB and Task:
> {code:java}
> @WebService(serviceName = "Jsr236WebService")
> @Stateless
> public class Jsr236WebService {
> @Inject Jsr236ManagedTask jsr236ManagedTask;
> @Resource ManagedExecutorService executor;
> @Resource ContextService contextService;
>
> @WebMethod(operationName = "hello")
> public String hello(@WebParam(name = "name") String txt) {
> Map<String, String> execProps = new HashMap<>();
> execProps.put(ManagedTask.TRANSACTION, ManagedTask.USE_TRANSACTION_OF_EXECUTION_THREAD);
> Future<String> future = executor.submit(
> contextService.createContextualProxy(jsr236ManagedTask, execProps, Callable.class));
> try {
> return future.get();
> } catch (InterruptedException | ExecutionException e) {
> throw new RuntimeException(e);
> }
> }
> }
> {code}
> {code:java}
> @Dependent
> @Transactional(Transactional.TxType.MANDATORY)
> public class Jsr236ManagedTask implements Callable<String>, ManagedTask {
> @Override
> public String call() {
> return "called";
> }
> @Override
> public Map<String, String> getExecutionProperties() {
> Map<String, String> execProps = new HashMap<>();
> execProps.put(ManagedTask.TRANSACTION, ManagedTask.USE_TRANSACTION_OF_EXECUTION_THREAD);
> return execProps;
> }
> }
> {code}
> When the {{call()}} Method of the task is called the following exception occurs:
> {noformat}
> javax.transaction.TransactionalException: ARJUNA016110: Transaction is required for invocation
> {noformat}
> See maven test project [https://github.com/wrungel/bugs/tree/master/jsr236-test] on GitHub.
--
This message was sent by Atlassian JIRA
(v6.3.11#6341)
11 years, 2 months
[JBoss JIRA] (WFLY-4384) ContextService (JSR236): transactional context always suspended
by Maxim Frolov (JIRA)
[ https://issues.jboss.org/browse/WFLY-4384?page=com.atlassian.jira.plugin.... ]
Maxim Frolov updated WFLY-4384:
-------------------------------
Description:
According to §3.3.5 of JSR-236 specification:
??By using an execution property when creating the contextual proxy object, application components can choose to not suspend the transactional context on the thread ...??
Given the following EJB and Task:
{code:title=Jsr236WebService.java|borderStyle=solid}
@WebService(serviceName = "Jsr236WebService")
@Stateless
public class Jsr236WebService {
@Inject Jsr236ManagedTask jsr236ManagedTask;
@Resource ManagedExecutorService executor;
@Resource ContextService contextService;
@WebMethod(operationName = "hello")
public String hello(@WebParam(name = "name") String txt) {
Map<String, String> execProps = new HashMap<>();
execProps.put(ManagedTask.TRANSACTION, ManagedTask.USE_TRANSACTION_OF_EXECUTION_THREAD);
Future<String> future = executor.submit(
contextService.createContextualProxy(jsr236ManagedTask, execProps, Callable.class));
try {
return future.get();
} catch (InterruptedException | ExecutionException e) {
throw new RuntimeException(e);
}
}
}
{code}
{code:title=Jsr236ManagedTask.java|borderStyle=solid}
@Dependent
@Transactional(Transactional.TxType.MANDATORY)
public class Jsr236ManagedTask implements Callable<String>, ManagedTask {
@Override
public String call() {
return "called";
}
@Override
public Map<String, String> getExecutionProperties() {
Map<String, String> execProps = new HashMap<>();
execProps.put(ManagedTask.TRANSACTION, ManagedTask.USE_TRANSACTION_OF_EXECUTION_THREAD);
return execProps;
}
}
{code}
When the {{call()}} Method of the task is called the following exception occurs:
{noformat}
javax.transaction.TransactionalException: ARJUNA016110: Transaction is required for invocation
{noformat}
See maven test project [https://github.com/wrungel/bugs/tree/master/jsr236-test] on GitHub.
was:
According to §3.3.5 of JSR-236 specification:
??By using an execution property when creating the contextual proxy object, application components can choose to not suspend the transactional context on the thread ...??
Given the following EJB and Task:
{code:title=Jsr236WebService.java|borderStyle=solid}
@WebService(serviceName = "Jsr236WebService")
@Stateless
public class Jsr236WebService {
@Inject Jsr236ManagedTask jsr236ManagedTask;
@Resource ManagedExecutorService executor;
@Resource ContextService contextService;
@WebMethod(operationName = "hello")
public String hello(@WebParam(name = "name") String txt) {
Map<String, String> execProps = new HashMap<>();
execProps.put(ManagedTask.TRANSACTION, ManagedTask.USE_TRANSACTION_OF_EXECUTION_THREAD);
Future<String> future = executor.submit(
contextService.createContextualProxy(jsr236ManagedTask, execProps, Callable.class));
try {
return future.get();
} catch (InterruptedException | ExecutionException e) {
throw new RuntimeException(e);
}
}
}
{code}
{code:title=Jsr236ManagedTask.java|borderStyle=solid}
@Dependent
@Transactional(Transactional.TxType.MANDATORY)
public class Jsr236ManagedTask implements Callable<String>, ManagedTask {
@Override
public String call() {
return "called";
}
@Override
public Map<String, String> getExecutionProperties() {
Map<String, String> execProps = new HashMap<>();
execProps.put(ManagedTask.TRANSACTION, ManagedTask.USE_TRANSACTION_OF_EXECUTION_THREAD);
return execProps;
}
}
{code}
Calling the run() Method of the task causes
{noformat}
javax.transaction.TransactionalException: ARJUNA016110: Transaction is required for invocation
{noformat}
See maven test project [https://github.com/wrungel/bugs/tree/master/jsr236-test] on GitHub.
> ContextService (JSR236): transactional context always suspended
> ---------------------------------------------------------------
>
> Key: WFLY-4384
> URL: https://issues.jboss.org/browse/WFLY-4384
> Project: WildFly
> Issue Type: Bug
> Reporter: Maxim Frolov
> Assignee: Jason Greene
> Priority: Critical
>
> According to §3.3.5 of JSR-236 specification:
> ??By using an execution property when creating the contextual proxy object, application components can choose to not suspend the transactional context on the thread ...??
> Given the following EJB and Task:
> {code:title=Jsr236WebService.java|borderStyle=solid}
> @WebService(serviceName = "Jsr236WebService")
> @Stateless
> public class Jsr236WebService {
> @Inject Jsr236ManagedTask jsr236ManagedTask;
> @Resource ManagedExecutorService executor;
> @Resource ContextService contextService;
>
> @WebMethod(operationName = "hello")
> public String hello(@WebParam(name = "name") String txt) {
> Map<String, String> execProps = new HashMap<>();
> execProps.put(ManagedTask.TRANSACTION, ManagedTask.USE_TRANSACTION_OF_EXECUTION_THREAD);
> Future<String> future = executor.submit(
> contextService.createContextualProxy(jsr236ManagedTask, execProps, Callable.class));
> try {
> return future.get();
> } catch (InterruptedException | ExecutionException e) {
> throw new RuntimeException(e);
> }
> }
> }
> {code}
> {code:title=Jsr236ManagedTask.java|borderStyle=solid}
> @Dependent
> @Transactional(Transactional.TxType.MANDATORY)
> public class Jsr236ManagedTask implements Callable<String>, ManagedTask {
> @Override
> public String call() {
> return "called";
> }
> @Override
> public Map<String, String> getExecutionProperties() {
> Map<String, String> execProps = new HashMap<>();
> execProps.put(ManagedTask.TRANSACTION, ManagedTask.USE_TRANSACTION_OF_EXECUTION_THREAD);
> return execProps;
> }
> }
> {code}
> When the {{call()}} Method of the task is called the following exception occurs:
> {noformat}
> javax.transaction.TransactionalException: ARJUNA016110: Transaction is required for invocation
> {noformat}
> See maven test project [https://github.com/wrungel/bugs/tree/master/jsr236-test] on GitHub.
--
This message was sent by Atlassian JIRA
(v6.3.11#6341)
11 years, 2 months
[JBoss JIRA] (WFLY-4384) ContextService (JSR236): transactional context always suspended
by Maxim Frolov (JIRA)
Maxim Frolov created WFLY-4384:
----------------------------------
Summary: ContextService (JSR236): transactional context always suspended
Key: WFLY-4384
URL: https://issues.jboss.org/browse/WFLY-4384
Project: WildFly
Issue Type: Bug
Reporter: Maxim Frolov
Assignee: Jason Greene
Priority: Critical
According to §3.3.5 of JSR-236 specification:
??By using an execution property when creating the contextual proxy object, application components can choose to not suspend the transactional context on the thread ...??
Given the following EJB and Task:
{code:title=Jsr236WebService.java|borderStyle=solid}
@WebService(serviceName = "Jsr236WebService")
@Stateless
public class Jsr236WebService {
@Inject Jsr236ManagedTask jsr236ManagedTask;
@Resource ManagedExecutorService executor;
@Resource ContextService contextService;
@WebMethod(operationName = "hello")
public String hello(@WebParam(name = "name") String txt) {
Map<String, String> execProps = new HashMap<>();
execProps.put(ManagedTask.TRANSACTION, ManagedTask.USE_TRANSACTION_OF_EXECUTION_THREAD);
Future<String> future = executor.submit(
contextService.createContextualProxy(jsr236ManagedTask, execProps, Callable.class));
try {
return future.get();
} catch (InterruptedException | ExecutionException e) {
throw new RuntimeException(e);
}
}
}
{code}
{code:title=Jsr236ManagedTask.java|borderStyle=solid}
@Dependent
@Transactional(Transactional.TxType.MANDATORY)
public class Jsr236ManagedTask implements Callable<String>, ManagedTask {
@Override
public String call() {
return "called";
}
@Override
public Map<String, String> getExecutionProperties() {
Map<String, String> execProps = new HashMap<>();
execProps.put(ManagedTask.TRANSACTION, ManagedTask.USE_TRANSACTION_OF_EXECUTION_THREAD);
return execProps;
}
}
{code}
Calling the run() Method of the task causes
{noformat}
javax.transaction.TransactionalException: ARJUNA016110: Transaction is required for invocation
{noformat}
See maven test project [https://github.com/wrungel/bugs/tree/master/jsr236-test] on GitHub.
--
This message was sent by Atlassian JIRA
(v6.3.11#6341)
11 years, 2 months