[JBoss JIRA] (ISPN-6424) Distributed Executor get can propagate exception if interrupt returns before cancellation
by William Burns (JIRA)
[ https://issues.jboss.org/browse/ISPN-6424?page=com.atlassian.jira.plugin.... ]
William Burns commented on ISPN-6424:
-------------------------------------
[~dan.berindei] I was fully aware of that exception, and it is only part of the issue.
The core problem is when the following happens
# n1 userthread - distributed executor submits a task
# n1 userthread - task is interrupted
# n1 userthread - distributed executor sends cancellation command to remote node
# n2 remote thread - interrupts task and send back the exception you just mentioned
# n1 remote thread - receives exception response
# n1 remote thread - sets exception status on future
# n1 user thread tries to interrupt future but cannot since it was completed with exception
Unless you are saying to know somehow in the n2 remote thread that it was caused due solely to an interrupt and instead send back some kind of cancelled response? But in that case we will mess up other exception call stacks if the cache was actually shut down.
Thus my change is to make sure to set the cancelled status on the future before we even send the remote cancellation which prevents this timing issue.
> Distributed Executor get can propagate exception if interrupt returns before cancellation
> -----------------------------------------------------------------------------------------
>
> Key: ISPN-6424
> URL: https://issues.jboss.org/browse/ISPN-6424
> Project: Infinispan
> Issue Type: Bug
> Components: Distributed Execution and Map/Reduce
> Reporter: William Burns
> Assignee: William Burns
> Fix For: 9.0.0.Alpha1
>
>
> This can cause get method to return an exception of the operation being interrupted instead of a CancellationException as it should.
> This causes a test failure http://ci.infinispan.org/viewLog.html?buildId=37756&tab=buildResultsDiv&b...
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
8 years, 1 month
[JBoss JIRA] (ISPN-6450) Remove module infinispan-rhq-plugin
by Dan Berindei (JIRA)
Dan Berindei created ISPN-6450:
----------------------------------
Summary: Remove module infinispan-rhq-plugin
Key: ISPN-6450
URL: https://issues.jboss.org/browse/ISPN-6450
Project: Infinispan
Issue Type: Task
Components: Build process
Reporter: Dan Berindei
Assignee: Dan Berindei
Fix For: 9.0.0.Final, 9.0.0.Alpha1
The RHQ plugin is not really used, especially now that we have our own console, so we should remove it.
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
8 years, 1 month
[JBoss JIRA] (ISPN-6449) DistSyncNonTxStateTransferTest.testCancelStateTransfer sometimes hangs
by Dan Berindei (JIRA)
Dan Berindei created ISPN-6449:
----------------------------------
Summary: DistSyncNonTxStateTransferTest.testCancelStateTransfer sometimes hangs
Key: ISPN-6449
URL: https://issues.jboss.org/browse/ISPN-6449
Project: Infinispan
Issue Type: Bug
Components: Test Suite - Core
Affects Versions: 8.2.0.Final
Reporter: Dan Berindei
{{ControlledTransport.waitForCommandToBlock}} should use a timeout:
{noformat}
"testng-DistSyncNonTxStateTransferTest" #13 prio=5 os_prio=0 tid=0x00007f571cd8d800 nid=0xb8c waiting on condition [0x00007f56c4184000]
java.lang.Thread.State: WAITING (parking)
at sun.misc.Unsafe.park(Native Method)
- parking to wait for <0x00000000a850a2d0> (a org.infinispan.util.concurrent.ReclosableLatch)
at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
at java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(AbstractQueuedSynchronizer.java:836)
at java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquireSharedInterruptibly(AbstractQueuedSynchronizer.java:997)
at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireSharedInterruptibly(AbstractQueuedSynchronizer.java:1304)
at org.infinispan.util.concurrent.ReclosableLatch.await(ReclosableLatch.java:58)
at org.infinispan.remoting.transport.ControlledTransport.waitForCommandToBlock(ControlledTransport.java:72)
at org.infinispan.xsite.statetransfer.BaseStateTransferTest.testCancelStateTransfer(BaseStateTransferTest.java:92)
{noformat}
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
8 years, 1 month
[JBoss JIRA] (ISPN-6444) AsyncReplExtendedStatisticTest.testReplace random failures
by Pedro Ruivo (JIRA)
[ https://issues.jboss.org/browse/ISPN-6444?page=com.atlassian.jira.plugin.... ]
Pedro Ruivo updated ISPN-6444:
------------------------------
Status: Pull Request Sent (was: Open)
Git Pull Request: https://github.com/infinispan/infinispan/pull/4194
> AsyncReplExtendedStatisticTest.testReplace random failures
> ----------------------------------------------------------
>
> Key: ISPN-6444
> URL: https://issues.jboss.org/browse/ISPN-6444
> Project: Infinispan
> Issue Type: Bug
> Components: Test Suite - Core
> Affects Versions: 8.2.0.Final
> Reporter: Dan Berindei
> Assignee: Pedro Ruivo
> Priority: Critical
> Labels: testsuite_stability
> Fix For: 9.0.0.Alpha1
>
>
> The prepare command from {{testRemoveUnexistingEntry}} can execute during the next test method, {{testReplace}}, causing random failures.
> {noformat}
> 16:32:39,725 TRACE (testng-AsyncReplExtendedStatisticTest:[___defaultcache]) [InvocationContextInterceptor] Invoked with command PrepareCommand {modifications=[RemoveCommand{key=key_1, value=null, flags=[], valueMatcher=MATCH_ALWAYS}], onePhaseCommit=true, retried=false, gtx=GlobalTx:NodeA-13326:391, cacheName='___defaultcache', topologyId=-1} and InvocationContext [org.infinispan.context.impl.LocalTxInvocationContext@242fb621]
> 16:32:39,757 INFO (testng-AsyncReplExtendedStatisticTest:[]) [UnitTestTestNGListener] Test testRemoveUnexistingEntry(org.infinispan.stats.simple.AsyncReplExtendedStatisticTest) succeeded.
> 16:32:39,758 INFO (testng-AsyncReplExtendedStatisticTest:[]) [UnitTestTestNGListener] Starting test testReplace(org.infinispan.stats.simple.AsyncReplExtendedStatisticTest)
> 16:32:39,759 TRACE (testng-AsyncReplExtendedStatisticTest:[___defaultcache]) [ReadCommittedEntry] Updating entry (key=key_1 removed=false valid=true changed=true created=true value=value_1 metadata=EmbeddedExpirableMetadata{lifespan=-1, maxIdle=-1, version=null}, providedMetadata=null)
> 16:32:39,771 TRACE (Incoming-1,NodeB-13809:[___defaultcache]) [InvocationContextInterceptor] Invoked with command PrepareCommand {modifications=[RemoveCommand{key=key_1, value=null, flags=[], valueMatcher=MATCH_ALWAYS}], onePhaseCommit=true, retried=false, gtx=GlobalTx:NodeA-13326:391, cacheName='___defaultcache', topologyId=2} and InvocationContext [org.infinispan.context.impl.RemoteTxInvocationContext@7c97b3fd]
> 16:32:39,778 TRACE (Incoming-1,NodeB-13809:[___defaultcache]) [ReadCommittedEntry] Updating entry (key=key_1 removed=true valid=false changed=true created=false value=value_1 metadata=EmbeddedMetadata{version=null}, providedMetadata=null)
> 16:32:39,786 TRACE (Incoming-1,NodeA-13326:[___defaultcache]) [ReadCommittedEntry] Updating entry (key=key_1 removed=false valid=true changed=true created=true value=value_1 metadata=EmbeddedExpirableMetadata{lifespan=-1, maxIdle=-1, version=null}, providedMetadata=null)
> 16:32:49,853 ERROR (testng-AsyncReplExtendedStatisticTest:[]) [UnitTestTestNGListener] Test testReplace(org.infinispan.stats.simple.AsyncReplExtendedStatisticTest) failed.
> java.lang.AssertionError:
> at org.testng.AssertJUnit.fail(AssertJUnit.java:59) ~[testng-6.8.8.jar:?]
> at org.testng.AssertJUnit.assertTrue(AssertJUnit.java:24) ~[testng-6.8.8.jar:?]
> at org.infinispan.test.AbstractInfinispanTest.eventually(AbstractInfinispanTest.java:170) ~[infinispan-core-9.0.0-SNAPSHOT-tests.jar:9.0.0-SNAPSHOT]
> at org.infinispan.test.AbstractInfinispanTest.eventually(AbstractInfinispanTest.java:152) ~[infinispan-core-9.0.0-SNAPSHOT-tests.jar:9.0.0-SNAPSHOT]
> at org.infinispan.test.AbstractInfinispanTest.eventually(AbstractInfinispanTest.java:128) ~[infinispan-core-9.0.0-SNAPSHOT-tests.jar:9.0.0-SNAPSHOT]
> at org.infinispan.test.AbstractInfinispanTest.eventually(AbstractInfinispanTest.java:462) ~[infinispan-core-9.0.0-SNAPSHOT-tests.jar:9.0.0-SNAPSHOT]
> at org.infinispan.test.MultipleCacheManagersTest.assertEventuallyEquals(MultipleCacheManagersTest.java:586) ~[infinispan-core-9.0.0-SNAPSHOT-tests.jar:9.0.0-SNAPSHOT]
> at org.infinispan.stats.BaseClusteredExtendedStatisticTest.assertCacheValue(BaseClusteredExtendedStatisticTest.java:307) ~[test-classes/:?]
> at org.infinispan.stats.BaseClusteredExtendedStatisticTest.testReplace(BaseClusteredExtendedStatisticTest.java:208) ~[test-classes/:?]
> {noformat}
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
8 years, 1 month
[JBoss JIRA] (ISPN-6444) AsyncReplExtendedStatisticTest.testReplace random failures
by Pedro Ruivo (JIRA)
[ https://issues.jboss.org/browse/ISPN-6444?page=com.atlassian.jira.plugin.... ]
Pedro Ruivo commented on ISPN-6444:
-----------------------------------
having unique keys per method will probably do the trick and avoid this random failures.
> AsyncReplExtendedStatisticTest.testReplace random failures
> ----------------------------------------------------------
>
> Key: ISPN-6444
> URL: https://issues.jboss.org/browse/ISPN-6444
> Project: Infinispan
> Issue Type: Bug
> Components: Test Suite - Core
> Affects Versions: 8.2.0.Final
> Reporter: Dan Berindei
> Assignee: Pedro Ruivo
> Priority: Critical
> Labels: testsuite_stability
> Fix For: 9.0.0.Alpha1
>
>
> The prepare command from {{testRemoveUnexistingEntry}} can execute during the next test method, {{testReplace}}, causing random failures.
> {noformat}
> 16:32:39,725 TRACE (testng-AsyncReplExtendedStatisticTest:[___defaultcache]) [InvocationContextInterceptor] Invoked with command PrepareCommand {modifications=[RemoveCommand{key=key_1, value=null, flags=[], valueMatcher=MATCH_ALWAYS}], onePhaseCommit=true, retried=false, gtx=GlobalTx:NodeA-13326:391, cacheName='___defaultcache', topologyId=-1} and InvocationContext [org.infinispan.context.impl.LocalTxInvocationContext@242fb621]
> 16:32:39,757 INFO (testng-AsyncReplExtendedStatisticTest:[]) [UnitTestTestNGListener] Test testRemoveUnexistingEntry(org.infinispan.stats.simple.AsyncReplExtendedStatisticTest) succeeded.
> 16:32:39,758 INFO (testng-AsyncReplExtendedStatisticTest:[]) [UnitTestTestNGListener] Starting test testReplace(org.infinispan.stats.simple.AsyncReplExtendedStatisticTest)
> 16:32:39,759 TRACE (testng-AsyncReplExtendedStatisticTest:[___defaultcache]) [ReadCommittedEntry] Updating entry (key=key_1 removed=false valid=true changed=true created=true value=value_1 metadata=EmbeddedExpirableMetadata{lifespan=-1, maxIdle=-1, version=null}, providedMetadata=null)
> 16:32:39,771 TRACE (Incoming-1,NodeB-13809:[___defaultcache]) [InvocationContextInterceptor] Invoked with command PrepareCommand {modifications=[RemoveCommand{key=key_1, value=null, flags=[], valueMatcher=MATCH_ALWAYS}], onePhaseCommit=true, retried=false, gtx=GlobalTx:NodeA-13326:391, cacheName='___defaultcache', topologyId=2} and InvocationContext [org.infinispan.context.impl.RemoteTxInvocationContext@7c97b3fd]
> 16:32:39,778 TRACE (Incoming-1,NodeB-13809:[___defaultcache]) [ReadCommittedEntry] Updating entry (key=key_1 removed=true valid=false changed=true created=false value=value_1 metadata=EmbeddedMetadata{version=null}, providedMetadata=null)
> 16:32:39,786 TRACE (Incoming-1,NodeA-13326:[___defaultcache]) [ReadCommittedEntry] Updating entry (key=key_1 removed=false valid=true changed=true created=true value=value_1 metadata=EmbeddedExpirableMetadata{lifespan=-1, maxIdle=-1, version=null}, providedMetadata=null)
> 16:32:49,853 ERROR (testng-AsyncReplExtendedStatisticTest:[]) [UnitTestTestNGListener] Test testReplace(org.infinispan.stats.simple.AsyncReplExtendedStatisticTest) failed.
> java.lang.AssertionError:
> at org.testng.AssertJUnit.fail(AssertJUnit.java:59) ~[testng-6.8.8.jar:?]
> at org.testng.AssertJUnit.assertTrue(AssertJUnit.java:24) ~[testng-6.8.8.jar:?]
> at org.infinispan.test.AbstractInfinispanTest.eventually(AbstractInfinispanTest.java:170) ~[infinispan-core-9.0.0-SNAPSHOT-tests.jar:9.0.0-SNAPSHOT]
> at org.infinispan.test.AbstractInfinispanTest.eventually(AbstractInfinispanTest.java:152) ~[infinispan-core-9.0.0-SNAPSHOT-tests.jar:9.0.0-SNAPSHOT]
> at org.infinispan.test.AbstractInfinispanTest.eventually(AbstractInfinispanTest.java:128) ~[infinispan-core-9.0.0-SNAPSHOT-tests.jar:9.0.0-SNAPSHOT]
> at org.infinispan.test.AbstractInfinispanTest.eventually(AbstractInfinispanTest.java:462) ~[infinispan-core-9.0.0-SNAPSHOT-tests.jar:9.0.0-SNAPSHOT]
> at org.infinispan.test.MultipleCacheManagersTest.assertEventuallyEquals(MultipleCacheManagersTest.java:586) ~[infinispan-core-9.0.0-SNAPSHOT-tests.jar:9.0.0-SNAPSHOT]
> at org.infinispan.stats.BaseClusteredExtendedStatisticTest.assertCacheValue(BaseClusteredExtendedStatisticTest.java:307) ~[test-classes/:?]
> at org.infinispan.stats.BaseClusteredExtendedStatisticTest.testReplace(BaseClusteredExtendedStatisticTest.java:208) ~[test-classes/:?]
> {noformat}
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
8 years, 1 month
[JBoss JIRA] (ISPN-6448) ClassNotFoundException warnings in infinispan-rhq-plugin and infinispan-jcache-tck-runner build
by Dan Berindei (JIRA)
Dan Berindei created ISPN-6448:
----------------------------------
Summary: ClassNotFoundException warnings in infinispan-rhq-plugin and infinispan-jcache-tck-runner build
Key: ISPN-6448
URL: https://issues.jboss.org/browse/ISPN-6448
Project: Infinispan
Issue Type: Bug
Components: Build process
Reporter: Dan Berindei
Fix For: 9.0.0.Alpha1
There are about 90 exceptions like this in total:
{noformat}
[13:09:19] : [org.infinispan:infinispan-jcache-tck-runner] 6550 [WARN] ClassFinder: From jar path org/infinispan/objectfilter/impl/ProtobufMatcher$1.class could not load class org.infinispan.objectfilter.impl.ProtobufMatcher$1
[13:09:19] : [org.infinispan:infinispan-jcache-tck-runner] java.lang.ClassNotFoundException: org.infinispan.objectfilter.impl.ProtobufMatcher$1
[13:09:19] : [org.infinispan:infinispan-jcache-tck-runner] at java.net.URLClassLoader.findClass(URLClassLoader.java:381) ~[?:1.8.0_45]
[13:09:19] : [org.infinispan:infinispan-jcache-tck-runner] at java.lang.ClassLoader.loadClass(ClassLoader.java:424) ~[?:1.8.0_45]
[13:09:19] : [org.infinispan:infinispan-jcache-tck-runner] at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331) ~[?:1.8.0_45]
[13:09:19] : [org.infinispan:infinispan-jcache-tck-runner] at java.lang.ClassLoader.loadClass(ClassLoader.java:357) ~[?:1.8.0_45]
[13:09:19] : [org.infinispan:infinispan-jcache-tck-runner] at java.lang.Class.forName0(Native Method) ~[?:1.8.0_45]
[13:09:19] : [org.infinispan:infinispan-jcache-tck-runner] at java.lang.Class.forName(Class.java:348) ~[?:1.8.0_45]
[13:09:19] : [org.infinispan:infinispan-jcache-tck-runner] at org.infinispan.commons.util.Util.loadClassStrict(Util.java:171) ~[infinispan-commons.jar:9.0.0-SNAPSHOT]
[13:09:19] : [org.infinispan:infinispan-jcache-tck-runner] at org.infinispan.commons.util.ClassFinder.findClassesOnPath(ClassFinder.java:145) [infinispan-commons.jar:9.0.0-SNAPSHOT]
[13:09:19] : [org.infinispan:infinispan-jcache-tck-runner] at org.infinispan.commons.util.ClassFinder.infinispanClasses(ClassFinder.java:90) [infinispan-commons.jar:9.0.0-SNAPSHOT]
[13:09:19] : [org.infinispan:infinispan-jcache-tck-runner] at org.infinispan.tools.rhq.RhqPluginXmlGenerator.getMBeanClasses(RhqPluginXmlGenerator.java:117) [infinispan-tools.jar:9.0.0-SNAPSHOT]
[13:09:19] : [org.infinispan:infinispan-jcache-tck-runner] at org.infinispan.tools.rhq.RhqPluginXmlGenerator.start(RhqPluginXmlGenerator.java:75) [infinispan-tools.jar:9.0.0-SNAPSHOT]
[13:09:19] : [org.infinispan:infinispan-jcache-tck-runner] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_45]
[13:09:19] : [org.infinispan:infinispan-jcache-tck-runner] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_45]
[13:09:19] : [org.infinispan:infinispan-jcache-tck-runner] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_45]
[13:09:19] : [org.infinispan:infinispan-jcache-tck-runner] at java.lang.reflect.Method.invoke(Method.java:497) ~[?:1.8.0_45]
[13:09:19] : [org.infinispan:infinispan-jcache-tck-runner] at com.sun.tools.javadoc.DocletInvoker.invoke(DocletInvoker.java:310) [tools.jar:?]
[13:09:19] : [org.infinispan:infinispan-jcache-tck-runner] at com.sun.tools.javadoc.DocletInvoker.start(DocletInvoker.java:189) [tools.jar:?]
[13:09:19] : [org.infinispan:infinispan-jcache-tck-runner] at com.sun.tools.javadoc.Start.parseAndExecute(Start.java:366) [tools.jar:?]
[13:09:19] : [org.infinispan:infinispan-jcache-tck-runner] at com.sun.tools.javadoc.Start.begin(Start.java:219) [tools.jar:?]
[13:09:19] : [org.infinispan:infinispan-jcache-tck-runner] at com.sun.tools.javadoc.Start.begin(Start.java:205) [tools.jar:?]
[13:09:19] : [org.infinispan:infinispan-jcache-tck-runner] at com.sun.tools.javadoc.Main.execute(Main.java:64) [tools.jar:?]
[13:09:19] : [org.infinispan:infinispan-jcache-tck-runner] at com.sun.tools.javadoc.Main.main(Main.java:54) [tools.jar:?]
{noformat}
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
8 years, 1 month
[JBoss JIRA] (ISPN-6404) Add missing schemas into docs/schemas for ISPN
by Sebastian Łaskawiec (JIRA)
[ https://issues.jboss.org/browse/ISPN-6404?page=com.atlassian.jira.plugin.... ]
Sebastian Łaskawiec commented on ISPN-6404:
-------------------------------------------
We should upgrade Wildfly build tools to 1.1.6.Final which extract schemas from modules. However for some reason ISPN modules are not picked up.
> Add missing schemas into docs/schemas for ISPN
> ----------------------------------------------
>
> Key: ISPN-6404
> URL: https://issues.jboss.org/browse/ISPN-6404
> Project: Infinispan
> Issue Type: Enhancement
> Components: Build process, Server
> Reporter: Sebastian Łaskawiec
> Assignee: Sebastian Łaskawiec
>
> ISPN server is missing some important schemas. We need to add them since they are mentioned in the configuration.
> We need the following:
> jboss-as-jgroups_1_0.xsd
> jboss-as-jgroups_1_1.xsd
> jboss-as-jgroups_1_2.xsd
> jboss-as-jgroups_2_0.xsd
> jboss-as-jgroups_3_0.xsd
> jboss-infinispan-endpoint_5_2.xsd
> jboss-infinispan-endpoint_6_0.xsd
> jboss-infinispan-endpoint_7_0.xsd
> jboss-infinispan-endpoint_7_2.xsd
> jboss-infinispan-endpoint_8_0.xsd
> jboss-infinispan-jgroups_7_0.xsd
> jboss-infinispan-jgroups_8_0.xsd
> jboss-infinispan-core_6_0.xsd
> jboss-infinispan-core_7_1.xsd
> jboss-infinispan-core_8_0.xsd
> jboss-infinispan-core_8_2.xsd
> jboss-infinispan-core_7_0.xsd
> jboss-infinispan-core_7_2.xsd
> jboss-infinispan-core_8_1.xsd
> jboss-infinispan-core_9_0.xsd
> jboss-as-cli_1_0.xsd
> jboss-as-cli_1_1.xsd
> jboss-as-cli_1_2.xsd
> jboss-as-cli_2_0.xsd
> jboss-as-config_1_0.xsd
> jboss-as-config_1_1.xsd
> jboss-as-config_1_2.xsd
> jboss-as-config_1_3.xsd
> jboss-as-config_1_4.xsd
> jboss-as-config_1_5.xsd
> jboss-as-config_2_0.xsd
> jboss-as-config_2_1.xsd
> jboss-as-datasources_1_0.xsd
> jboss-as-datasources_1_1.xsd
> jboss-as-datasources_1_2.xsd
> jboss-as-jmx_1_0.xsd
> jboss-as-jmx_1_1.xsd
> jboss-as-jmx_1_2.xsd
> jboss-as-jmx_1_3.xsd
> jboss-as-logging_1_0.xsd
> jboss-as-logging_1_1.xsd
> jboss-as-logging_1_2.xsd
> jboss-as-logging_1_3.xsd
> jboss-as-logging_2_0.xsd
> jboss-as-txn_1_0.xsd
> jboss-as-txn_1_1.xsd
> jboss-as-txn_1_2.xsd
> jboss-as-txn_1_3.xsd
> jboss-as-txn_1_4.xsd
> jboss-as-txn_1_5.xsd
> jboss-as-txn_2_0.xsd
> jboss-as-xts_1_0.xsd
> jboss-as-xts_2_0.xsd
> wildfly-cli_3_0.xsd
> wildfly-config_3_0.xsd
> wildfly-config_4_0.xsd
> module-1_0.xsd
> module-1_1.xsd
> module-1_2.xsd
> module-1_3.xsd
> module-1_5.xsd
> jboss-as-deployment-scanner_1_0.xsd
> jboss-as-deployment-scanner_1_1.xsd
> jboss-as-deployment-scanner_2_0.xsd
> wildfly-txn_3_0.xsd
> wildfly-datasources_2_0.xsd
> wildfly-datasources_3_0.xsd
> wildfly-datasources_4_0.xsd
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
8 years, 1 month