6.2.4 Release Notes
JBoss Enterprise Application Platform 6.2
For Use with Red Hat JBoss Enterprise Application Platform 6.2
Nidhi Chaudhary
Lucas Costi
Russell Dickenson
Sande Gilda
Vikram Goyal
Eamon Logue
Darrin Mison
Scott Mumford
David Ryan
Nidhi Srinivas
Misty Stanley-Jones
Keerat Verma
Tom Wells
Abstract
These release notes contain important information related to Red Hat JBoss Enterprise Application Platform 6.2.4. Read these Release Notes in their entirety before installing the product.
1. About Maintenance Releases
In order to better meet customer expectations, micro releases for JBoss EAP 6 have been discontinued upon the 6.2 release and replaced with patch updates delivered on a repeating schedule, targeting a new release every 6 weeks. The patch updates will be delivered for both ZIP and RPM based installations of JBoss EAP.
- For installations originating from a ZIP file, a Cumulative Patch managed by a new EAP feature for applying patches, removing patches, and viewing patch state will be delivered.
- For installations originating from RPMs, updated RPMs containing the identical fixes included in the Cumulative Patch will be delivered through Red Hat Network on the same repeating schedule.
Each new patch update will contain a number of bug fixes for customer reported issues and potentially a number of security fixes. We expect that the patch updates will substantially reduce the number of individual patches that we produce and that customers must manage to keep their installations up to date.
For more information see the following Red Hat Knowledgebase articles: Maintenance Release Changes in EAP 6.2+ (https://access.redhat.com/site/articles/547663) and Updated Patch Management with EAP 6.2+ (https://access.redhat.com/site/articles/547673).
Figure 1. JBoss EAP Patching Schedule
2. Apply a Patch Update
The method of applying a patch update varies according to the installation method used to install JBoss EAP. See Patching and Upgrading JBoss EAP in the Installation Guide for further details.
For information about how to apply an incremental patch to a local Maven repository, see Apply a Patch to the Local Maven Repository in the Development Guide for JBoss EAP.
3. Changes in this release
3.1. Bug Fixes
CDI/Weld
- 1101968 - Interceptor creation fails - WELD-1683
- In previous versions of JBoss EAP 6, Weld incorrectly included inaccessible package-private interfaces from different packages in the set of bean types of beans which implement a package-private interface.This resulted in a deployment failure due to an
IllegalAccessError
whenever such bean used any CDI features, including interception or injection.In this release, Weld no longer includes inaccessible package-private interfaces in the set of bean types of a bean. Beans which directly or indirectly implement package-private interfaces even from different packages now support all CDI operations correctly.
Domain Management
- 1102753 - deployed applications are not distributed to host controller(s)
- In previous versions of JBoss EAP 6, deployments were only copied to host controllers as needed.Host contollers started with the
--backup
switch did not have all deployments available, so could not be promoted to a domain controller in a failover.In this release all content is copied to the host controller when started with--backup
allowing for promotion in a failover.
EJB
- 1093752 - Remote client transaction timeout values are overwritten by hardcoded values
- Previous releases of JBoss EAP 6 carried an issue that resulted in remote client transactions spanning multiple servers timing out earlier or later than expected.The issue arose because timeout values were not propagated across servers correctly, leaving the system to rely on the hardcoded timeout value (300 seconds)The hardcoded timeouts have been removed in this release and transactions now time out as and when expected.
EJB,Remoting
- 1098879 - EJB client failed initially if a cluster should used for EJB invocation with Could not create a connection for cluster node ClusterNode{} -> Operation failed with status WAITING
- Due to a race-condition the connections to the different server nodes, provided as cluster-view after the initial connection, are not established. Under most conditions the client was stopped and continue work after all connection requests are timed out.
Hibernate
- 1094080 - HHH-8749 Error flushing with a many-to-many Map defined with unique="true" and cascading orphan delete
- In previous versions of JBoss EAP 6, when using an indexed collection (Map or List) mapped as Many-to-Many with unique= true and cascading orphan deletes, an exception (
Unable to resolve property: null
), was thrown on flush. This has now been corrected.
JCA
- 1103238 - Back port of WFL-2912 into JBoss EAP
- In previous versions of JBoss EAP 6, contextual information was not correctly checked during the Resource Adapter add operation which was preventing deployment of the generic JMS adapter in domain mode.This issue has been resolved in this release.
Other
- 1101925 - Missing javadoc for org.jboss.dmr
- The javadoc for
org.jboss.dmr
was missing in earlier releases of JBoss EAP 6. The javadoc has been reinstated in this release.
RESTEasy
- 1091547 - DataSourceProvider uses an insecure method to read the input stream
- The datasource provider that ships with RESTeasy uses the
InputStream::available
method, which, as stated in the Javadoc, is inappropriate:Note that while some implementations of InputStream will return the total number of bytes in the stream, many will not. It is never correct to use the return value of this method to allocate a buffer intended to hold all data in this stream.This release of JBoss EAP 6 avoids using this method.
Security
- 1098365 - Repair 'Continuation Required' logic
- A fix implemented for a Negotiation issue had an adverse affect on the NegotiationAuthenticator's negotiation logic ("Continuation Required"). The issue prevented some browsers from being able to properly connect to a Negotiation protected web application.In this release, the "Continuation Required" logic has been corrected so that it works along with the "fallback to FORM" logic when an NTLM token is received.
- 1086795 - LdapExt login module fetches to many attributes in RoleSearch
- In previous versions of JBoss EAP 6, the LdapExtended login module was found to be returning too many attributes when performing an authentication query using RoleSearch. The issue was caused by the removal of a constraint filter (
constraints.setReturningAttributes(new String[0]);
). This filter code has been reintroduced in this release of the product and the problem not longer presents. - 1105330 - Fix the fallback to form SSO handling in NegotiationAuthenticator
- In previous releases of JBoss EAP 6, the NegotiationAuthenticator did not support SSO when the fallback to form logic was triggered. As a consequence, SSO, both clustered and non-clustered, did not work if the user logged in with a username and password (fallback to form).In this release the the SSO logic has been added to the NegotiationAuthenticator and SSO now works as expected when falling back to form authentication.
Transaction Manager
- 1096947 - JBTM-1702: one-phase optimization: XAException by XAResource swallowed and bean invocation falsely a success
- In previous versions of JBoss EAP 6, it was found that XAExceptions thrown by XAResource were being swallowed and that bean invocation was falsely appearing to succeed.The issue presented when one-phase optimization was in use and the
XAResource.end()
method threw anXA_RBCOMMFAIL
error. The bean client would seem to complete the bean method invocation successfully, however the transaction would have been rolled back by the database causing any subsequent bean invocations to fail as data assumed to be stored was not available.In this release, if the transaction fails in the XAResource, it is still rolled back, however an exception is now thrown so that the calling code can detect an error instead of assuming a success.
Web
- 1103891 - NIO can improperly lead to request/response objects being used concurrently
- In previous versions of JBoss EAP 6, using NIO with async servlets could lead to a processor and its request/response objects being used by multiple threads to process different requests at once.This issue would present if two events occurred on the same channel and executed
Http11NioProtocol.event
at the same time. If they result in aSocketState
other than LONG, both offered the same processor torecycledProcessors
in the finally block. This would then allow two different requests to poll the same processor at once fromreycledProcessors
.This behavior was incorrect as a processor should only ever have one entry inrecycledProcessors
.The issue has been resolved in this release of the product. - 1103018 - High CPU in concurrent access to the JSSESupport keySizeCache map
- In previous versions of JBoss EAP 6, the
keySizeCache
in JSSESupport was not properly synchronized.Because of this, concurrent access to the JSSESupport keySizeCache could result in high CPU hash map loops.In this release, access to the keySizeCache in JSSESupport is synchronized and oncurrent access to the keySizeCache does not occur and high CPU hash map loops are avoided. - 1101472 - ContextNotActiveException thrown on session invalidation when using clustered SSO
- In previous versions of of JBoss EAP 6, the SSO valves did not set the context when expiring sessions associated with SSO.This meant that ClusteredSingleSignOn would call
WeldListener.sessionDestroyed(event)
after the session has been destroyed, resulting in aContextNotActiveException
upon session invalidation.In this version of the product, the SSO valves now set the context when expiring sessions associated with SSO and theContextNotActiveException
is avoided upon session invalidation. - 1097410 - NIO EventPoller thread dies from uncaught NPE
- In previous versions of the product, particular concurrency between a request thread and the NIO EventPoller thread could result in the EventPoller seeing an unaccounted for null
ChannelInfo
object in its maintain loop.As a result, the NIO EventPoller thread could then die from an uncaughtNullPointerException
. This could then lead to overall server unresponsiveness and connections remaining unclosed until the pool is exhausted.In this release the EventPoller thread accounts for any such null to prevent theNullPointerException
from being thrown and the EventPoller thread will no longer die from such aNullPointerException
.
Web Services
- 1069352 - Schema imports in CXF can have naming conflicts in the URL used to retrieve them
- In previous versions of JBoss EAP 6, CXF did not resolve external WSDL schema links properly for sd files with the same name but different path. This meant that WSDL schemas could not be downloaded properly in certain situations.This release of the product includes enough information in schema links to make each schema file unique and WSDL schemas can now be downloaded without issue.
- 1079044 - MessageContext is lost when JAX-WS client is invoked from within a JAX-WS endpoint impl
- A bug was present in previous versions of JBoss EAP 6 that, when a JAX-WS client is invoked inside an endpoint, caused the endpoint's MessageContext to be removed from the ThreadLocal and not replaced at the end of the client call. This caused the MessageContext to be unavailable to endpoints after they make any JAX-WS invocation.This bug has been resolved by an upgrade of the Apache CXF component (from 2.7.10 to 2.7.11).
- 1040703 - JAXBDataBinding can not handle the exception with generic objects like ObjectWithGenerics<Boolean, Integer>
- Previous releases of JBoss EAP 6 carried an issue wherein, when an Exception class has some members with type parameters defined as in the following example, the WSDL generated from the exception class is incorrect and the SOAP fault message is not expected.
@javaxml.ws.WebFault public class GenericsException extends Exception { private static final long serialVersionUID = 1L; private ObjectWithGenerics<Boolean, Integer> obj; public ObjectWithGenerics<Boolean, Integer> getObj { return obj; } public void setObj(ObjectWithGenerics<Boolean, Integer> obj) { this.obj = obj; } }
This issue has been resolved in this release. - 1077262 - HttpServletRequestSnapshot is not created for requests with WSA ReplyTo prop set
- In previous versions of JBoss EAP 6, the servlet request object would, under certain circumstances, not be cloned before queuing a request with the WSA replyTo property set to be processed on a different thread.As a consequence, JBossWeb would recycle the stale request object after the initiator received its acknowledgment response, causing invalid data to be used when the endpoint implementation tries to access the stale request object.This release ensures the servlet request object is cloned when it needs to be and invalid data is no longer used by endpoint implementations that execute on a different thread than the original HTTP request.
3.2. Known Issues
Documentation
- 1058768 - OSGi subsystem does not honor patching mechanism
- The OSGi
helloworld
quickstart does not deploy successfully in JBoss EAP 6. This is a known issue as the OSGi component has been deprecated in the product. This issue will not be resolved.
Scripts and Commands
- 1072227 - Wrong handling of --debug argument by standalone.[sh|bat] scripts
- This release of JBoss EAP 6 carries a bug where-in the shell script for running EAP in standalone mode (
standalone.sh|bat
) does not use the default port (port 8787) when the script is used withdebug
argument without a port number.As a result execution of the script withdebug
argument results in an error and does not start the server.A possible workaround for this issue is to specify a port number when the script is used with thedebug
argument:standalone.[sh|bat] --debug [port number]
This issue is expected to be resolved in a future release of the product.
Patching
- 1108952 - OutOfMemoryError with large patches.
- This release of JBoss EAP 6 carries a bug that, when installing large patches, may cause an
OutOfMemoryError
to occur on child host controllers. This could occur when installing CP04 via the domain controller with the default memory settings.The error presents because attachment data passed from master to slave host controllers is read fully into memory.To workaround this issue: Editbin/domain.conf
orbin/domain.conf.bat
, and append-Xmx1024m
to theHOST_CONTROLLER_JAVA_OPTS
setting on child host controllers temporarily if patches need to be installed from the domain controller.This issue is expected to be resolved in a future release.
A. Revision History
Revision History | |||
---|---|---|---|
Revision 6.2.4-5 | Wed June 25 2014 | Scott Mumford | |
|
Legal Notice
Copyright © 2014 Red Hat, Inc..
This document is licensed by Red Hat under the Creative Commons Attribution-ShareAlike 3.0 Unported License. If you distribute this document, or a modified version of it, you must provide attribution to Red Hat, Inc. and provide a link to the original. If the document is modified, all Red Hat trademarks must be removed.
Red Hat, as the licensor of this document, waives the right to enforce, and agrees not to assert, Section 4d of CC-BY-SA to the fullest extent permitted by applicable law.
Red Hat, Red Hat Enterprise Linux, the Shadowman logo, JBoss, OpenShift, Fedora, the Infinity logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries.
Linux® is the registered trademark of Linus Torvalds in the United States and other countries.
Java® is a registered trademark of Oracle and/or its affiliates.
XFS® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries.
MySQL® is a registered trademark of MySQL AB in the United States, the European Union and other countries.
Node.js® is an official trademark of Joyent. Red Hat Software Collections is not formally related to or endorsed by the official Joyent Node.js open source or commercial project.
The OpenStack® Word Mark and OpenStack logo are either registered trademarks/service marks or trademarks/service marks of the OpenStack Foundation, in the United States and other countries and are used with the OpenStack Foundation's permission. We are not affiliated with, endorsed or sponsored by the OpenStack Foundation, or the OpenStack community.
All other trademarks are the property of their respective owners.