Policy Manager Server error and maintenance tool

Highlighted
Aspirant

Policy Manager Server error and maintenance tool

 
Hello
 
Our customer is not able to log into policy manager server. 
 
We offered customer to use the maintenance tool in order to repair the database as it is writen in the admin guide. The problem is that customer does not have the tool in the folder  so he is not able to use it. I know also that there is an option to restore backup but unfortunately customer has only backup from 2016. 
 
Will it be possible to install policy manager server on my computer and than just send the exe file from my installation folder via email?
 
What do you suggest to solve this problem? 
 
error-screen.png
 
 
 
 
 
unnamed.png
 
Last error from Administrator.error

Wed Jan 31 12:59:01 CET 2018
com.fsecure.commons.java.spring.remoting.httpinvoker.ReplacedException: org.springframework.jdbc.UncategorizedSQLException: PreparedStatementCallback; uncategorized SQLException for SQL [SELECT id, node_path, node_type, name, comment, host_identity, last_connection_time, policy_counter, oid_id, value, external_reference FROM domain_tree LEFT JOIN host_connection_info ON id = host_connection_info.domain_id LEFT JOIN (SELECT domain_id, status.oid_id, value FROM status INNER JOIN cached_oids ON cached_oids.oid_id = status.oid_id) status ON id = status.domain_id WHERE (parent_id IS NOT NULL OR node_type = 'DOM') ORDER BY node_path ASC]; SQL state [HY000]; error code [50000]; General error: "java.lang.ArrayIndexOutOfBoundsException"; SQL statement:
SELECT id, node_path, node_type, name, comment, host_identity, last_connection_time, policy_counter, oid_id, value, external_reference FROM domain_tree LEFT JOIN host_connection_info ON id = host_connection_info.domain_id LEFT JOIN (SELECT domain_id, status.oid_id, value FROM status INNER JOIN cached_oids ON cached_oids.oid_id = status.oid_id) status ON id = status.domain_id WHERE (parent_id IS NOT NULL OR node_type = 'DOM') ORDER BY node_path ASC [50000-164]; nested exception is org.h2.jdbc.JdbcSQLException: General error: "java.lang.ArrayIndexOutOfBoundsException"; SQL statement:
SELECT id, node_path, node_type, name, comment, host_identity, last_connection_time, policy_counter, oid_id, value, external_reference FROM domain_tree LEFT JOIN host_connection_info ON id = host_connection_info.domain_id LEFT JOIN (SELECT domain_id, status.oid_id, value FROM status INNER JOIN cached_oids ON cached_oids.oid_id = status.oid_id) status ON id = status.domain_id WHERE (parent_id IS NOT NULL OR node_type = 'DOM') ORDER BY node_path ASC [50000-164] Caused by: com.fsecure.commons.java.spring.remoting.httpinvoker.ReplacedException: org.h2.jdbc.JdbcSQLException: General error: "java.lang.ArrayIndexOutOfBoundsException"; SQL statement: SELECT id, node_path, node_type, name, comment, host_identity, last_connection_time, policy_counter, oid_id, value, external_reference FROM domain_tree LEFT JOIN host_connection_info ON id = host_connection_info.domain_id LEFT JOIN (SELECT domain_id, status.oid_id, value FROM status INNER JOIN cached_oids ON cached_oids.oid_id = status.oid_id) status ON id = status.domain_id WHERE (parent_id IS NOT NULL OR node_type = 'DOM') ORDER BY node_path ASC [50000-164] ... 157 more Caused by: java.lang.ArrayIndexOutOfBoundsException
2 REPLIES 2
Superuser

Re: Policy Manager Server error and maintenance tool

Hello,

 

My suggestion:

Pack up the problemful database's folder (probably several hundred megabytes size) and upload it to F-Secure FTP's Incoming folder. Open an F-Secure vendor support ticket, ask them to download the file and repair it for you, so you can use it at the customer to restore proper operation.

 

If the customer is making very heavy use of Policy Manager Server, maybe consider switching the database from H2 to MySQL at a later time, although that's a highly technical move and there is little official guidance offered.

 

Best Regards: Tamas Feher, Hungary.

F-Secure

Re: Policy Manager Server error and maintenance tool

Hello Xwim,

Indeed, customer's problems sounds like H2 DB corruption.

It is useless to copy just single fspms-db-maintenance-tool executable, as it uses logic from multiple PM jars. If there is no executable, it means PM does not have all needed logic. It is possible to upgrade Policy Manager to the newer version - setup will run Maintenance tool once all needed files are in place.

 

Seems your customer is using PM 12.20 that did not have Maintenance Tool yet, but already got bundled Policy Manager Recovery Tool - fspms-db-recover.bat in the bin dir. This tool uses the same recovery logic as Maintenance tool does.

If you start the bat without parameters, it shows own usage. For your purpose, follow these steps:

  • stop PMS service
  • run "fspms-db-recover.bat <path to empty dir>"
  • move original DB if needed
  • move recovered H2 DB from <path to empty dir> to D:\Program Files (x86)\F-Secure\Management Server 5\data\h2db
  • start PMS service

Regards,
Alexander