Hi Gordon,
Please find attached all the logs from the initial connection and all the
session related entries. Have just tested and yes, it still raises the same
exception in 'non-clustered' mode.

Many thanks for you help,
Benn

2009/7/6 Gordon Sim <[email protected]>

> Benn wrote:
>
>> Hi Gordon,
>> Just looking through the log and seen the following...
>>
>>
>> 2009-jul-06 09:23:45 debug SessionState::SessionState
>> [email protected]: 0x9086108
>> 2009-jul-06 09:23:45 debug
>> [email protected]: attached on broker.
>> 2009-jul-06 09:23:45 debug Attached channel 1 to
>> [email protected]
>> 2009-jul-06 09:23:45 debug
>> [email protected]: ready to send,
>> activating output.
>> 2009-jul-06 09:23:45 trace 209.160.72.159:2144-12(local) activateOutput -
>> sending doOutput
>> 2009-jul-06 09:23:45 trace MCAST 209.160.72.159:2144-12:
>> {ClusterConnectionDeliverDoOutputBody: bytes=41; }
>> 2009-jul-06 09:23:45 trace 209.160.72.159:2144-12(local)Send doOutput
>> request for 41
>> 2009-jul-06 09:23:45 trace SENT [217.41.62.170:7445]: Frame[BEbe;
>> channel=1;
>> {SessionAttachedBody: name=1cf3d1fbf-1ac35-14db7-19fa0-113c720be1772; }]
>> 2009-jul-06 09:23:45 trace SENT [217.41.62.170:7445]: Frame[BEbe;
>> channel=1;
>> {SessionCommandPointBody: command-id=0; command-offset=0; }]
>> 2009-jul-06 09:23:45 trace 209.160.72.159:2144(READY) DLVR:
>> Event[209.160.72.159:2144-12 control 22 bytes]
>> 2009-jul-06 09:23:45 trace 209.160.72.159:2144(READY) DLVR:  Frame[BEbe;
>> channel=0; {ClusterConnectionDeliverDoOutputBody: bytes=41; }] control
>> 209.160.72.159:2144-12
>> 2009-jul-06 09:23:45 trace 209.160.72.159:2144-12(local)
>> delivereDoOutput:
>> requested=41 sent=0 more=0
>> 2009-jul-06 09:23:45 trace MCAST Event[209.160.72.159:2144-15 data 59
>> bytes]
>> 2009-jul-06 09:23:45 trace 209.160.72.159:2144(READY) DLVR:
>> Event[209.160.72.159:2144-15 data 59 bytes]
>> 2009-jul-06 09:23:45 trace 209.160.72.159:2144(READY) DLVR:  Frame[BEbe;
>> channel=1; {SessionAttachBody:
>> name=1cf3d1fbf-1ac35-14db7-19fa0-113c720be1772; }] data
>> 209.160.72.159:2144-15
>> read-credit=1
>> 2009-jul-06 09:23:45 debug Exception constructed: Session already
>> attached:
>> [email protected]
>> (qpid/broker/SessionManager.cpp:55)
>> 2009-jul-06 09:23:45 error Channel exception: session-busy: Session
>> already
>> attached: [email protected]
>> (qpid/broker/SessionManager.cpp:55)
>> 2009-jul-06 09:23:45 trace SENT [217.41.62.170:13894]: Frame[BEbe;
>> channel=1; {SessionDetachedBody:
>> name=1cf3d1fbf-1ac35-14db7-19fa0-113c720be1772; code=1; }]
>> 2009-jul-06 09:23:45 trace MCAST Event[209.160.72.159:2144-13 data 59
>> bytes]
>>
>> Any help much appreciated.
>>
>
> From this it looks like either the same uuid is being used for two
> different sessions, or somehow the attach control is being sent (or received
> twice). Could you include some of the lines just before this
> snippet to try and work out which of these it is?
>
> Also, do you see the same issue with a standalone broker (i.e.
> non-clustered)?
>
>
>
>>
>> 2009/7/6 Gordon Sim <[email protected]>
>>
>>  Benn wrote:
>>>
>>>  Hi There,
>>>> I'm hoping someone has come accross this issue before or can maybe shed
>>>> some
>>>> light on why this is happening.
>>>>
>>>> I have ported a test application i wrote for RabbitMQ (which worked
>>>> fine)
>>>> but it throws a SessionClosedException when multiple producers are
>>>> started.
>>>> Perhaps i am going about this all the wrong way for Qpid - but it seemed
>>>> right to me... any assistance would be appreciated :)
>>>>
>>>>  Do you see any errors logged on the broker?
>>>
>>>
>>>  Here is my (very) simple app:
>>>
>>>>
>>>>
>>>> --------------------------------------------------------------------------------------------
>>>>
>>>> using System;
>>>> using System.Collections;
>>>> using System.Text;
>>>> using System.Threading;
>>>> using org.apache.qpid.client;
>>>> using org.apache.qpid.transport;
>>>>
>>>> namespace QTest
>>>> {
>>>> class Program
>>>> {
>>>>  static Queue testQueue = Queue.Synchronized(new Queue());
>>>> static bool run = true;
>>>>  public static void Main(string[] args)
>>>> {
>>>> int messages = int.Parse(args[0]);
>>>> int producers = int.Parse(args[1]);
>>>>  PopulateQueue(messages);
>>>>  DateTime start = DateTime.Now;
>>>>  for (int x = 0; x < producers ; x++ ) {
>>>> Thread thd = new Thread(new ThreadStart(Runner));
>>>> thd.IsBackground = true;
>>>> thd.Start();
>>>> }
>>>>  while (testQueue.Count > 0) {
>>>> Thread.Sleep(10);
>>>> }
>>>>  TimeSpan end = DateTime.Now.Subtract(start);
>>>>  Console.WriteLine("{0} producers took {1} seconds to enqueue {2}
>>>> messages",
>>>> producers, end.TotalSeconds, messages);
>>>>  run = false;
>>>>  Console.ReadLine();
>>>> }
>>>>  public static void PopulateQueue(int count)
>>>> {
>>>> for (int i = 0; i < count ; i++) {
>>>> testQueue.Enqueue(string.Format("Message: {0}", i));
>>>> }
>>>> }
>>>>  public static void Runner()
>>>> {
>>>> Client connection = new Client();
>>>> connection.connect("redrabbits.co.uk", 5672, string.Empty, "guest",
>>>> "guest");
>>>> ClientSession session = connection.createSession(50000);
>>>>  IMessage message = new Message();
>>>> message.DeliveryProperties.setRoutingKey("testing");
>>>> while (run) {
>>>> if(testQueue.Count > 0) {
>>>> object thisMsg = testQueue.Dequeue();
>>>> if(thisMsg != null) {
>>>>  // put it in message queue
>>>> message.clearData();
>>>> message.appendData(Encoding.UTF8.GetBytes(thisMsg.ToString()));
>>>> session.messageTransfer("amq.direct", message);
>>>> }
>>>> }
>>>> Thread.Sleep(10);
>>>> }
>>>>  session.sync();
>>>> connection.close();
>>>> }
>>>> }
>>>> }
>>>>
>>>>
>>>>
>>>>
>>>> -------------------------------------------------------------------------------------
>>>>
>>>> Many thanks in advance :)
>>>>
>>>>
>>>>  ---------------------------------------------------------------------
>>> Apache Qpid - AMQP Messaging Implementation
>>> Project:      http://qpid.apache.org
>>> Use/Interact: mailto:[email protected]
>>>
>>>
>>>
>>
>>
>
> ---------------------------------------------------------------------
> Apache Qpid - AMQP Messaging Implementation
> Project:      http://qpid.apache.org
> Use/Interact: mailto:[email protected]
>
>


-- 
Cheers,
Benn
---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:[email protected]

Reply via email to