There are unprocessed security bucket files in the $SPECROOT/data/reporting directory and the following errors were found in the Tomcat log file ($SPECROOT/tomcat/logs/stdout.log (Windows) or catalina.out (Linux/Solaris)):
Mar 15, 2016 11:56:55.474 (SRM/SecurityHandler/bucketReader) (com.aprisma.spectrum.app.repmgr.dc.event.handler.SecurityHandler) - (ERROR) - Error occurred while processing Security event bucket
Caused by: org.springframework.dao.DataIntegrityViolationException: PreparedStatementCallback; SQL [INSERT INTO security_string( security_string ) VALUES( ? ) ON DUPLICATE KEY UPDATE security_string = security_string]; Data truncation: Data too long for column 'security_string' at row 1; nested exception is com.mysql.jdbc.MysqlDataTruncation: Data truncation: Data too long for column 'security_string' at row 1
Mar 18, 2016 20:13:59.116 (SRM/SecurityHandler/bucketReader) (com.aprisma.spectrum.app.repmgr.dc.event.handler.SecurityHandler) - (ERROR) - Error occurred while processing Security event bucket
Caused by: org.springframework.dao.DataIntegrityViolationException: PreparedStatementCallback; SQL [UPDATE model set security_string = ? WHERE model_key = ?]; Data truncation: Data too long for column 'security_string' at row 1; nested exception is com.mysql.jdbc.MysqlDataTruncation: Data truncation: Data too long for column 'security_string' at row 1
Mar 21, 2016 20:12:07.335 (SRM/SecurityHandler/bucketReader) (com.aprisma.spectrum.app.repmgr.dc.event.handler.SecurityHandler) - (ERROR) - Error occurred while processing Security event bucket
Caused by: org.springframework.dao.DataIntegrityViolationException: PreparedStatementCallback; SQL [UPDATE interfacemodel SET security_string = ? WHERE model_key = ?]; Data truncation: Data too long for column 'security_string' at row 1; nested exception is com.mysql.jdbc.MysqlDataTruncation: Data truncation: Data too long for column 'security_string' at row 1
The security_string field in the reporting database is smaller than the value set for the models in OneClick Console. The default size is 255 characters.
Release: Any version of Spectrum
Component:
As there are multiples tables with the security_string field, we need to extend the size for each table.
Run the following MySQL command to increase the security_string field size:
1. Log into the SRM system as the suer that owns the Spectrum installation
2. If on Windows, start a bash shell by running "bash -login"
3. cd to the $SPECROOT/mysql/bin directory
4. Enter the following command to log into mysql:
./mysql --defaults-file=../my-spectrum.cnf -uroot -proot reporting
5. Run the following MySQL commands:
a) mysql> alter table security_string charset='latin1';
b) mysql> alter table security_string modify security_string varchar(350);
c) mysql> alter table devicemodel modify security_string varchar(350);
d) mysql> alter table model modify security_string varchar(350);
e) mysql> alter table interfacemodel modify security_string varchar(350);
6. Stop/start the Spectrum Tomcat service.