You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@activemq.apache.org by "Dean Smith (JIRA)" <ji...@apache.org> on 2015/08/31 11:50:45 UTC

[jira] [Updated] (AMQ-5950) Active MQ broker exposing data persistent layer when using oracle database

     [ https://issues.apache.org/jira/browse/AMQ-5950?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Dean Smith updated AMQ-5950:
----------------------------
    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:

{code}
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)
{code}

The reason why it failed is acceptable but the stack trace is exposing the internal database tables to the client which should be encapsulated.

  was:
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:

{code}
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)
{code}


> Active MQ broker exposing data persistent layer when using oracle database
> --------------------------------------------------------------------------
>
>                 Key: AMQ-5950
>                 URL: https://issues.apache.org/jira/browse/AMQ-5950
>             Project: ActiveMQ
>          Issue Type: Bug
>          Components: Broker, JMS client
>    Affects Versions: 5.9.1
>         Environment: database version oracle 11g
>            Reporter: Dean Smith
>            Priority: Trivial
>
> 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:
> {code}
> 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)
> {code}
> The reason why it failed is acceptable but the stack trace is exposing the internal database tables to the client which should be encapsulated.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)