<< Back to previous view

[MQ-274] enhanced cluster: max. clusterid length error log message based on max. db table name in broker log is not correct Created: 29/Jan/13  Updated: 27/Mar/13  Resolved: 29/Jan/13

Status: Closed
Project: mq
Component/s: broker-core
Affects Version/s: 4.1, 4.2, 4.3, 4.4, 4.4u1, 4.4u2, 4.5, 4.5.1, 4.5.2
Fix Version/s: 5.0

Type: Bug Priority: Major
Reporter: amyk Assignee: amyk
Resolution: Fixed Votes: 0
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Tags:
Participants: amyk and mathim

 Description   

The following error log message on longest cluster id length allowed by a database for MQ enhanced cluster is not accurate, similarly in MQ Administration Guide, see MQ-275

[#|2013-01-28T21:32:32.508-0800|SEVERE|5.0|imq.log.Logger|_ThreadID=1;_ThreadName=main;|ERROR [B3198]: Error initializing cluster manager:
com.sun.messaging.jmq.jmsserver.util.BrokerException: [B3179]: The specified cluster identifier (a123456789123456789) is too long. The length should
not exceed the database maximum table name length 30 minus 14.

Then imq.cluster.clusterid=a123456789123456, it still fails because an index name would be too long, finally making imq.cluster.clusterid=a12345678912 worked
----------------------
Caused by: com.sun.messaging.jmq.jmsserver.persist.jdbc.comm.MQSQLException: [CREATE INDEX MQCONSTATE41Ca123456789123456IDX1 ON MQCONSTATE41Ca123456789123456 (TRANSACTION_ID)]: ORA-00972: identifier is too long
[42000, 972]
at com.sun.messaging.jmq.jmsserver.persist.jdbc.comm.CommDBManager.wrapSQLException(CommDBManager.java:1157)
at com.sun.messaging.jmq.jmsserver.persist.jdbc.comm.CommBaseDAOImpl.createTable(CommBaseDAOImpl.java:251)
... 24 more
Caused by: java.sql.SQLSyntaxErrorException: ORA-00972: identifier is too long

at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:445)
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:396)
at oracle.jdbc.driver.T4C8Oall.processError(T4C8Oall.java:879)
at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:450)
at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:192)
at oracle.jdbc.driver.T4C8Oall.doOALL(T4C8Oall.java:531)
at oracle.jdbc.driver.T4CStatement.doOall8(T4CStatement.java:193)
at oracle.jdbc.driver.T4CStatement.executeForRows(T4CStatement.java:1033)
at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1329)
at oracle.jdbc.driver.OracleStatement.executeUpdateInternal(OracleStatement.java:1838)
at oracle.jdbc.driver.OracleStatement.executeUpdate(OracleStatement.java:1803)
at oracle.jdbc.driver.OracleStatementWrapper.executeUpdate(OracleStatementWrapper.java:294)
at com.sun.messaging.jmq.jmsserver.persist.jdbc.comm.CommBaseDAOImpl.createTable(CommBaseDAOImpl.java:234)
... 24 more



 Comments   
Comment by amyk [ 29/Jan/13 02:47 PM ]

fixed

Comment by mathim [ 27/Mar/13 08:26 PM ]

closing this issue as the broker log now displays the correct message

com.sun.messaging.jmq.jmsserver.util.BrokerException: [B3179]: The specified cluster identifier (a123456789123456) is too long. The length should not exceed the database maximum table name length 30 minus 18.

Generated at Wed Apr 23 18:52:34 UTC 2014 using JIRA 4.0.2#472.