[jboss-dev] What is supposed to configure the JBM_ID_CACHE in the all config?

Scott Stark sstark at redhat.com
Wed Jun 4 23:06:14 EDT 2008


I'm still seeing this which means I can't run the smoke tests. The 
JBM_ID_CACHE should be created from the default ddl coming from hard 
coded defaults in the JDBCPersistenceManager:

   protected Map getDefaultDDLStatements()
   {
      Map<String, String> map = new LinkedHashMap<String, String>();
      map.put("CREATE_DUAL", "CREATE TABLE JBM_DUAL (DUMMY INTEGER, 
PRIMARY KEY(DUMMY))");
      // Message reference
      map.put("CREATE_MESSAGE_REFERENCE",
              "CREATE TABLE JBM_MSG_REF (MESSAGE_ID BIGINT, "
            + "CHANNEL_ID BIGINT, TRANSACTION_ID BIGINT, STATE CHAR(1), 
ORD BIGINT, PAGE_ORD BIGINT, "
            + "DELIVERY_COUNT INTEGER, SCHED_DELIVERY BIGINT, PRIMARY 
KEY(MESSAGE_ID, CHANNEL_ID))");
      map.put("CREATE_IDX_MESSAGE_REF_TX",
              "CREATE INDEX JBM_MSG_REF_TX ON JBM_MSG_REF 
(TRANSACTION_ID, STATE)");
      // Message
      map.put("CREATE_MESSAGE",
              "CREATE TABLE JBM_MSG (MESSAGE_ID BIGINT, RELIABLE CHAR(1), "
            + "EXPIRATION BIGINT, TIMESTAMP BIGINT, PRIORITY TINYINT, 
TYPE TINYINT, HEADERS LONGVARBINARY, "
            + "PAYLOAD LONGVARBINARY, "
            + "PRIMARY KEY (MESSAGE_ID))");
      // Transaction
      map.put("CREATE_TRANSACTION",
              "CREATE TABLE JBM_TX ("
            + "NODE_ID INTEGER, TRANSACTION_ID BIGINT, BRANCH_QUAL 
VARBINARY(254), "
           +  "FORMAT_ID INTEGER, GLOBAL_TXID VARBINARY(254), PRIMARY 
KEY (TRANSACTION_ID))");
      // Counter
      map.put("CREATE_COUNTER",
              "CREATE TABLE JBM_COUNTER (NAME VARCHAR(255), NEXT_ID 
BIGINT, PRIMARY KEY(NAME))");
      // Id cache
      map.put("CREATE_ID_CACHE", "CREATE TABLE JBM_ID_CACHE (NODE_ID 
INTEGER, CNTR INTEGER, JBM_ID VARCHAR(255), PRIMARY KEY(NODEID, CNTR))");
      return map;
   }

The CREATE_ID_CACHE statement is simply wrong as its primary key 
statement references the NODEID while the column is named NODE_ID:

java.sql.SQLException: Column not found: NODEID in statement [CREATE 
TABLE JBM_ID_CACHE (NODE_ID INTEGER, CNTR INTEGER, JBM_ID VARCHAR(255), 
PRIMARY KEY(NODEID, CNTR)]

I don't know what I'm missing for this to work correctly. I would assume 
the sql can be overriden via a descriptor, but I'm up to date as far as 
I can see.

Dimitris Andreadis wrote:
> I don't see any messaging error in my all config?
>
> The only id I know about in JBM is this:
>
> server/all/deploy/messaging/messaging-service.xml:
>
>    ...
>    <!-- ServerPeer MBean configuration
>         ============================== -->
>
>    <mbean code="org.jboss.jms.server.ServerPeer"
>       name="jboss.messaging:service=ServerPeer"
>       xmbean-dd="xmdesc/ServerPeer-xmbean.xml">
>
>       <!-- The unique id of the server peer - in a cluster each node 
> MUST have a unique value - must be an integer -->
>
>       <attribute 
> name="ServerPeerID">${jboss.messaging.ServerPeerID:0}</attribute>
>    ...
>
> Scott Stark wrote:
>> The messaging layer is reporting errors during startup of the jbossas 
>> trunk all config. I don't see a config file that defines the 
>> JBM_ID_CACHE table in any of the all config files. What is supposed 
>> to do this?
>>
>> [578][valkyrie: bin]$ grep -r JBM_ID_CACHE ../server/all/
>> ../server/all/log/server.log:2008-06-03 09:47:26,876 DEBUG 
>> [org.jboss.messaging.core.impl.JDBCSupport] (main) Failed to execute: 
>> CREATE TABLE JBM_ID_CACHE (NODE_ID INTEGER, CNTR INTEGER, JBM_ID 
>> VARCHAR(255), PRIMARY KEY(NODEID, CNTR))
>> ../server/all/log/server.log:java.sql.SQLException: Column not found: 
>> NODEID in statement [CREATE TABLE JBM_ID_CACHE (NODE_ID INTEGER, CNTR 
>> INTEGER, JBM_ID VARCHAR(255), PRIMARY KEY(NODEID, CNTR)]
>> ../server/all/log/server.log:java.sql.SQLException: Table not found 
>> in statement [SELECT CNTR, ID FROM JBM_ID_CACHE WHERE NODE_ID = ?]
>> ../server/all/log/server.log:java.sql.SQLException: Table not found 
>> in statement [SELECT CNTR, ID FROM JBM_ID_CACHE WHERE NODE_ID = ?]
>> ../server/all/log/server.log:java.sql.SQLException: Table not found 
>> in statement [SELECT CNTR, ID FROM JBM_ID_CACHE WHERE NODE_ID = ?]
>> ../server/all/log/server.log:jboss.messaging:service=ServerPeer -> 
>> **ERROR** | java.sql.SQLException: Table not found in statement 
>> [SELECT CNTR, ID FROM JBM_ID_CACHE WHERE NODE_ID = ?]
>>
>> _______________________________________________
>> jboss-development mailing list
>> jboss-development at lists.jboss.org
>> https://lists.jboss.org/mailman/listinfo/jboss-development
> _______________________________________________
> jboss-development mailing list
> jboss-development at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/jboss-development




More information about the jboss-development mailing list