NFA 9.3.8 Harvester Migrator Failure: Frame 233

Document ID : KB000099912
Last Modified Date : 16/10/2018
Show Technical Document Details
Issue:
While upgrading NFA Harvester to 9.3.8, you may run into a migrator failure on frame 233.

For NFA 9.5.0 Frame 233 error: KB000117604

The error will be in the <installdir/migrator/migrator.log> and look like:
 
2018/05/24 15:22:39 INFO  Projector::play() - Frame #233: [SqlAction database=mysql port=3307 sql='CREATE FUNCTION v6_type RETURNS INTEGER SONAME 'nqUDF64.dll''] 
2018/05/24 15:22:39 FATAL TheSet::play() - Error playing back movie 
com.ca.im.migrator.exceptions.MigratorException: Movie playback failed.
	at com.ca.im.migrator.business.Projector.play(Unknown Source)
	at com.ca.im.migrator.TheSet.play(Unknown Source)
	at com.ca.im.migrator.TheSet.migrate(Unknown Source)
	at com.ca.im.migrator.MigratorApp.main(Unknown Source)
Caused by: com.ca.im.migrator.exceptions.SqlActionExecutionException: SQL action failed
	at com.ca.im.migrator.business.action.SqlAction.execute(Unknown Source)
	... 4 more
Caused by: java.sql.SQLException: Function 'v6_type' already exists
	at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:963)
	at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3966)
	at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3902)
	at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2526)
	at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2673)
	at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2549)
	at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:1861)
	at com.mysql.jdbc.PreparedStatement.execute(PreparedStatement.java:1192)
	at com.ca.im.migrator.data.BaseDao.executeNonQuery(Unknown Source)
	... 5 more
Cause:
The functions dropped but may still be in use which cause the migrator to fail during upgrade.
Resolution:
  1. Edit the <installdir/collector_movie.xml> and edit the top line from <movie nextFrame="233"> to <movie nextFrame="250"> and save it. If this does not save due to a "access is denied" error, open notepad as an administrator and open the 'collector_movie.xml' file and make the changes.
  2. Open a CMD prompt as an Administrator and got o this directory: <installdir/migrator>.
  3. Type in: RunMigrator.vbs and press enter. 
  4. Check the  <installdir/migrator/migrator.log> and you should see a new error:
2018/05/24 16:52:22 INFO Projector::play() - Frame #582: [SqlAction database=mysql port=3307 sql='CREATE FUNCTION v6_type RETURNS INTEGER SONAME 'nqUDF64.dll'']
2018/05/24 16:52:23 FATAL TheSet::play() - Error playing back movie 
com.ca.im.migrator.exceptions.MigratorException: Movie playback failed.
	at com.ca.im.migrator.business.Projector.play(Unknown Source)
	at com.ca.im.migrator.TheSet.play(Unknown Source)
	at com.ca.im.migrator.TheSet.migrate(Unknown Source)
	at com.ca.im.migrator.MigratorApp.main(Unknown Source)
Caused by: com.ca.im.migrator.exceptions.SqlActionExecutionException: SQL action failed
	at com.ca.im.migrator.business.action.SqlAction.execute(Unknown Source)
	... 4 more
Caused by: java.sql.SQLException: Function 'v6_type' already exists
	at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:963)
	at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3966)
	at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3902)
	at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2526)
	at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2673)
	at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2549)
	at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:1861)
	at com.mysql.jdbc.PreparedStatement.execute(PreparedStatement.java:1192)
	at com.ca.im.migrator.data.BaseDao.executeNonQuery(Unknown Source)
	... 5 more
2018/05/24 16:52:23 INFO  Library::putMovie() - Writing movie file N:\CA\NfA\collector_movie.xml 
2018/05/24 16:52:23 INFO  MigratorApp::main() - Exiting with code 1 
  1. Edit the <installdir/collector_movie.xml> and edit the top line from <movie nextFrame="582"> to <movie nextFrame="599"> and save it. If this does not save due to a "access is denied" error, open notepad as an administrator and open the 'collector_movie.xml' file and make the changes.
  2. Go back to the CMD prompt and type in: RunMigrator.vbs again and press enter. 
  3. Check the  <installdir/migrator/migrator.log> and you should see: Exiting with code 0
  4. If you have not already, continue the upgrade and let it complete.
  5. Download 938_3307_func.sql to the harvester which had the failure.
  6. Open a Administrator level CMD prompt and type: mysql -P3307 mysql < 938_3307_func.sql
  7. Restart the NetQoS MySQL Service.