Archive for April, 2011

LiveCycle ES2: workload distribution of batch events in clustered environments

Description

 If you are producing and consuming batch events in a clustered environment in LiveCycle ES2 you may notice that all events produced are consumed on the same cluster node.  This is the expected behaviour even though it may seem as though LiveCycle is not making use of the distribution benefits of a clustered environment.

This behaviour is related to the run-time property of the process, i.e. short-lived (synchronous) versus long-lived (asynchronous).

Explanation

Producer process Consumer process Result
Short-lived Long-lived Distributed
Short-lived Short-lived Same node
Long-lived Short-lived Same node
Long-lived Long-lived Distributed

When the consumer process is short-lived, the event is created on the 1st cluster node (server1), and a work item to handle the event is created and assigned to the workmanager on server1.  The workmanager handles the work item and synchronously invokes the short-lived consumer process.  The execution of that process happens in the same workmanager thread and so everything happens only on server1.

When the consumer process is long-lived, the event is created on server1, and a work item to handle the event is created and assigned to the workmanager on server1.  The workmanager handles the work item and asynchronously sends a request to the JobManager to invoke the long-lived process.  At this point event handling is done and everything has happened on server1.  At some point after this, JobManager picks up the invocation request and starts the long-lived consumer process.  This can happen on either node (server1 or server2) in the cluster.

reference: (182264457)

VN:F [1.9.22_1171]
Was this helpful? Please rate the content.
Rating: 9.0/10 (1 vote cast)

LiveCycle ES: java.net.SocketException using WebServices

Issue

 If you are using web services in your processes in LiveCycle ES or ES2, you may receive the following exception in the logs:

2011-04-20 17:30:44,072 ERROR [com.eviware.soapui.impl.wsdl.WsdlSubmit] Exception in request: java.net.SocketException: Software caused connection abort: recv failed
2011-04-20 17:30:44,072 ERROR [com.eviware.soapui.SoapUI] An error occured [Software caused connection abort: recv failed], see error log for details
2011-04-20 17:30:44,072 ERROR [soapui.errorlog] java.net.SocketException: Software caused connection abort: recv failed
java.net.SocketException: Software caused connection abort: recv failed
 at java.net.SocketInputStream.socketRead0(Native Method)
 at java.net.SocketInputStream.read(SocketInputStream.java:129)
 at java.io.BufferedInputStream.fill(BufferedInputStream.java:218)
 at java.io.BufferedInputStream.read(BufferedInputStream.java:237)
 at org.apache.commons.httpclient.HttpParser.readRawLine(HttpParser.java:77)
 at org.apache.commons.httpclient.HttpParser.readLine(HttpParser.java:105)

This exception occus when the web service WSDL cannot be reached (i.e. network issues, port numbers, firewall).  It can also be related to database problems.

Troubleshooting

1. Check the web service is reachable and responds as expected.

2. Try to restart the database server.

Additional information

 http://forums.adobe.com/message/3203930

reference: (182264455)

VN:F [1.9.22_1171]
Was this helpful? Please rate the content.
Rating: 7.3/10 (4 votes cast)

LiveCycle ES: duplicate events being received on JBoss clustered installation

Issue

 If you are using a JBoss clustered installation of LiveCycle ES2 to handle batches of events, you may notice that some events are received twice, (i.e. 10 events thrown, 12 events received).

Solution

 This can occur if the JBoss cluster is not configured correctly.  In the cluster settings (i.e. run.bat for JBoss) it is important to give each node in the cluster a unique server name using the “Adobeidp.serverName” parameter.  For example, Adobeidp.serverName=server1 for the first node in the cluster, and Adobeidp.serverName=server2 for the second node and so on…

Additional information

 When you give the two servers in a cluster the same name, you wind up with a workmanager on each server that has the same name. Work items get assigned to a specific workmanager, but since they both have the same name it becomes a race to see which one picks up the work item first. In some specific timing cases both will pick up the work item at the same time and process it, which is the reason for the duplication of events.

reference: (182264450)

VN:F [1.9.22_1171]
Was this helpful? Please rate the content.
Rating: 0.0/10 (0 votes cast)

Acrobat/Reader 9: properties toolbar doesn’t work in docked mode

Issue

