NexJ Logo

Technology

This section describes known issues that pertain to the application framework.

ECRM-701

Persistent sessions must be enabled to use node type functionality. Node type functionality assigns types to nodes to allow individual nodes to process only certain type of work, such as web requests, batch processes, and Exchange synchronization.

ECRM-1482

Persistence mapping behavior differs between the datasource and upgrade files. The NexJ framework does not automatically correct conflicts in the upgrade file as it does in the datasource file. For example, if you set Allow Null to true for a required attribute in the datasource file, the NexJ framework automatically sets Allow Null to false. This behavior does not occur in the upgrade file and can result in a situation where framework validation fails.

ECRM-2887

When upgrading to version 7.1 from a previous release, upgrade or seed logic is not restricted to the node that is executing SysUpgrade'upgrade events.

Workaround:
Before upgrading, ensure all SOA connections are configured with context binding. After configuring context binding, any SOA invocations during the upgrading or seeding process will run on the same node that is executing the upgrade or seed.

ECRM-2889

If an error occurs when the SysUpgrade'upgrade event calls a nested transaction such as begin-transaction, the database is not restored to its original state.

Workaround:
To help avoid this issue, ensure that SOA invocations during seeding are in the same transaction as SysUpgrade'upgrade events or remove all nested transactions from SysUpgrade'upgrade events and persistence initializers. Also ensure that you perform a full database backup before upgrading the database.

ECRM-8297

If DB2 is used as the application database, text searches of the Campaigns list on the Campaigns workspace result in an unexpected error.

ECRM-8376

Sessions may be persisted to the database two to three minutes later than would normally be expected based on the session timeout specified in the environment file.

ECRM-8457

When you override the requiredness of an attribute in a SOA type, the inheritance relationship is not exposed in WSDL.

Workaround:
Design the type hierarchy so that overriding attributes is not required. For example, declare a common base type that does not include the attribute, then declare the attribute uniquely in each subtype.

ECRM-8459

When using the performance banner to test your system, some scenarios in which the server-side metrics are not available result in the banner displaying a Total Time value that may be incorrect.

ECRM-8579

Because of the User Registry and the current limitations of the heterogeneous framework, CRM-based metadata that previously used associations to the User class as part of predicates or Order By will throw exceptions.

Workaround:
Developers can denormalize the attribute from the User Registry, or use other attributes that are on the UserPerson object.

ECRM-21240

Non-silent SPNEGO single sign-on will fail if the corresponding LDAP repository does not contain the "nexj-groups" property for the user.

ECRM-22215

If a metaclass has a public event which has arguments that expect an instance of an unspecified type, a RESTful request invocation for the event will fail.

Workaround:
Ensure that all arguments in the event include typed instances.

ECRM-22671

Third party JMX operations that take arguments cannot be invoked, for example, dumpAllThreads(boolean, boolean)). Only operations without arguments are successful.

ECRM-23347

When you launch the application, after deploying it in WebSphere 8.5.5.11 with IBM JDK 7.1.3.60, a null pointer exception is thrown. This issue is not consistently reproducible.

ECRM-23530

You cannot select text in Mozilla Firefox by clicking, holding, and dragging the mouse. To select text that is not in a text box using Firefox, you must double click the text you want to select, and it will be highlighted for you.

ECRM-23753

A backwards compatibility issue occurs when running metadata with a core plugin version that is less than 13.0.92 and a plugin version that is greater than or equal to 13.0.92. This issue causes the unicode property that is set to false for Oracle database connections to be overridden and set to true.

ECRM-23841

HTTP requests using basic authentication only succeed when single sign-on is also in use.

ECRM-24857

With persisted sessions disabled in NexJ Server, the client state is not saved when a user session times out.

ECRM-24911

When the customDialogMode attribute is set to false in the SysPortletServer.application file, if a user opens a nested dialog from an alarm dialog in NexJ CRM, other application actions are not allowed until the alarm dialog is closed.

ECRM-26201

If you set the log level of the nexj.core.rpc.cluster.SettingManager class to WARN or ERROR, a portion of logic to load and persist settings is disabled.

ECRM-26276

When you create a class with database persistence mapping and attributes that update audit functionality, and you make a change to an instance of the class through the Scheme Console in NexJ Studio and commit the change, or make a change to an instance of the class through REST, the changes are not recorded in the audit log.

ECRM-26300

The application fails to start if deployed in IBM WebSphere Application Server (WAS) using IBM SDK Java Technology Edition 8.0.5.7 or 8.0.5.10.

Workaround:
Use IBM SDK Java Technology Edition 8.0.5.17.

ECRM-26354

The ActionNotification unit test cases with EWS2013 (EntitySeriesException, SendSeriesInvite, NoInvitesBasic) are failing.

ECRM-27032

When the updateAudit attribute is enabled in the environment file, attributes that are not modified are unnecessarily lazy loaded and may cause performance issues.

ECRM-27272

When you are using the three-way merge tools during an upgrade and are reviewing an element that has a large number (25+) of conflicting changes, the Copy All Non-Conflicting Changes button can sometimes misidentify and overwrite customization in the current model with information from the upgrade model. At this time, this behavior has only been reported in the context of unit tests, but caution should be used in other parts of the model when using this functionality.

