"timfox" wrote : "vc123" wrote : 
  |   | 
  |   | anonymous wrote : 
  |   |   | On my tests,  persistent auto-ack send was too fast ( about 3000 1K 
messages/s) which means that there is no auto commit.  if so,  it would mean 
that persistent message delivery is not really reliable which is a violation of 
the JMS spec.
  |   |   | 
  |   | 
  |   | No, that's not a violation of the spec for previously mentioned 
reasons. I suspect you are using a non durable subscriber, in which case 
messages won't get persisted anyway.
  |   | 
  |   | Please can you explain whether you are using a queue or topic, whether 
it is temporary, and if a topic, whether is durable or non durable?
  | 
  | It turns out that the speed was so high because I used Hypersonic as the 
"persistent" store.  When I switched to Oracle,  the 1KB message production 
rate fell down to the expected value of about 100 messages/sec. 
  | 
  | I traced Oracle SQL statements resulting from message send/receive calls,  
and I saw that with persistent delivery a commit is issued once per each 
message in the AUTO_ACK mode and once per batch in the transactional mode as 
expected.  So JBoss Messaging works according to the spec.
  | 
  | However, I was rather disappointed with non_persistent delivery which was 
about 1700-2000 messages/s with Oracle.  Apparently,  even with non_persistent 
delivery,  JM still issues quite a few SQL calls.
  | 
  | Switching back to HSQL, in hopes to improve performance, was no joy either 
because on my stress test (sending-receiving 1K messages in a loop) HSQL failed 
repeated with the following stack:
  | 
  |   | 15:48:04,936 WARN  [JDBCSupport] SQLException caught, SQLState 23000
  |   | code:-104- assuming deadlock detected, try:1
  |   | java.sql.SQLException: Violation of unique constraint SYS_PK_51:
  |   | duplicate value(s) for column(s) $$ in statement [INSERT INTO JBM_MSG
  |   | (MESSAGE_ID, RELIABLE, EXPIRATION, TIMESTAMP, PRIORITY, TYPE, HEADERS,
  |   | PAYLOAD) SELECT ?, ?, ?, ?, ?, ?, ?, ? FROM JBM_DUAL WHERE NOT EXISTS
  |   | (SELECT MESSAGE_ID FROM JBM_MSG WHERE MESSAGE_ID = ?)]
  |   |         at org.hsqldb.jdbc.Util.throwError(Unknown Source)
  |   |         at org.hsqldb.jdbc.jdbcPreparedStatement.executeUpdate(Unknown
  |   | Source)
  |   | 
  | The failure occured under JBoss 5 Beta 4 as well as Jboss 4.2.2 with SP3 
Messaging.
  | 
  | Thanks.
  | 
  | VJ
  | 
  | 

View the original post : 
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4128499#4128499

Reply to the post : 
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4128499
_______________________________________________
jboss-user mailing list
[email protected]
https://lists.jboss.org/mailman/listinfo/jboss-user

Reply via email to