When you try to edit a rich-text field in Acrobat or Reader 9 with the properties toolbar in docked mode, the toolbar is dimmed or displays “No current selection.

Solution

Undock the properties toolbar and use it in floating mode.

Additional information

This issue occurs if the properties bar was already docked when you opened the document. If you open the properties toolbar and dock it after opening the document, then it works only for the current document. In Acrobat X and Reader X, it is no longer possible to dock the properties toolbar in the user interface, so this issue cannot occur there.

http://help.adobe.com/en_US/Acrobat/9.0/Standard/WS58a04a822e3e50102bd615109794195ff-7fe4.w.html

reference: (181750120/2615060)

VN:F [1.9.22_1171]
Was this helpful? Please rate the content.
Rating: 4.0/10 (3 votes cast)

LiveCycle ES2: PDF form state not maintained after converting to PDF/a

Issue

 After converting a PDF file to PDF/A using LiveCycle ES2 you may notice that the form state has not been maintained for unsigned files.  This can manifest itself in that form objects (fields, buttons, subforms etc…) which were hidden in the original PDF file, are now visible in the resulting PDF/A file.

The form state is always maintained for signed files.

Solution

 This is an issue in LiveCycle ES2 (9.0.0.0, 9.0.0.1 and 9.0.0.2).  This issue will be addressed in ES2 SP3 and the new ADEP platform.  There are patches available for ES2 SP1 and SP2, so contact enterprise support if you require one of these patches.

Additional information

 We have added a new flag to the PDFOutputOptionsSpec used during the PDF to PDF/A conversion called “retainFormState“.  This flag must be set in the API parameters, or using the new option in the Workbench UI, to retain the form state on the resulting PDF/A file.

Here is the existing javadoc for PDFOutputOptionsSpec:

http://help.adobe.com/en_US/livecycle/9.0/programLC/javadoc/com/adobe/livecycle/output/client/PDFOutputOptionsSpec.html

reference: (182219821/2818751)

VN:F [1.9.22_1171]
Was this helpful? Please rate the content.
Rating: 0.0/10 (0 votes cast)

LiveCycle ES2: errors after updating to WebSphere 6.1 Fixpack 35 (6.1.0.35)

Issue

 If you are running LiveCycle ES2 on WebSphere and you update to WAS FP35 (6.1.0.35) you may notice some random errors in the server logs such as:

com.adobe.livecycle.docconverter.client.ValidationException: ALC-CVT-S00-003: Error while validating PDF/A conformance of a document: docConverter.pdf
 at com.adobe.livecycle.docconverter.DocConverterServiceImpl.isPDFA(DocConverterServiceImpl.java:463)
 at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
 at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:79)
 at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
 at java.lang.reflect.Method.invoke(Method.java:618)
...
Caused by: com.adobe.internal.pdfm.pdfa.PDFAServiceException: PDFM_I27002: PDF/A Validation was unable to release document 
"{SharedPDFMDocHandle name=docConverter.pdf ID=270667810 getStore={SharedStore name=docConverter.pdf ID=637281788 (faux clone of 1810918384) 
idp=<document state="passive" senderVersion="3" persistent="false" senderPersistent="false" passivated="true" senderPassivated="false" deserialized="true" 
senderHostId="127.0.0.1/4.241.117.208/4.241.117.207/4.241.117.214/4.241.117.234/4.241.117.233/4.241.117.232/4.241.117.236/4.241.117.227/4.241.117.226/
4.241.117.210/4.241.117.216/4.241.117.209/4.241.117.215/4.241.117.218/172.16.252.148/4.239.195.28/4.100.183.28" callbackId="0" senderCallbackId="16" 
callbackRef="com.adobe.idp._IDocumentCallbackStub:IOR:00bdbdbd0000002849444c3a636f6d2f61646f62652f6964702f49446f63756d656e7443616c6c6261636b3a312e30000000000
100000000000000c4000102bd000000194431303041455539313535382e443130302e696e7465726e00bd24550000002c4a4d42490000001071960b49000000000000000000000000000000000000
002400000008000000120000000000000007000000010000001400bdbdbd0501000100000000000101000000000049424d0a0000000800bd00011500000200000026000000020002bdbd49424d040
00000050005020102bdbdbd0000001f0000000400bd0003000000200000000400bd0001000000250000000400bd0003" isLocalizable="true" isTransactionBound="false" 
defaultDisposalTimeout="600" disposalTimeout="600" maxInlineSize="65536" defaultMaxInlineSize="65536" inlineSize="0" contentType="null" length="95543">
<cacheId/><localBackendId><DocumentFileID fileName="/usd/as91558a/work/was-v61/apps/jvmdms.a.1/temp/AdobeDocumentStorage/local/docm1302791768337/1925ec208e7deba285534660215ae481"/>
<localBackendId/><globalBackendId><DocumentFileID fileName="/usd/as91558a/work/was-v61/apps/jvmdms.a.1/native/adobe/jvmdms.a.1.as91558.1/DocumentStorage/docm1302792793931/d570dc3cf31fc6f368d4ee043ede67d5"/>
<globalBackendId/><senderLocalBackendId/><senderGlobalBackendId/><inline/><senderPullServantJndiName>adobe/idp/DocumentPullServant/adobews__957269328</senderPullServantJndiName>
<attributes/></document> pdfDoc=null sharedData=null} getPdfDoc=null getCounted=null refCount=0}".
    at com.adobe.internal.pdfm.pdfa.PDFAService.isPDFA(PDFAService.java:273)
    at com.adobe.internal.pdfm.pdfa.PDFAService.isPDFA(PDFAService.java:193)
    at com.adobe.livecycle.docconverter.DocConverterServiceImpl.isPDFA(DocConverterServiceImpl.java:461)
