Discovery server keeps crashing with error "Invalid Nimsoft address string"

book

Article ID: 200943

calendar_today

Updated On:

Products

DX Unified Infrastructure Management (Nimsoft / UIM)

Issue/Introduction

After upgrading to UIM 20.3, the discovery_server keeps turning red.

The log shows:

06 Oct 2020 15:14:56,307 [main] FATAL com.nimsoft.discovery.server.probe.DiscoveryServerProbe - Error initializing probe: java.lang.IllegalArgumentException: Invalid Nimsoft address string
06 Oct 2020 15:14:56,307 [main] FATAL com.nimsoft.discovery.server.probe.DiscoveryServerProbe - java.lang.IllegalArgumentException: Invalid Nimsoft address string
    at com.nimsoft.nis.nimbus.RobotAddress.valueOf(RobotAddress.java:29)
    at com.nimsoft.nis.infrastructure.RobotInfo.setAddress(RobotInfo.java:256)
    at com.nimsoft.nis.dao.CmNimbusRobotDao.createRobot(CmNimbusRobotDao.java:151)
    at com.nimsoft.nis.dao.CmNimbusRobotDao.access$100(CmNimbusRobotDao.java:19)
    at com.nimsoft.nis.dao.CmNimbusRobotDao$RobotMapper.mapRow(CmNimbusRobotDao.java:131)
    at com.nimsoft.nis.dao.CmNimbusRobotDao$RobotMapper.mapRow(CmNimbusRobotDao.java:128)
    at org.springframework.jdbc.core.RowMapperResultSetExtractor.extractData(RowMapperResultSetExtractor.java:93)
    at org.springframework.jdbc.core.RowMapperResultSetExtractor.extractData(RowMapperResultSetExtractor.java:60)
    at org.springframework.jdbc.core.JdbcTemplate$1.doInPreparedStatement(JdbcTemplate.java:708)
    at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:644)
    at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:695)
    at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:727)
    at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:737)
    at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:792)
    at com.nimsoft.nis.dao.CmNimbusRobotDao.query(CmNimbusRobotDao.java:81)
    at com.nimsoft.discovery.server.nimbus.scan.NimbusScanMaster.queryAllRobots(NimbusScanMaster.java:94)
    at com.nimsoft.discovery.server.nimbus.scan.NimbusScanMaster.startTasks(NimbusScanMaster.java:48)
    at com.nimsoft.discovery.server.probe.ProbeTaskManager.start(ProbeTaskManager.java:47)
    at com.nimsoft.discovery.server.probe.DiscoveryServerProbe.initialize(DiscoveryServerProbe.java:132)
    at com.nimsoft.pf.ProbeFramework.initialize(ProbeFramework.java:145)
    at com.nimsoft.nimbus.PFProbe.initialize(PFProbe.java:490)
    at com.nimsoft.nimbus.PFProbe.doForever(PFProbe.java:519)
    at com.nimsoft.discovery.server.probe.DiscoveryServerProbe.main(DiscoveryServerProbe.java:52)
 
06 Oct 2020 15:14:56,307 [main] FATAL com.nimsoft.nimbus.PFProbe - (1) error, Failed to initialize probe lifecycle: (1) error, java.lang.IllegalArgumentException: Invalid Nimsoft address string: Invalid Nimsoft address string
06 Oct 2020 15:14:56,307 [main] FATAL com.nimsoft.nimbus.PFProbe - (1) error, Failed to initialize probe lifecycle: (1) error, java.lang.IllegalArgumentException: Invalid Nimsoft address string: Invalid Nimsoft address string
    at com.nimsoft.pf.ProbeFramework.initialize(ProbeFramework.java:148)
    at com.nimsoft.nimbus.PFProbe.initialize(PFProbe.java:490)
    at com.nimsoft.nimbus.PFProbe.doForever(PFProbe.java:519)
    at com.nimsoft.discovery.server.probe.DiscoveryServerProbe.main(DiscoveryServerProbe.java:52)

Cause

This is caused by a badly-formatted address in the CM_NIMBUS_ROBOT database table.

Environment

Release : 20.3

Component : UIM - DISCOVERY

Resolution

Run the following SQL query vs. the UIM backend database:

select robot_id,address from CM_NIMBUS_ROBOT;

Look through the list and see if you can find a row with an address that does not match the format of all the others (/Domain/Hub/Robot) and remove that row.

Deactivate/activate discovery_server and the error should be resolved.

Additional Information

As of UIM 20.3.1 this problem still exists, but will be resolved in a future version of discovery_server.