Synchronization problems with the config directory
 Technote (troubleshooting)
 
Problem(Abstract)
In WebSphere® Application Server V5.0 releases, the synchronization process fails when foreign files are added to the $WAS_HOME/config/cells directory.
 
Cause
The $WAS_HOME/config/cells directory contains your WebSphere Application Server configuration repository. In a WebSphere Application Server V5.0 Network Deployment Manager and Base configuration, the $WAS_ND/config/cells directory on the Network Deployment Manager installation contains the master repository. This configuration is propagated to all the Base nodes in a process called synchronization.

There are two types of synchronization:

  1. Synchronization propagates only the files modified using an administrative tool (WebSphere Application Server Administrative Console or wsadmin) from the Network Deployment to the Base installation.
  2. Full Resynchronization propagates all files from the Network Deployment to the Base that differ in timestamps. These synchronizations can be forced using the administrative tool, or they can be automated using automatic synchronization and node startup.

The following errors occur when foreign files, or files that are not created by WebSphere Application Server, are located within the $WAS_HOME/config/cells directory and a Full resynchronization occurs (node startup or forced). The foreign files are propagated from the Network Deployment to the Base configurations.

The error in Scenario 1 is due to a file in the repository called a, which Java™ cannot parse.

The error in Scenario 2 is due to a file in the repository called test.xml%, in which the percent ( %) sign is a special character used by the filetransfer process.

Scenario 1:
SystemOut.log of the nodeagent has the following synchronization errors:

[6/18/03 22:42:40:062 EDT] 44fa7fc3 NodeSync E ADMS0005E: Unable to generate synchronization request: javax.management.RuntimeMBeanException: Prefix string too short
at com.ibm.ws.management.connector.soap.SOAPConnectorClient.handleAdminFault(SOAPConnectorClient.java:505)
at com.ibm.ws.management.connector.soap.SOAPConnectorClient.invokeTemplate(SOAPConnectorClient.java:474)
at com.ibm.ws.management.connector.soap.SOAPConnectorClient.invoke(SOAPConnectorClient.java:382)
at com.ibm.ws.management.connector.soap.SOAPConnectorClient.invoke(SOAPConnectorClient.java:207)
at $Proxy0.invoke(Unknown Source)
at com.ibm.ws.management.AdminClientImpl.invoke(AdminClientImpl.java:162)
at com.ibm.ws.management.sync.NodeSync.invokeGetFolderSyncUpdate(NodeSync.java:441)
at com.ibm.ws.management.sync.NodeSyncTask.doSync(NodeSyncTask.java:250)
at com.ibm.ws.management.sync.NodeSyncTask.run(NodeSyncTask.java:138)
at java.lang.Thread.run(Thread.java:513)
---- Begin backtrace for nested exception
java.lang.IllegalArgumentException: Prefix string too short
.
[6/18/03 22:42:40:188 EDT] 44fa7fc3 NodeSyncTask A ADMS0016I: Configuration synchronization failed.


Scenario 2:
SystemOut.log of the nodeagent has the following synchronization errors:

[6/20/03 12:54:00:625 EDT] 6ca70c99 NodeSync E ADMS0005E: Unable to generate synchronization request: com.ibm.websphere.management.exception.ConnectorException: ADMC0009E: Failed to make the SOAP RPC call: invoke
at com.ibm.ws.management.connector.soap.SOAPConnectorClient.invokeTemplate(SOAPConnectorClient.java:465)
at com.ibm.ws.management.connector.soap.SOAPConnectorClient.invoke(SOAPConnectorClient.java:382)
at com.ibm.ws.management.connector.soap.SOAPConnectorClient.invoke(SOAPConnectorClient.java:207)
at $Proxy0.invoke(Unknown Source)
at com.ibm.ws.management.AdminClientImpl.invoke(AdminClientImpl.java:162)
at com.ibm.ws.management.sync.NodeSync.invokeGetFolderSyncUpdate(NodeSync.java:441)
at com.ibm.ws.management.sync.NodeSyncTask.doSync(NodeSyncTask.java:250)
at com.ibm.ws.management.sync.NodeSyncTask.run(NodeSyncTask.java:138)
at java.lang.Thread.run(Thread.java:513)
---- Begin backtrace for nested exception
[SOAPException: faultCode=SOAP-ENV:Client; msg=File download failed [404].Message: 404 Not Found; targetException=java.lang.IllegalArgumentException: File download failed [404].Message: 404 Not Found]
at org.apache.soap.rpc.Call.invoke(Unknown Source)
at com.ibm.ws.management.connector.soap.SOAPConnectorClient.invokeTemplate(SOAPConnectorClient.java:437)
at com.ibm.ws.management.connector.soap.SOAPConnectorClient.invoke(SOAPConnectorClient.java:382)
at com.ibm.ws.management.connector.soap.SOAPConnectorClient.invoke(SOAPConnectorClient.java:207)
at $Proxy0.invoke(Unknown Source)
at com.ibm.ws.management.AdminClientImpl.invoke(AdminClientImpl.java:162)
at com.ibm.ws.management.sync.NodeSync.invokeGetFolderSyncUpdate(NodeSync.java:441)
at com.ibm.ws.management.sync.NodeSyncTask.doSync(NodeSyncTask.java:250)
at com.ibm.ws.management.sync.NodeSyncTask.run(NodeSyncTask.java:138)
at java.lang.Thread.run(Thread.java:513)
.
[6/20/03 12:54:00:688 EDT] 6ca70c99 NodeSyncTask A ADMS0016I: Configuration synchronization failed.

If you trace the nodeagent the following can be found in the trace.log:
[6/20/03 12:54:00:141 EDT] 6ca70c99 FileTransferC d cells/masterblasterNetwork/nodes/masterblaster/test.xml%27206.tmp
com.ibm.websphere.management.filetransfer.client.TransferFailedException: File download failed [404].Message: 404 Not Found
at com.ibm.ws.management.filetransfer.client.FileTransferClientImpl.download(FileTransferClientImpl.java:1348)
at com.ibm.ws.management.filetransfer.client.FileTransferClientImpl.downloadFile(FileTransferClientImpl.java:1143)
at com.ibm.websphere.management.filetransfer.client.FileDownloadInputStream.connect(FileDownloadInputStream.java:143)
at com.ibm.websphere.management.filetransfer.client.FileDownloadInputStream.readObject(FileDownloadInputStream.java:176)
at java.lang.reflect.Method.invoke(Native Method)
at java.io.ObjectInputStream.invokeObjectReader(ObjectInputStream.java:2268)
at java.io.ObjectInputStream.inputObject(ObjectInputStream.java:1458)

 
Resolving the problem
Search through the repository for files that have incompatible names. For Network Deployment environments, look through the repository for the Deployment Manager. Otherwise, look at the repository of the base system. The repository is contained in the WAS install directory/config directory.
If it is not practical to look through the actual system, use the output from the collector.sh/bat tool. Look at the WAS/fileperm file to see the list of files used by WebSphere Application Server. Search the files in the WAS install directory/config directory for:
  • Files with names that have 1 character
  • Files with no name
  • Files with 0 bytes
  • Files with names that contain the percent ( % ) sign

Backup and remove the problematic file, then retry the synchronization.
 
 
Cross Reference information
Segment Product Component Platform Version Edition
Application Servers Runtimes for Java Technology Java SDK
 
 


Document Information


Product categories: Software > Application Servers > Distributed Application & Web Servers > WebSphere Application Server > General
Operating system(s): Windows
Software version: 6.0
Software edition:
Reference #: 1162807
IBM Group: Software Group
Modified date: May 23, 2005