... 71 more
Caused by: com.adobe.internal.pdfm.NotAPDFException: PDFM_S00025: Document docConverter.pdf of type application/octet-stream is not a PDF.
    at com.adobe.livecycle.assembler.SharedPDFMDocHandle.open(SharedPDFMDocHandle.java:232)
    at com.adobe.internal.pdfm.PDFMDocHandle.acquire(PDFMDocHandle.java:608)
    at com.adobe.internal.pdfm.PDFMDocHandle.acquirePDF(PDFMDocHandle.java:662)
    at com.adobe.internal.pdfm.pdfa.PDFAService.isPDFA(PDFAService.java:217)
... 73 more

The errors that occur depend on what kind of processes and activities you are running in the LiveCycle server, so they could be very different to the above.  The cause of these errors is the WebSphere version and changes that were made to the JDK used by WebSphere.  With WAS FP35 (and probably FP33 and 37) the default behaviour of IgnoreMalformedInput has been set to false, resulting in this change in behaviour for the String constructor in the JDK, causing these issues in LiveCycle.

Solution

 Contact IBM to ensure you have the latest fixes which should contain the solution to this problem as outlined below.  The latest fixes should reset the default behaviour of IgnoreMalformedInput=true.

As an immediate workaround you can manually set the JVM parameter “-Dcom.ibm.IgnoreMalformedInput=true” in your WebSphere administration console.

Additional information

 Information from IBM related to the changes that cause this behaviour and the relevant workaround and fixes:

String constructor does not operate correctly with UTF-16 in Java SR12 FP1

This is a known issue and we had to make changes because of the behavior difference between IBM and OracleJVMs.  The change was to enable conformity with the Oracle JDK for malformed URLs.  To revert back to the original behavior you must add the following  parameter to the “Generic JVM Args” section in the WAS Admin console (instructions in the link below):

-Dcom.ibm.IgnoreMalformedInput=true

Where to set generic JVM arguments in WebSphere Application Server: http://www.ibm.com/support/docview.wss?rs=180&uid=swg21417365

For more details  on the issue please refer to the APAR- IZ80870  (link below).

IZ80870: REPLACING THE ILLEGAL UTF8 BYTE SEQUENCES WITH \UFFFD: http://www-01.ibm.com/support/docview.wss?uid=swg1IZ80870

Please note, this change went into SR 12 FP1, which is why the same behavior does not occur in the previous SDK releases.  Here is the SDK fix list confirming the above APAR went into SR 12 FP1:

http://www.ibm.com/developerworks/java/jdk/aix/j532/fixes.html#SR12FP1

reference: (182181050/2838202)

VN:F [1.9.22_1171]
Was this helpful? Please rate the content.
Rating: 9.0/10 (1 vote cast)