[JBoss JIRA] Created: (JGRP-935) NAKACK/UNICAST: replace locks with AtomicBoolean variables
by Bela Ban (JIRA)
NAKACK/UNICAST: replace locks with AtomicBoolean variables
----------------------------------------------------------
Key: JGRP-935
URL: https://jira.jboss.org/jira/browse/JGRP-935
Project: JGroups
Issue Type: Feature Request
Reporter: Bela Ban
Assignee: Bela Ban
Fix For: 2.8
Instead of acquiring a lock on the sender window of a message, we try to set an AtomicBoolean var in a CAS operation. Whoever succeeds in setting the var, continues to remove as many messages as possible. Everybody else returns to the thread pool.
The {setting of the AtomicBoolean var and the removal} and {addition} of messages are atomic with respect to each other, ie. the NakreceiverWindow.remove() method has a lock (also to be acquired by add()) when removing a message and setting the AtomicBoolean to false if no message could be removed.
MOTIVATION: we don't need AtomicBoolean vars *and* locks. Removing locks should result in a small speed improvement
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
15 years, 10 months
[JBoss JIRA] Created: (JBSER-113) Caching of replaced objects doesn't conform to Java serialization specification
by Ron Sigal (JIRA)
Caching of replaced objects doesn't conform to Java serialization specification
-------------------------------------------------------------------------------
Key: JBSER-113
URL: https://jira.jboss.org/jira/browse/JBSER-113
Project: JBoss Serialization
Issue Type: Bug
Affects Versions: 1.0.3 GA
Reporter: Ron Sigal
Assignee: Ron Sigal
Fix For: 1.1.0 Beta
The Java serialization spec gives the following steps in serialization:
4. If the object has been previously replaced, as described in Step 8, write the handle of the replacement to the stream and writeObject returns.
...
8. a. ....
b. ...
If the original object was replaced by either one or both steps above, the mapping from the original object to the replacement is recorded for later use in Step 4. Then, Steps 3 through 7 are repeated on the new object.
But JBossSerialization does this:
* Apply all the replacements
* If the replacement object has already been written, write its "handle".
I used to think this was just an efficiency issue (why do the replacement code on an object the second time it gets processed), but one of the JBossMarshalling tests shows that there is an actual semantic difference:
ArrayList<Object> testList = new ArrayList<Object>();
testList = Collections.unmodifiableList(testList);
marshaller.writeObject(testList);
marshaller.writeObject(testList);
assertSame(unmarshaller.readObject(), unmarshaller.readObject());
The assertion will fail with JBossSerialization because Collections.unmodifiableList() returns an instance of
static class UnmodifiableRandomAccessList<E> extends UnmodifiableList<E> implements RandomAccess {
private Object writeReplace() {
return new UnmodifiableList<E>(list);
}
}
JBossSerialization applies UnmodifiableRandomAccessList.writeReplace() during each call to marshaller.writeObject(), so two different copies of testList get written. But in Java serialization, the second call would see that the object has already been written and a handle would get written.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
15 years, 10 months
[JBoss JIRA] Updated: (JBAS-6535) java.lang.LinkageErrors seen during start of JBoss AS 5.1 with admin-console.war deployed
by Shelly McGowan (JIRA)
[ https://jira.jboss.org/jira/browse/JBAS-6535?page=com.atlassian.jira.plug... ]
Shelly McGowan updated JBAS-6535:
---------------------------------
Fix Version/s: JBossAS-5.1.0.CR1
> java.lang.LinkageErrors seen during start of JBoss AS 5.1 with admin-console.war deployed
> -----------------------------------------------------------------------------------------
>
> Key: JBAS-6535
> URL: https://jira.jboss.org/jira/browse/JBAS-6535
> Project: JBoss Application Server
> Issue Type: Bug
> Security Level: Public(Everyone can see)
> Environment: JBoss AS Branch_5_x r84532, embjopr r162
> Reporter: Shelly McGowan
> Assignee: Darran Lofthouse
> Fix For: JBossAS-5.1.0.CR1
>
>
> During the inialization of the administration console, the rhq-platform-plugin gets loaded, searches jaxb.properties for a JAXB implementation and finds jaxb-impl.jar from $JBOSS_HOME/lib
> 2009-02-20 15:20:41,594 INFO [org.jboss.on.embedded.BootstrapAction] (main) Bootstrapping Administration Console v1.1.1-SNAPSHOT...
> 2009-02-20 15:20:41,594 DEBUG [org.jboss.on.embedded.BootstrapAction] (main) Reconfiguring JDK logging...
> 2009-02-20 15:20:41,617 DEBUG [org.jboss.on.embedded.BootstrapAction] (main) Configuring Mock Scenario Loader...
> 2009-02-20 15:20:41,618 INFO [org.rhq.core.pc.PluginContainer] (main) Initializing Plugin Container v1.2.0-SNAPSHOT...
> 2009-02-20 15:20:41,723 DEBUG [org.rhq.core.pc.PluginContainer] (main) Starting and configuring container service: PluginManager
> 2009-02-20 15:20:41,737 DEBUG [org.rhq.core.pc.plugin.PluginManager] (main) Plugin found at: jndi:/localhost/admin-console/plugins/rhq-platform-plugin-1.2.0-SNAPSHOT.jar
> 2009-02-20 15:20:41,741 DEBUG [org.rhq.core.clientapi.descriptor.AgentPluginDescriptorUtil] (main) Loading plugin descriptor from plugin jar at [jndi:/localhost/admin-console/plugins/rhq-platform-plugin-1.2.0-SNAPSHOT.jar]...
> 2009-02-20 15:20:41,741 FINE [javax.xml.bind] (main) Searching jaxb.properties
> 2009-02-20 15:20:41,742 FINE [javax.xml.bind] (main) Searching the system property
> 2009-02-20 15:20:41,742 FINE [javax.xml.bind] (main) Searching META-INF/services
> 2009-02-20 15:20:41,743 FINE [javax.xml.bind] (main) Trying to load com.sun.xml.bind.v2.ContextFactory
> 2009-02-20 15:20:41,744 FINE [javax.xml.bind] (main) loaded com.sun.xml.bind.v2.ContextFactory from vfszip:/home/smcgowan2/workspace/Branch_5_x/build/output/jboss-5.1.0.Beta1/lib/jaxb-impl.jar/com/sun/xml/bind/v2/ContextFactory.class
> 2009-02-20 15:20:41,748 FINE [com.sun.xml.bind.v2.ContextFactory] (main) Property com.sun.xml.bind.XmlAccessorFactoryis not active. Using JAXB's implementation
> 2009-02-20 15:20:41,947 FINE [com.sun.xml.bind.v2.runtime.reflect.opt.OptimizedAccessorFactory] (main) Using optimized Accessor for protected org.rhq.core.clientapi.descriptor.plugin.Version org.rhq.core.clientapi.descriptor.plugin.ResourceDescriptor.version
> :
> :
> Next, while loading jopr-jboss-as-5-plugin, the same seach occurs but this time loading the class results in an exception:
> 2009-02-20 15:20:44,006 DEBUG [org.rhq.core.pc.plugin.PluginManager] (main) Loading independent plugin [JBossAS5] from URL: jndi:/localhost/admin-console/plugins/jopr-jboss-as-5-plugin-2.2.0-SNAPSHOT.jar
> 2009-02-20 15:20:44,006 DEBUG [org.rhq.core.pc.plugin.PluginManager] (main) Loading plugin from: jndi:/localhost/admin-console/plugins/jopr-jboss-as-5-plugin-2.2.0-SNAPSHOT.jar
> 2009-02-20 15:20:44,026 DEBUG [org.rhq.core.pc.plugin.PluginDescriptorLoader] (main) Created classloader for plugin [jndi:/localhost/admin-console/plugins/jopr-jboss-as-5-plugin-2.2.0-SNAPSHOT.jar]
> 2009-02-20 15:20:44,026 DEBUG [org.rhq.core.clientapi.descriptor.AgentPluginDescriptorUtil] (main) Loading plugin descriptor from plugin jar at [jndi:/localhost/admin-console/plugins/jopr-jboss-as-5-plugin-2.2.0-SNAPSHOT.jar]...
> 2009-02-20 15:20:44,026 FINE [javax.xml.bind] (main) Searching jaxb.properties
> 2009-02-20 15:20:44,027 FINE [javax.xml.bind] (main) Searching the system property
> 2009-02-20 15:20:44,027 FINE [javax.xml.bind] (main) Searching META-INF/services
> 2009-02-20 15:20:44,027 FINE [javax.xml.bind] (main) Trying to load com.sun.xml.bind.v2.ContextFactory
> 2009-02-20 15:20:44,028 FINE [javax.xml.bind] (main) loaded com.sun.xml.bind.v2.ContextFactory from vfszip:/home/smcgowan2/workspace/Branch_5_x/build/output/jboss-5.1.0.Beta1/lib/jaxb-impl.jar/com/sun/xml/bind/v2/ContextFactory.class
> 2009-02-20 15:20:44,029 FINE [com.sun.xml.bind.v2.ContextFactory] (main) Property com.sun.xml.bind.XmlAccessorFactoryis not active. Using JAXB's implementation
> 2009-02-20 15:20:44,308 FINE [com.sun.xml.bind.v2.runtime.reflect.opt.Injector] (main) Unable to inject org/rhq/core/clientapi/descriptor/plugin/ResourceDescriptor$JaxbAccessorF_version
> java.lang.reflect.InvocationTargetException
> at sun.reflect.GeneratedMethodAccessor252.invoke(Unknown Source)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:585)
> at com.sun.xml.bind.v2.runtime.reflect.opt.Injector.inject(Injector.java:181)
> at com.sun.xml.bind.v2.runtime.reflect.opt.Injector.inject(Injector.java:85)
> at com.sun.xml.bind.v2.runtime.reflect.opt.AccessorInjector.prepare(AccessorInjector.java:87)
> at com.sun.xml.bind.v2.runtime.reflect.opt.OptimizedAccessorFactory.get(OptimizedAccessorFactory.java:165)
> at com.sun.xml.bind.v2.runtime.reflect.Accessor$FieldReflection.optimize(Accessor.java:253)
> at com.sun.xml.bind.v2.runtime.property.SingleElementNodeProperty.<init>(SingleElementNodeProperty.java:89)
> at sun.reflect.GeneratedConstructorAccessor47.newInstance(Unknown Source)
> at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
> at java.lang.reflect.Constructor.newInstance(Constructor.java:494)
> at com.sun.xml.bind.v2.runtime.property.PropertyFactory.create(PropertyFactory.java:124)
> Caused by: java.lang.LinkageError: duplicate class definition: org/rhq/core/clientapi/descriptor/plugin/ResourceDescriptor$JaxbAccessorF_version
> at java.lang.ClassLoader.defineClass1(Native Method)
> at java.lang.ClassLoader.defineClass(ClassLoader.java:620)
> at java.lang.ClassLoader.defineClass(ClassLoader.java:465)
> The server does start.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
15 years, 10 months
[JBoss JIRA] Created: (JBMESSAGING-1548) Empty Rollback on XA will cause Journal Errors
by Clebert Suconic (JIRA)
Empty Rollback on XA will cause Journal Errors
----------------------------------------------
Key: JBMESSAGING-1548
URL: https://jira.jboss.org/jira/browse/JBMESSAGING-1548
Project: JBoss Messaging
Issue Type: Bug
Reporter: Clebert Suconic
Assignee: Clebert Suconic
Say you start a XA Transaction, and immediately roll it back (without a prepare record), while using real files.
the Journal will throw an exception:
BasicTestXA::testEmptyXID will show this situation. (The failing part of the test will be commented out until this is fixed).
The same will happen when you have non-persistent messages and rollback without adding a prepare record.
Note: Since Rollbacks are supposed to be infrequent, a solution could be to force a prepare if prepare wasn't called. (To be disucssed)
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
15 years, 10 months
[JBoss JIRA] Created: (JBDEPLOY-181) Configurable EventHandler for JAXBDeployer
by Anil Saldhana (JIRA)
Configurable EventHandler for JAXBDeployer
------------------------------------------
Key: JBDEPLOY-181
URL: https://jira.jboss.org/jira/browse/JBDEPLOY-181
Project: JBoss Deployers
Issue Type: Sub-task
Components: deployer
Reporter: Anil Saldhana
Assignee: Ales Justin
JAXB Unmarshalling can be a b$tch.
A simple way to get validation errors during unmarshalling is by setting a custom event handler to the unmarshaller.
===========================================
Set the event handler on the unmarshaller which will print out the errors to System.out as follows:
um.setEventHandler(new javax.xml.bind.helpers.DefaultValidationEventHandler());
===========================================
So a configurable injection of an Event Handler bean.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
15 years, 10 months