Details
-
Bug
-
Status: Closed
-
Trivial
-
Resolution: Won't Fix
-
5.9.1
-
None
-
None
-
database version oracle 11g
Description
When stress testing the broker and producers are sending messages quicker than your consumers consuming, and the table-space limit is hit, the broker throws this exception:
javax.jms.JMSException: ORA-01653: unable to extend table ACTIVEMQ_OWNER.ACTIVEMQ_MSGS by 8192 in tablespace ACTIVEMQ_DATA at org.apache.activemq.util.JMSExceptionSupport.create(JMSExceptionSupport.java:54) at org.apache.activemq.ActiveMQConnection.syncSendPacket(ActiveMQConnection.java:1419) at org.apache.activemq.ActiveMQConnection.syncSendPacket(ActiveMQConnection.java:1345) at org.apache.activemq.ActiveMQSession.send(ActiveMQSession.java:1963) at org.apache.activemq.ActiveMQMessageProducer.send(ActiveMQMessageProducer.java:289) at org.apache.activemq.ActiveMQMessageProducer.send(ActiveMQMessageProducer.java:224) at org.apache.activemq.ActiveMQMessageProducerSupport.send(ActiveMQMessageProducerSupport.java:269) at Producer.sendMessages(Producer.java:30) at ProducerContainer.run(ProducerContainer.java:79) at java.lang.Thread.run(Thread.java:745) Caused by: java.io.IOException: ORA-01653: unable to extend table ACTIVEMQ_OWNER.ACTIVEMQ_MSGS by 8192 in tablespace ACTIVEMQ_DATA at org.apache.activemq.util.IOExceptionSupport.create(IOExceptionSupport.java:45) at org.apache.activemq.store.jdbc.TransactionContext.close(TransactionContext.java:146) at org.apache.activemq.store.jdbc.JDBCMessageStore.addMessage(JDBCMessageStore.java:163) at org.apache.activemq.store.memory.MemoryTransactionStore.addMessage(MemoryTransactionStore.java:343) at org.apache.activemq.store.memory.MemoryTransactionStore$1.addMessage(MemoryTransactionStore.java:143) at org.apache.activemq.broker.region.Queue.doMessageSend(Queue.java:836) at org.apache.activemq.broker.region.Queue.send(Queue.java:727) at org.apache.activemq.broker.region.AbstractRegion.send(AbstractRegion.java:390) at org.apache.activemq.broker.region.RegionBroker.send(RegionBroker.java:455) at org.apache.activemq.broker.jmx.ManagedRegionBroker.send(ManagedRegionBroker.java:297) at org.apache.activemq.broker.BrokerFilter.send(BrokerFilter.java:152) at org.apache.activemq.broker.CompositeDestinationBroker.send(CompositeDestinationBroker.java:96) at org.apache.activemq.broker.TransactionBroker.send(TransactionBroker.java:307) at org.apache.activemq.broker.MutableBrokerFilter.send(MutableBrokerFilter.java:157) at org.apache.activemq.broker.TransportConnection.processMessage(TransportConnection.java:540) at org.apache.activemq.command.ActiveMQMessage.visit(ActiveMQMessage.java:756) at org.apache.activemq.broker.TransportConnection.service(TransportConnection.java:333) at org.apache.activemq.broker.TransportConnection$1.onCommand(TransportConnection.java:187) at org.apache.activemq.transport.MutexTransport.onCommand(MutexTransport.java:50) at org.apache.activemq.transport.WireFormatNegotiator.onCommand(WireFormatNegotiator.java:113) at org.apache.activemq.transport.AbstractInactivityMonitor.onCommand(AbstractInactivityMonitor.java:270) at org.apache.activemq.transport.TransportSupport.doConsume(TransportSupport.java:83) at org.apache.activemq.transport.tcp.TcpTransport.doRun(TcpTransport.java:214) at org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:196)
The reason why it failed is acceptable but the stack trace is exposing the internal database tables to the client which should be encapsulated.