This table lists the enhancements and fixes in interim fix version 7.0.0.4 IF03. |
Enhancements |
There are no enhancements in this interim fix. |
Fixes |
1 | 6821 | | Create EventStore to ActivationSpec mapping for ConnectionLeak issue in recovery |
Symptom: Connection Leak during XARecovery |
Resolution: AFC recovery implementation modified to handle the connection leak issue. |
|
2 | 6818 | | EventStoreBackedXAResource throws unhandled NullPointerException in Commit and Rollback calls for when event is null . |
Symptom: NullPointerExceptions seen in the logs during Inbound processing of events . |
Resolution: With the fix when an event for a requested Xid is not found in the EventStore, an XA exception will be thrown, which will be sent to the container. Depending on the error code set on the XAException based on one phase or two phase commit, the container will send an appropriate call. Example in case of two phase commit the container will reissue a commit call. |
|
3 | 6816 | | Error while formatting the Xid |
Symptom: Format check for pending xids from adapter was failing, because of which recovery of pending transactions not taking place . |
Resolution: Xid format check in XidImpl fixed to verify the correctness of the xid format . |
|
4 | 6815 | | Forget and Rollback calls are not setting xid to null, post recovery |
Symptom: Events that have been rolled back during recovery are not picked up for future processing. |
Resolution: Events that have been rolled back during recovery needs to be made eligible for future poll cycles to fetch them, this is done by updating these events in the event store such that they qualify as new events, that can be fetched by future poll cycles. |
|
5 | 6744 | | CheckIllegalXMLCharacter is using String instead of StringBuffer which will eventually lead to a high heap usage |
Symptom: Use of String in CheckIllegalXMLCharacter leads to creation of large number of String objects as String is immutable, heap profiling showed increasing number of String objects that are not getting cleaned up, this has a potential to cause a problem when the input size is large. |
Resolution: Changed the implementation to use StringBuffer instead of String. |
|
6 | 6322 | | EventManager is tried to be shutdown infinitely |
Symptom: If an exception occurs while trying to shutdown the EventManager, EventManager is tried to be shutdown infinitely. This is because the JCA timer was not getting cancelled. |
Resolution: Even if an exception occurs while EventManager is being tried to shutdown, the JCA timer is cancelled so as to make sure their life cycles are in sync |
|
7 | 6928 | JR42026 | WorkRejectedException in logs, followed by adapter stopping to poll |
Symptom: WorkRejectedException in logs, followed by adapter stopping to poll |
Resolution: Work that was rejected was not getting removed from the workInPorgress list which was resulting in no new work to be added for submission, as a result of which adapter could not poll once a poll work was rejected. |
|
This table lists the enhancements and fixes in fix pack version 7.0.0.4. |
Enhancements |
1 | 101456 | | Detecting illegal XML characters in SDO DESPI of Adapters. |
Symptom: A runtime exception is thrown during the BOXML serialization if the business object generated by the Adapter contains invalid xml characters. |
Resolution: Adapter provides options to let the user to make choices and add validation in SDO DESPI of Adapters. Currently user can choose any of the 3 options: (a) Do not validate business object content for illegal XML characters (default); (b) Throw exceptions if business object content contains illegal XML charaters;(c) Discard illegal XML characters in business object content and log. |
|
Fixes |
1 | 102613 | JR38019 | Enable JCA timer capability for inbound polling |
Symptom:
Adapter uses a polling thread in the runtime, which will poll as per the pollperiod. The polling thread will be only submitted once and always being in the runtime environment. When there are no events for a longer duration, the polling thread will be hung and throws a warning message from the JCA container.
|
Resolution:
Use JCA timer to schedule the polling thread, so the polling thread would be submitted according to the JCA scheduler, which will solve the thread hang issue.
|
|
2 | 103162 | JR39129 | Duplicate messages are created in the event table by Flat file Adapter due to unexpected database outage. |
Symptom: During Adapter Inbound operation, after several unplanned database outages during event processing duplicate messages can be observed. This is due to the fact that the event is delivered but the overall transaction is marked failure and no rollback is called by the transaction manager. |
Resolution: If the event is already delivered to the downstream components but the overall transaction is marked failure due to issues in downstream component, the event is deleted if no rollback is issued. |
|
3 | | JR39773 | Inbound polling fails on WebSphere Message Broker (WMB) throwing java.lang.UnsupportedOperationException. |
Symptom: Adapter fails during startup of the Inbound polling on WebSphere Message Broker. Adapter throws java.lang.UnsupportedOperationException will be thrown during the call to BootStrapContext.createTimer() |
Resolution: WMB currently does not return a timer in createTimer() call. The issue has been resolved by handling the exception at the adapter end and creating a java.util.Timer instance to handle the inbound polling. |
|
4 | 102947 | JR38857 | When using adapter to pull data into WPS with special characters, a ResourceException is thrown. |
Symptom:
When using JDE adapter to pull data into WPS with special characters, a ResourceException is thrown. For an accent on the E in HELLO, the string in the XML reads H\u00C9LLO.
|
Resolution:
Encoding input xml using "UTF-8" by default. Then adapter can process special characters.
|
|
5 | 102125 | | "Folder of failed events" will lead some security risk, and mistake. |
Symptom:
"Folder of failed events",the whole BO schema and data will be put into the folder. This assumes application having privilege to read and write local file of the broker. This has security risks.
|
Resolution:
Remove the "Folder of failed events", and save the event data to the Event Data column of the persistent event store.
|
|
6 | 102075 | | Hide or remove the Timeout and MaxRecord properties when no XML List BO is selected. |
Symptom:
Timeout and MaxRecord are interaction specification properties only valid for XML List RetrieveAll operations. However they are shown when no XML List BO is selected.
|
Resolution:
Hide or remove the Timeout and MaxRecord properties when no XML List BO is selected.
|
|
7 | 102658 | JR38506 | JDE Adapter does not acknowledge and delete some events from Event Store. |
Symptom:
JDE adapter does not acknowledge and delete processed event from event store on adapter restart.
|
Resolution:
Acknowledge and delete processed event from event store on adapter restart.
|
|
8 | 093352 | | Support the broker WMB. |
Symptom:
To support outbound and inbound interaction on broker WMB.
|
Resolution:
Support the broker WMB by masking some EMD properties not applicable for WMB.
|
|
9 | 101554 | JR37204 | JDE Adapter does not support a container type Real-Time event with only one child |
Symptom:
JDE Adapter does not support a container type Real-Time event with only one child.
|
Resolution:
Modify the logic to support a container type Real-Time event with only one child
|
|
10 | 102019 | JR37670 | BeginDoc TransID ref is not migrated |
Symptom:
The migration code is not migrating JDE key references from first method call in a batched group to the rest of the group.
|
Resolution:
Convert the JDE WBI attribute "use_attribute_valaue" to "Reference" ASI for JCA
|
|
11 | 101402 | JR36794 | StringIndexOutOfBound Exception" in migration tool |
Symptom:
Migration tool throws StringIndexOutOfBound exception when doing migration.
|
Resolution:
Resolved by updating the migration code.
|
|
12 | 102913 | JR38754 | JDE Adapter migration failed due to missing attributes |
Symptom:
Customer upgraded their WICS environment to WPS 7.0 and the JDE Adapter failed to generate some of attributes.
|
Resolution:
Resolved by updating the migration code.
|
|
13 | 103447 | | Migrate adapter PI from 6.2 to 7.0 failed with exception |
Symptom:
When customer migrates adapter PI from version 6.2 to 7.0, migration tool throws MigrationException.
|
Resolution:
Resolved by updating the migration code.
|
|
This table lists the enhancements and fixes in fix pack version 7.0.0.1. |
Enhancements |
There are no enhancements in this fix pack. |
Fixes |
1 | 100356 | | When adapter creates 2 or more different modules with BO having same name but different namespace and structure, inbound and outbound operations of those modules will throw NullPointerException. |
Symptom:
When adapter creates 2 or more different modules with BO having same name but different namespace and structure, inbound and outbound operations of those modules will throw NullPointerException.
|
Resolution:
Redefined the methods of "hashCode()" and "equals()" in the SDOV1Type class. Then individual adapter can distinguish those BO correctly by "namespace + name" if those BOs name are equal.
|
|
2 | 100406 | | For Adapter inbound and outbound operation(standalone deployment), after the application is restarted, the NullPointerException will appear when the adapter tries to query the ASI Infor from cache. |
Symptom:
For Adapter inbound and outbound operation(standalone deployment), after the application is restarted, the NullPointerException will appear when the adapter tries to query the ASI Infor from cache.
|
Resolution:
The BO's namespace and name has been preserved as BO instance's fields. After the application is restarted, adapter can still get them from those instance's field rather than the stale data cache.
|
|
3 | 100430 | | When adapter caches some BeanTypes that have a great deal of properties, java OutOfMemmory Exception be thrown during performing inbound and outbound operation with some events (persisting 20-50 times in WAS broker). |
Symptom:
When adapter caches some BeanTypes that have a great deal of properties, java OutOfMemmory Exception be thrown during performing inbound and outbound operation with some events (persisting 20-50 times in WAS broker).
|
Resolution:
The BeanType's class names are preserved as key of cache, rather than BeanType's instance. When broker is WAS, adapter can get BeanType structure referred to its class name.
|
|
4 | 99888 | | When adapter gets ARM transaction factory name to process ARM transaction, a WAS internal private API is used for it, which need to be replaced with public interfaces. |
Symptom:
When adapter gets ARM transaction factory name to process ARM transaction, a WAS internal private API is used for it, which need to be replaced with public interfaces.
|
Resolution:
Switched to Invoke PmiRmJmxService MBean, a set of public interfaces exposed by WAS to get ARM transaction fatory name.
|
|
5 | 100262 | | Ambiguous semantics of the max connection number in the event delivery config |
Symptom: Adapter will not use connection pool for event delivery if max connection number is 1 and delivery mode is "UNORDERED". In this situation, multiple thread will share one connection without thread safe mechanism, which will cause exception.
|
Resolution: The fix makes connection pool be used when max connection number is 1, connection pool keep thread safe and thus is recommended to use under "UNORDERED" and "ORDERED BY KEY" delivery mode; If user preferred not to use connection pool, he/she could set max connection number to 0, while thread safe will not be guaranteed.
|
|
6 | 77930 | | Printing out the AdapterFoundationClasses version in the Logs/traces. |
Symptom: Currently with all the adapters , The AFC version is not printed out in the logs/traces. It would be really helpful to have this information printed out to the logs/traces especially in debugging issues due to conflicting AFC being loaded at runtime.
|
Resolution: print AFC version in the trace |
|