Mobility Connector stops working every few hours after upgrading to Mobility Pack 1.1.2

  • 7008828
  • 16-Jun-2011
  • 10-Dec-2013

Environment

Novell Data Synchronizer Mobility Pack 1.1.2

Situation

Symptoms:
Mobility Connector stops working every few hours after upgrading to Mobility Pack 1.1.2
Mobility connector shows running but Mobility monitoring shows "Please make sure that the connector is started and running!"
Data Sync randomly stops working

Changes:
Upgraded to Mobility Pack 1.1.2 (Build 428)

Resolution

Note down the userID that is causing the issue
  1. Follow the steps listed in the following TID to set the mobility log level to Debug/Verbose/Diagnostic
    https://support.microfocus.com/kb/doc.php?id=7006823&sliceId=1&docTypeID=DT_TID_1_1&dialogID=240579113&stateId=0 0 240577219 0 240577219
  2. Once the problem happens, type "cat /var/log/datasync/connectors/default.pipeline1.mobility-Appinterface.log | grep "value too long for type character varying" -B 7 " and press Enter.
  3. The output should be similar to the following
    2011-06-16 16:13:55.631 DEBUG_VERBOSE [CP WSGIServer Thread-23] [sync:1945] [userID:cn=user1,ou-ou1,o=org] [eventID:] [objectID:] [Sync] Adding device add event: eventId = de5ff914982211e09055000c296c211d
    2011-06-16 16:13:55.633 ERROR_VERBOSE [CP WSGIServer Thread-23] [sync:415] [userID:] [eventID:] [objectID:] [Sync] doSync except
    Traceback (most recent call last):
    File "syncengine/connectors/mobility/lib/device/sync.py", line 399, in doSync
    File "syncengine/connectors/mobility/lib/device/sync.py", line 1946, in __processChangesFromDevice
    File "syncengine/connectors/mobility/lib/storage/datastore.py", line 2361, in addDeviceEvent
    File "syncengine/connectors/mobility/lib/storage/datastore.py", line 168, in databaseQueryWithModify
    DataError: ('22001', '[22001] ERROR: value too long for type character varying(256);\nError while executing the query (7) (SQLExecDirectW)')
  4. Note the userID. In the above example, it is user1.

Follow the steps below to prevent the issue:

  1. Type psql -U datasync_user mobility and press Enter on the Mobility Server.
  2. Enter in the database password. If the database password is not known, please check /etc/datasync/configengine/configengine.xml file as the password is stored in plaintext in the following format
    <db>datasync</db>
    <username>datasync_user</username>
    <password>novell</password>
  3. Once the password has been entered, please type ALTER TABLE deviceimages ALTER COLUMN extReferenceMap TYPE varchar(300); and press Enter. Make sure to type semi-colon(;) at the end.
  4. Type ALTER TABLE deviceevents ALTER COLUMN extReferenceMap TYPE varchar(300); and press Enter. Make sure to type semi-colon(;) at the end.
  5. Type \q to exit.
  6. Type "rcdatasync stop " and press Enter.
  7. Type "rcpostgresql stop " and press Enter.
  8. Type "rcpostgresql start " and press Enter.
  9. Type "rcdatasync start " and press Enter.
  10. Login to WebAdmin https://IPAddressOfMobilityServer:8120/login and click on mobility | Monitor and delete all the devices for the user noted earlier.

Status

Reported to Engineering