ECRM-27399

The default initializer runs multiple times for unit tests having multiple test cases with Run Initializer Once selected.

ECRM-27413

In some cases, value nodes and their related information might be omitted when importing complex attribute types into NexJ Studio using the XML schema/WSDL functionality.

ECRM-27428

Simultaneous changes to multiple context variables, for example, EntityId and ObjectId, that relate to the same item can trigger duplicate queries and increase total query execution time.

ECRM-27486

When using SPNEGO with LDAP, if an LDAP query fails following a successful Kerberos authentication, the logged error message does not contain enough useful information (such as the Kerberos principal along with the LDAP query) to aid in troubleshooting.

ECRM-27516

In some cases, failed messages sent by a broadcast-enabled multi-node system using JMS are not being properly moved to the error queue. However, the failure is still recorded in the logs on each node.

ECRM-27560

A new JMX statistic has been added, which tracks queue depth (the number of messages on the queue waiting to process). In some cases, following a metadata re-deployment, the depth becomes incorrectly and permanently inflated by a small amount (in the tens), and will never reach zero.

ECRM-27570

If you update the external value of an existing enumeration and use a Load step in your upgrade file in order to reload the enumeration, the externalCode column in the NJEnumCode table record will be updated, but externalCode column in the NJEnumDisplay table does not. The result is that when you then try to retrieving the external value using Scheme script, you will receive the original value (from NJEnumDisplay) while the Enumerations pane in the Admin application will display the new, correct value (from NJEnumCode).

Workaround
When updating non-system enumeration values in Studio, delete them from the EnumCode and EnumDisplay tables, as shown in the following example code:

<SQL><![CDATA[delete from ${table:EnumCode} where 
valueCode=’ANNUITANT’ and 
typeCode=’SENTITYACCOUNTROLE’]]></SQL>

<SQL><![CDATA[delete from ${table:EnumDisplay} where 
valueCode=’ANNUITANT’ and 
typeCode=’SENTITYACCOUNTROLE’]]></SQL>


Important

This workaround results in any changes made through the Admin Console to the affected captions to also be overwritten.

ECRM-27576

Any request sent to the server that exceeds the size specified in the maxRequestSize environment variable value (for example, meetings with large attachments), results in an HTTP Server error from Apache Tomcat instead of receiving a request size error message.

Workaround:
Configure the Tomcat maxSwallowSize to 10 times (or another multiple) of the maxPostSize so that if the attachment exceeds the maxPostSize limit but is lower that the maxSwallowSize, the request size error displays.

ECRM-27597

When message processing fails for a queue configured to retry, and the queue is on a different provider than that of the retry queue (which is an internal NexJ queue), the retry logic fails. The application will incorrectly try to send the message to the retry queue using the connection associated to the external provider.

ECRM-27606

Exporting application logs through an MBean diagnostic operation is not currently supported for IBM WebSphere environments.

ECRM-27657

When running unit tests, the process may hang indefinitely if there is an error during initialization.

ECRM-27690

Exchange unit tests can fail intermittently if the unit test environment file specifies the fully qualified host name for the HTTP Server URL.

Workaround:
To prevent the failures localhost should be used as the HTTP Server URL.

ECRM-27765

Adding -verbose:gc as a JVM argument to modeld.sh is unsupported.

Workaround:
Add the arguments to jvm.conf instead.

ECRM-27766

NexJ Studio does not validate the names of test cases. If you have a unit test case with an invalid name, it will be reported as not found when you run your unit tests.

ECRM-27773

When running an application server with multiple nodes (in a cluster), if some metadata is edited and dynamic metadata deployment is triggered without bringing down any of the nodes, the nodes will get removed from the cluster once the metadata switching is complete.

ECRM-27801

Changing the read-only flag on attributes from #t to #f does not result in the generation of a new API version for NexJ's versioned APIs.

ECRM-27821

Exceptions during query generation (such as heterogeneous joins) do not output the attempted query making it more difficult to determine the exception cause.

ECRM-27843

When formatting messages that are namespaced by colons, the Apache Avro message formatter generates errors and fails.

Workaround:
Use periods to delineate namespaces. This workaround is not applicable to third-party generated messages over which there is no control.

ECRM-27917

When setting up Kerberos authentication for a Kafka integration channel on NexJ Server, the property specifying the keytab file location is not picked up.

Workaround:
Specify the keytab file location in the default configuration file under Java/jre/lib/security/Krb5.conf.

ECRM-27918

If you are using NexJ CRM on WebSphere Application Server (WAS), and running with Kafka integration, WAS may throw FFDC exceptions. These exceptions have not been found to have functional effect on any of the systems, but do create noise in the logs.

ECRM-27960

When you run the Data Load Tool recreate command in NexJ Studio on modeld.sh, the default Master Password Encryption password file location is not automatically used. This differs from the modeld.sh behavior without using tools.

Workaround:
Add the -Dnexj.master.cipher.url property to the JVM arguments.

ECRM-28023

An issue with the processing of database index names has surfaced where it is possible for the application to interpret two different databases index names as the same value and trigger an exception.