Re: Review Request: Re-add explicit flushes to store when execution.sync and sync flag in message.transfer received.
--- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/701/#review664 --- Ship it! - Gordon On 2011-05-10 21:25:11, Kenneth Giusti wrote: --- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/701/ --- (Updated 2011-05-10 21:25:11) Review request for qpid, Alan Conway, Gordon Sim, and Kim van der Riet. Summary --- Broker now issues an explicit flush for each received message that has the sync flag set in the message.transfer command. Broker also tracks all messages received that do _not_ have the sync flag set, and will flush these messages on receipt of an execution.sync. This addresses bug QPID-3252. https://issues.apache.org/jira/browse/QPID-3252 Diffs - /trunk/qpid/cpp/src/qpid/broker/SessionState.h 1101542 /trunk/qpid/cpp/src/qpid/broker/SessionState.cpp 1101542 Diff: https://reviews.apache.org/r/701/diff Testing --- qpid unit store unit Thanks, Kenneth
[jira] [Commented] (QPID-3252) Regression: broker no longer explicitly flushes messages to store on execution.sync or when sync command bit set.
[ https://issues.apache.org/jira/browse/QPID-3252?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13031598#comment-13031598 ] jirapos...@reviews.apache.org commented on QPID-3252: - --- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/701/#review664 --- Ship it! - Gordon On 2011-05-10 21:25:11, Kenneth Giusti wrote: bq. bq. --- bq. This is an automatically generated e-mail. To reply, visit: bq. https://reviews.apache.org/r/701/ bq. --- bq. bq. (Updated 2011-05-10 21:25:11) bq. bq. bq. Review request for qpid, Alan Conway, Gordon Sim, and Kim van der Riet. bq. bq. bq. Summary bq. --- bq. bq. Broker now issues an explicit flush for each received message that has the sync flag set in the message.transfer command. bq. Broker also tracks all messages received that do _not_ have the sync flag set, and will flush these messages on receipt of an execution.sync. bq. bq. bq. This addresses bug QPID-3252. bq. https://issues.apache.org/jira/browse/QPID-3252 bq. bq. bq. Diffs bq. - bq. bq./trunk/qpid/cpp/src/qpid/broker/SessionState.h 1101542 bq./trunk/qpid/cpp/src/qpid/broker/SessionState.cpp 1101542 bq. bq. Diff: https://reviews.apache.org/r/701/diff bq. bq. bq. Testing bq. --- bq. bq. qpid unit store unit bq. bq. bq. Thanks, bq. bq. Kenneth bq. bq. Regression: broker no longer explicitly flushes messages to store on execution.sync or when sync command bit set. - Key: QPID-3252 URL: https://issues.apache.org/jira/browse/QPID-3252 Project: Qpid Issue Type: Bug Components: C++ Broker Affects Versions: 0.10 Reporter: Ken Giusti Assignee: Ken Giusti Fix For: 0.11 In the previous release of the broker, an execution.sync command, or a message.transfer command with a sync flag would cause the broker to explicitly flush the message(s) and pend until the flushes complete. In the new asynchronous model, the broker does not initiate a flush under these scenarios. Without explicitly flushing, the completion of a message.transfer/execution.sync may delay for an unacceptable amount of time (ex. 1sec+) when used with store. -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira - Apache Qpid - AMQP Messaging Implementation Project: http://qpid.apache.org Use/Interact: mailto:dev-subscr...@qpid.apache.org
[jira] [Created] (QPID-3256) Application which uses Qpid (in my case Excel) hangs on shutdown
Application which uses Qpid (in my case Excel) hangs on shutdown Key: QPID-3256 URL: https://issues.apache.org/jira/browse/QPID-3256 Project: Qpid Issue Type: Bug Environment: OS: Windows. Qpid is assembled as DLL. Reporter: Eugene Fix For: 0.8 Hi All I encountered with strange behavior on shutdown when using qpid 0-8. When I use qpid in standalone console-application everything is ok. But when I use qpid in DLL which is loaded into Excel (as RTD module), Excel hangs on shutdown. I found out that in standalone application on shutdown I have next stack: qpidclientd.dll!qpid::client::`anonymous namespace'::IOThread::~IOThread() Line 138C++ qpidclientd.dll!`qpid::client::`anonymous namespace'::theIO'::`2'::`dynamic atexit destructor for 'io''() + 0xd bytes C++ qpidclientd.dll!_CRT_INIT(void * hDllHandle=0x6008, unsigned long dwReason=0, void * lpreserved=0x0001) Line 449 C qpidclientd.dll!__DllMainCRTStartup(void * hDllHandle=0x6008, unsigned long dwReason=0, void * lpreserved=0x0001) Line 560 + 0x11 bytes C qpidclientd.dll!_DllMainCRTStartup(void * hDllHandle=0x6008, unsigned long dwReason=0, void * lpreserved=0x0001) Line 510 + 0x11 bytes C ntdll.dll!77b79960() [Frames below may be incorrect and/or missing, no symbols loaded for ntdll.dll] ntdll.dll!77b9a516() ntdll.dll!77b9a3b8() kernel32.dll!77657363() msvcr90d.dll!__crtExitProcess(int status=0) Line 732 C msvcr90d.dll!doexit(int code=0, int quick=0, int retcaller=0) Line 644 + 0x9 bytes C msvcr90d.dll!exit(int code=0) Line 412 + 0xd bytes C Test.exe!__tmainCRTStartup() Line 599 C Test.exe!mainCRTStartup() Line 403 C kernel32.dll!77653677() ntdll.dll!77b79f02() ntdll.dll!77b79ed5() And in this state all threads of application are terminated. The only thread is: 1 21720 Main Thread Main Thread qpid::client::`anonymous namespace'::IOThread::~IOThreadNormal 0 so code from file ConnectionImpl.cpp works well: ~IOThread() { std::vectorThread threads; { ScopedLockMutex l(threadLock); if (poller_) poller_-shutdown(); t.swap(threads); } for (std::vectorThread::iterator i = threads.begin(); i != threads.end(); ++i) { i-join(); } } BUT in Excel I get stack: qpidclientd.dll!qpid::client::`anonymous namespace'::IOThread::~IOThread() Line 130C++ qpidclientd.dll!`qpid::client::`anonymous namespace'::theIO'::`2'::`dynamic atexit destructor for 'io''() + 0xd bytes C++ qpidclientd.dll!_CRT_INIT(void * hDllHandle=0x0770, unsigned long dwReason=0, void * lpreserved=0x) Line 449 C qpidclientd.dll!__DllMainCRTStartup(void * hDllHandle=0x0770, unsigned long dwReason=0, void * lpreserved=0x) Line 560 + 0x11 bytes C qpidclientd.dll!_DllMainCRTStartup(void * hDllHandle=0x0770, unsigned long dwReason=0, void * lpreserved=0x) Line 510 + 0x11 bytes C ntdll.dll!77b79960() [Frames below may be incorrect and/or missing, no symbols loaded for ntdll.dll] ntdll.dll!77ba1525() ntdll.dll!77b81231() KernelBase.dll!77281da7() ole32.dll!75bb9562() ole32.dll!75bb9593() ole32.dll!75bb95a7() ole32.dll!75bb98bf() ole32.dll!75bb9805() ole32.dll!75bb9a8c() EXCEL.EXE!2f3811e9() EXCEL.EXE!2f6933e8() EXCEL.EXE!2f32a5af() EXCEL.EXE!2f34894a() EXCEL.EXE!2f670001() MSO.DLL!65bc6ed5() MSO.DLL!65c26a34() MSO.DLL!65c30305() MSO.DLL!65bc910c() MSO.DLL!65c4f420() MSO.DLL!65bbf161() comctl32.dll!7233463d() user32.dll!762971be() user32.dll!76297d31() user32.dll!76297dfa() EXCEL.EXE!2f324572() EXCEL.EXE!2f324534() EXCEL.EXE!2f324441() MSO.DLL!65b78116() MSO.DLL!65ba1fd0() EXCEL.EXE!2f30424b() msvcr90.dll!749936c5() msvcr90.dll!749938b3() msvcr90.dll!749938c5() msvcr90.dll!749ac40c() msvcr90.dll!749b028d() msvcr90.dll!749b04f3() EXCEL.EXE!2f303f0a() kernel32.dll!77653677() ntdll.dll!77b79f02() ntdll.dll!77b79ed5() And threads: 0 24016 Worker Thread _threadstartex _threadstartex Normal 0 0 22928 Main Thread
[jira] [Updated] (QPID-3256) Application which uses Qpid (in my case Excel) hangs on shutdown
[ https://issues.apache.org/jira/browse/QPID-3256?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Eugene updated QPID-3256: - Description: Hi All I encountered with strange behavior on shutdown when using qpid 0-8. When I use qpid in standalone console-application everything is ok. But when I use qpid in DLL which is loaded into Excel (as RTD module), Excel hangs on shutdown. I found out that in standalone application on shutdown I have next stack: qpidclientd.dll!qpid::client::`anonymous namespace'::IOThread::~IOThread() Line 138C++ qpidclientd.dll!`qpid::client::`anonymous namespace'::theIO'::`2'::`dynamic atexit destructor for 'io''() + 0xd bytes C++ qpidclientd.dll!_CRT_INIT(void * hDllHandle=0x6008, unsigned long dwReason=0, void * lpreserved=0x0001) Line 449 C qpidclientd.dll!__DllMainCRTStartup(void * hDllHandle=0x6008, unsigned long dwReason=0, void * lpreserved=0x0001) Line 560 + 0x11 bytes C qpidclientd.dll!_DllMainCRTStartup(void * hDllHandle=0x6008, unsigned long dwReason=0, void * lpreserved=0x0001) Line 510 + 0x11 bytes C ntdll.dll!77b79960() [Frames below may be incorrect and/or missing, no symbols loaded for ntdll.dll] ntdll.dll!77b9a516() ntdll.dll!77b9a3b8() kernel32.dll!77657363() msvcr90d.dll!__crtExitProcess(int status=0) Line 732 C msvcr90d.dll!doexit(int code=0, int quick=0, int retcaller=0) Line 644 + 0x9 bytes C msvcr90d.dll!exit(int code=0) Line 412 + 0xd bytes C Test.exe!__tmainCRTStartup() Line 599 C Test.exe!mainCRTStartup() Line 403 C kernel32.dll!77653677() ntdll.dll!77b79f02() ntdll.dll!77b79ed5() And in this state all threads of application have been already terminated. The only thread is: 1 21720 Main Thread Main Thread qpid::client::`anonymous namespace'::IOThread::~IOThreadNormal 0 so code from file ConnectionImpl.cpp works well: ~IOThread() { std::vectorThread threads; { ScopedLockMutex l(threadLock); if (poller_) poller_-shutdown(); t.swap(threads); } for (std::vectorThread::iterator i = threads.begin(); i != threads.end(); ++i) { i-join(); } } BUT in Excel I get stack: qpidclientd.dll!qpid::client::`anonymous namespace'::IOThread::~IOThread() Line 130C++ qpidclientd.dll!`qpid::client::`anonymous namespace'::theIO'::`2'::`dynamic atexit destructor for 'io''() + 0xd bytes C++ qpidclientd.dll!_CRT_INIT(void * hDllHandle=0x0770, unsigned long dwReason=0, void * lpreserved=0x) Line 449 C qpidclientd.dll!__DllMainCRTStartup(void * hDllHandle=0x0770, unsigned long dwReason=0, void * lpreserved=0x) Line 560 + 0x11 bytes C qpidclientd.dll!_DllMainCRTStartup(void * hDllHandle=0x0770, unsigned long dwReason=0, void * lpreserved=0x) Line 510 + 0x11 bytes C ntdll.dll!77b79960() [Frames below may be incorrect and/or missing, no symbols loaded for ntdll.dll] ntdll.dll!77ba1525() ntdll.dll!77b81231() KernelBase.dll!77281da7() ole32.dll!75bb9562() ole32.dll!75bb9593() ole32.dll!75bb95a7() ole32.dll!75bb98bf() ole32.dll!75bb9805() ole32.dll!75bb9a8c() EXCEL.EXE!2f3811e9() EXCEL.EXE!2f6933e8() EXCEL.EXE!2f32a5af() EXCEL.EXE!2f34894a() EXCEL.EXE!2f670001() MSO.DLL!65bc6ed5() MSO.DLL!65c26a34() MSO.DLL!65c30305() MSO.DLL!65bc910c() MSO.DLL!65c4f420() MSO.DLL!65bbf161() comctl32.dll!7233463d() user32.dll!762971be() user32.dll!76297d31() user32.dll!76297dfa() EXCEL.EXE!2f324572() EXCEL.EXE!2f324534() EXCEL.EXE!2f324441() MSO.DLL!65b78116() MSO.DLL!65ba1fd0() EXCEL.EXE!2f30424b() msvcr90.dll!749936c5() msvcr90.dll!749938b3() msvcr90.dll!749938c5() msvcr90.dll!749ac40c() msvcr90.dll!749b028d() msvcr90.dll!749b04f3() EXCEL.EXE!2f303f0a() kernel32.dll!77653677() ntdll.dll!77b79f02() ntdll.dll!77b79ed5() And threads: 0 24016 Worker Thread _threadstartex _threadstartex Normal 0 0 22928 Main Thread Main Thread qpid::client::`anonymous namespace'::IOThread::~IOThreadNormal 0 0 20224 RPC Thread RPC Callback Thread 77b5fd21 Normal 0 0
new mailing list for CI output
Hi all, I'd like to get a mailing list set up to direct to from the CI tasks that Andrew Kennedy has set up Jenkins/Hudson. After looking through the mail archives, the ASF naming convention for this type of mailing list appears to be notifications@ so I propose that we should ask for just that, notificati...@qpid.apache.org. Unless anyone has particular objection, I intend to raise a request with infra tomorrow to create the new list. Robbie - Apache Qpid - AMQP Messaging Implementation Project: http://qpid.apache.org Use/Interact: mailto:dev-subscr...@qpid.apache.org
Re: new mailing list for CI output
+1 Rajith On Wed, May 11, 2011 at 7:26 AM, Robbie Gemmell robbie.gemm...@gmail.com wrote: Hi all, I'd like to get a mailing list set up to direct to from the CI tasks that Andrew Kennedy has set up Jenkins/Hudson. After looking through the mail archives, the ASF naming convention for this type of mailing list appears to be notifications@ so I propose that we should ask for just that, notificati...@qpid.apache.org. Unless anyone has particular objection, I intend to raise a request with infra tomorrow to create the new list. Robbie - Apache Qpid - AMQP Messaging Implementation Project: http://qpid.apache.org Use/Interact: mailto:dev-subscr...@qpid.apache.org - Apache Qpid - AMQP Messaging Implementation Project: http://qpid.apache.org Use/Interact: mailto:dev-subscr...@qpid.apache.org
[jira] [Assigned] (QPID-3229) Test AMQConnectionTest#testPrefetchSystemProperty is broken
[ https://issues.apache.org/jira/browse/QPID-3229?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Robbie Gemmell reassigned QPID-3229: Assignee: Rajith Attapattu (was: Robbie Gemmell) Test AMQConnectionTest#testPrefetchSystemProperty is broken --- Key: QPID-3229 URL: https://issues.apache.org/jira/browse/QPID-3229 Project: Qpid Issue Type: Bug Components: Java Broker Affects Versions: 0.11 Reporter: Alex Rudyy Assignee: Rajith Attapattu Priority: Minor Test AMQConnectionTest#testPrefetchSystemProperty is broken on trunk. It looks like this test started to fail after committing patch in QPID-3207. -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira - Apache Qpid - AMQP Messaging Implementation Project: http://qpid.apache.org Use/Interact: mailto:dev-subscr...@qpid.apache.org
[jira] [Commented] (QPID-3207) AMQSession.java close() does not close the consumers with the correct arguments
[ https://issues.apache.org/jira/browse/QPID-3207?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13031656#comment-13031656 ] Robbie Gemmell commented on QPID-3207: -- This also appears to have caused a couple of test failures on the default java profile. https://builds.apache.org/hudson/view/M-R/view/Qpid/job/qpid-java-build/94/testReport/ shows that the following 2 tests are failing. org.apache.qpid.test.client.RollbackOrderTest.testOrderingAfterRollbackOnMessage org.apache.qpid.test.unit.client.AMQConnectionTest.testPrefetchSystemProperty Clicking the age report leads to the following build, which only incorporated the change from this JIRA: https://builds.apache.org/hudson/view/M-R/view/Qpid/job/qpid-java-build/48/ One of the failures was also raised as QPID-3229 AMQSession.java close() does not close the consumers with the correct arguments --- Key: QPID-3207 URL: https://issues.apache.org/jira/browse/QPID-3207 Project: Qpid Issue Type: Bug Components: Java Client Affects Versions: 0.10 Reporter: Rajith Attapattu Assignee: Rajith Attapattu Fix For: 0.11 When the AMQSession.java close() is invoked it will in turn call the private void closeConsumers(Throwable error) throws JMSException method. In this method if the error is null then the consumer.close method is called with sendClose=false. I wonder if this is the correct setting. I suspect the intended value is true. The boolean value is used in determining if we should send a message-cancel or not. I am not sure why we are not going to send a message cancel in this case, as we haven't encountered a session error and the session is active. Note the AMQSession.java closes the session only after the consumers and producers are closed. -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira - Apache Qpid - AMQP Messaging Implementation Project: http://qpid.apache.org Use/Interact: mailto:dev-subscr...@qpid.apache.org
[jira] [Commented] (QPID-3229) Test AMQConnectionTest#testPrefetchSystemProperty is broken
[ https://issues.apache.org/jira/browse/QPID-3229?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13031657#comment-13031657 ] Robbie Gemmell commented on QPID-3229: -- Hi Rajith, can you take a look please, it seems to be related to what you are working on? Thanks. Test AMQConnectionTest#testPrefetchSystemProperty is broken --- Key: QPID-3229 URL: https://issues.apache.org/jira/browse/QPID-3229 Project: Qpid Issue Type: Bug Components: Java Broker Affects Versions: 0.11 Reporter: Alex Rudyy Assignee: Rajith Attapattu Priority: Minor Test AMQConnectionTest#testPrefetchSystemProperty is broken on trunk. It looks like this test started to fail after committing patch in QPID-3207. -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira - Apache Qpid - AMQP Messaging Implementation Project: http://qpid.apache.org Use/Interact: mailto:dev-subscr...@qpid.apache.org
[jira] [Updated] (QPID-3256) Application which uses Qpid (in my case Excel) hangs on shutdown
[ https://issues.apache.org/jira/browse/QPID-3256?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Steve Huston updated QPID-3256: --- Component/s: C++ Client Affects Version/s: 0.8 Fix Version/s: (was: 0.8) Qpid 0.10 was released recently. Could you please obtain 0.10 and retry your case with that? Application which uses Qpid (in my case Excel) hangs on shutdown Key: QPID-3256 URL: https://issues.apache.org/jira/browse/QPID-3256 Project: Qpid Issue Type: Bug Components: C++ Client Affects Versions: 0.8 Environment: OS: Windows. Qpid is assembled as DLL. Reporter: Eugene Hi All I encountered with strange behavior on shutdown when using qpid 0-8. When I use qpid in standalone console-application everything is ok. But when I use qpid in DLL which is loaded into Excel (as RTD module), Excel hangs on shutdown. I found out that in standalone application on shutdown I have next stack: qpidclientd.dll!qpid::client::`anonymous namespace'::IOThread::~IOThread() Line 138C++ qpidclientd.dll!`qpid::client::`anonymous namespace'::theIO'::`2'::`dynamic atexit destructor for 'io''() + 0xd bytes C++ qpidclientd.dll!_CRT_INIT(void * hDllHandle=0x6008, unsigned long dwReason=0, void * lpreserved=0x0001) Line 449 C qpidclientd.dll!__DllMainCRTStartup(void * hDllHandle=0x6008, unsigned long dwReason=0, void * lpreserved=0x0001) Line 560 + 0x11 bytesC qpidclientd.dll!_DllMainCRTStartup(void * hDllHandle=0x6008, unsigned long dwReason=0, void * lpreserved=0x0001) Line 510 + 0x11 bytes C ntdll.dll!77b79960() [Frames below may be incorrect and/or missing, no symbols loaded for ntdll.dll] ntdll.dll!77b9a516() ntdll.dll!77b9a3b8() kernel32.dll!77657363() msvcr90d.dll!__crtExitProcess(int status=0) Line 732 C msvcr90d.dll!doexit(int code=0, int quick=0, int retcaller=0) Line 644 + 0x9 bytes C msvcr90d.dll!exit(int code=0) Line 412 + 0xd bytes C Test.exe!__tmainCRTStartup() Line 599 C Test.exe!mainCRTStartup() Line 403 C kernel32.dll!77653677() ntdll.dll!77b79f02() ntdll.dll!77b79ed5() And in this state all threads of application have been already terminated. The only thread is: 121720 Main Thread Main Thread qpid::client::`anonymous namespace'::IOThread::~IOThreadNormal 0 so code from file ConnectionImpl.cpp works well: ~IOThread() { std::vectorThread threads; { ScopedLockMutex l(threadLock); if (poller_) poller_-shutdown(); t.swap(threads); } for (std::vectorThread::iterator i = threads.begin(); i != threads.end(); ++i) { i-join(); } } BUT in Excel I get stack: qpidclientd.dll!qpid::client::`anonymous namespace'::IOThread::~IOThread() Line 130 C++ qpidclientd.dll!`qpid::client::`anonymous namespace'::theIO'::`2'::`dynamic atexit destructor for 'io''() + 0xd bytes C++ qpidclientd.dll!_CRT_INIT(void * hDllHandle=0x0770, unsigned long dwReason=0, void * lpreserved=0x) Line 449 C qpidclientd.dll!__DllMainCRTStartup(void * hDllHandle=0x0770, unsigned long dwReason=0, void * lpreserved=0x) Line 560 + 0x11 bytesC qpidclientd.dll!_DllMainCRTStartup(void * hDllHandle=0x0770, unsigned long dwReason=0, void * lpreserved=0x) Line 510 + 0x11 bytes C ntdll.dll!77b79960() [Frames below may be incorrect and/or missing, no symbols loaded for ntdll.dll] ntdll.dll!77ba1525() ntdll.dll!77b81231() KernelBase.dll!77281da7() ole32.dll!75bb9562() ole32.dll!75bb9593() ole32.dll!75bb95a7() ole32.dll!75bb98bf() ole32.dll!75bb9805() ole32.dll!75bb9a8c() EXCEL.EXE!2f3811e9() EXCEL.EXE!2f6933e8() EXCEL.EXE!2f32a5af() EXCEL.EXE!2f34894a() EXCEL.EXE!2f670001() MSO.DLL!65bc6ed5() MSO.DLL!65c26a34() MSO.DLL!65c30305() MSO.DLL!65bc910c() MSO.DLL!65c4f420() MSO.DLL!65bbf161() comctl32.dll!7233463d() user32.dll!762971be() user32.dll!76297d31() user32.dll!76297dfa() EXCEL.EXE!2f324572() EXCEL.EXE!2f324534() EXCEL.EXE!2f324441() MSO.DLL!65b78116() MSO.DLL!65ba1fd0() EXCEL.EXE!2f30424b() msvcr90.dll!749936c5()
[jira] [Commented] (QPID-3207) AMQSession.java close() does not close the consumers with the correct arguments
[ https://issues.apache.org/jira/browse/QPID-3207?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13031661#comment-13031661 ] Keith Wall commented on QPID-3207: -- In addition to the failures on the default profile Robbie has noted above, it appears that this commit has broken the following test on the *java.0.10* profile: org.apache.qpid.test.client.destination.AddressBasedDestinationTest.testReliabilityOptions Testcase: testReliabilityOptions took 2.131 sec FAILED expected:2 but was:0 junit.framework.AssertionFailedError: expected:2 but was:0 at org.apache.qpid.test.client.destination.AddressBasedDestinationTest.acceptModeTest(AddressBasedDestinationTest.java:978) at org.apache.qpid.test.client.destination.AddressBasedDestinationTest.testReliabilityOptions(AddressBasedDestinationTest.java:920) at org.apache.qpid.test.utils.QpidBrokerTestCase.runBare(QpidBrokerTestCase.java:234) at org.apache.qpid.test.utils.QpidTestCase.run(QpidTestCase.java:120) AMQSession.java close() does not close the consumers with the correct arguments --- Key: QPID-3207 URL: https://issues.apache.org/jira/browse/QPID-3207 Project: Qpid Issue Type: Bug Components: Java Client Affects Versions: 0.10 Reporter: Rajith Attapattu Assignee: Rajith Attapattu Fix For: 0.11 When the AMQSession.java close() is invoked it will in turn call the private void closeConsumers(Throwable error) throws JMSException method. In this method if the error is null then the consumer.close method is called with sendClose=false. I wonder if this is the correct setting. I suspect the intended value is true. The boolean value is used in determining if we should send a message-cancel or not. I am not sure why we are not going to send a message cancel in this case, as we haven't encountered a session error and the session is active. Note the AMQSession.java closes the session only after the consumers and producers are closed. -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira - Apache Qpid - AMQP Messaging Implementation Project: http://qpid.apache.org Use/Interact: mailto:dev-subscr...@qpid.apache.org
Re: new mailing list for CI output
Sounds like a good plan to me! Cheers, Rob On 11 May 2011 13:35, Rajith Attapattu rajit...@gmail.com wrote: +1 Rajith On Wed, May 11, 2011 at 7:26 AM, Robbie Gemmell robbie.gemm...@gmail.com wrote: Hi all, I'd like to get a mailing list set up to direct to from the CI tasks that Andrew Kennedy has set up Jenkins/Hudson. After looking through the mail archives, the ASF naming convention for this type of mailing list appears to be notifications@ so I propose that we should ask for just that, notificati...@qpid.apache.org. Unless anyone has particular objection, I intend to raise a request with infra tomorrow to create the new list. Robbie - Apache Qpid - AMQP Messaging Implementation Project: http://qpid.apache.org Use/Interact: mailto:dev-subscr...@qpid.apache.org - Apache Qpid - AMQP Messaging Implementation Project: http://qpid.apache.org Use/Interact: mailto:dev-subscr...@qpid.apache.org
[jira] [Commented] (QPID-3207) AMQSession.java close() does not close the consumers with the correct arguments
[ https://issues.apache.org/jira/browse/QPID-3207?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13031663#comment-13031663 ] Rajith Attapattu commented on QPID-3207: I think the best option is to rollback this change until we fix the deadlock. That will allow us to get the builds back on track. Meanwhile I will investigate the test failures to see if there is anything else affecting them other than the deadlock issue. AMQSession.java close() does not close the consumers with the correct arguments --- Key: QPID-3207 URL: https://issues.apache.org/jira/browse/QPID-3207 Project: Qpid Issue Type: Bug Components: Java Client Affects Versions: 0.10 Reporter: Rajith Attapattu Assignee: Rajith Attapattu Fix For: 0.11 When the AMQSession.java close() is invoked it will in turn call the private void closeConsumers(Throwable error) throws JMSException method. In this method if the error is null then the consumer.close method is called with sendClose=false. I wonder if this is the correct setting. I suspect the intended value is true. The boolean value is used in determining if we should send a message-cancel or not. I am not sure why we are not going to send a message cancel in this case, as we haven't encountered a session error and the session is active. Note the AMQSession.java closes the session only after the consumers and producers are closed. -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira - Apache Qpid - AMQP Messaging Implementation Project: http://qpid.apache.org Use/Interact: mailto:dev-subscr...@qpid.apache.org
[jira] [Commented] (QPID-3207) AMQSession.java close() does not close the consumers with the correct arguments
[ https://issues.apache.org/jira/browse/QPID-3207?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13031669#comment-13031669 ] Rajith Attapattu commented on QPID-3207: I have reversed the commit, all though we need to restore it at some point once we get through this deadlock issue. IMO the original commit is the correct behaviour, so it would be interesting to see what other issues have popped up in addition to the deadlock problem. AMQSession.java close() does not close the consumers with the correct arguments --- Key: QPID-3207 URL: https://issues.apache.org/jira/browse/QPID-3207 Project: Qpid Issue Type: Bug Components: Java Client Affects Versions: 0.10 Reporter: Rajith Attapattu Assignee: Rajith Attapattu Fix For: 0.11 When the AMQSession.java close() is invoked it will in turn call the private void closeConsumers(Throwable error) throws JMSException method. In this method if the error is null then the consumer.close method is called with sendClose=false. I wonder if this is the correct setting. I suspect the intended value is true. The boolean value is used in determining if we should send a message-cancel or not. I am not sure why we are not going to send a message cancel in this case, as we haven't encountered a session error and the session is active. Note the AMQSession.java closes the session only after the consumers and producers are closed. -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira - Apache Qpid - AMQP Messaging Implementation Project: http://qpid.apache.org Use/Interact: mailto:dev-subscr...@qpid.apache.org
[jira] [Commented] (QPID-3256) Application which uses Qpid (in my case Excel) hangs on shutdown
[ https://issues.apache.org/jira/browse/QPID-3256?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13031673#comment-13031673 ] Eugene commented on QPID-3256: -- Steve, I have reviewed src\qpid\client\ConnectionImpl.cpp for last version and don't find any changes(may be I'm wrong). I think the main problem is in using static object: IOThread theIO() { static IOThread io(SystemInfo::concurrency()); return io; } which is destroyed on shutdown and tries wait for thread completing in destructor. Application which uses Qpid (in my case Excel) hangs on shutdown Key: QPID-3256 URL: https://issues.apache.org/jira/browse/QPID-3256 Project: Qpid Issue Type: Bug Components: C++ Client Affects Versions: 0.8 Environment: OS: Windows. Qpid is assembled as DLL. Reporter: Eugene Hi All I encountered with strange behavior on shutdown when using qpid 0-8. When I use qpid in standalone console-application everything is ok. But when I use qpid in DLL which is loaded into Excel (as RTD module), Excel hangs on shutdown. I found out that in standalone application on shutdown I have next stack: qpidclientd.dll!qpid::client::`anonymous namespace'::IOThread::~IOThread() Line 138C++ qpidclientd.dll!`qpid::client::`anonymous namespace'::theIO'::`2'::`dynamic atexit destructor for 'io''() + 0xd bytes C++ qpidclientd.dll!_CRT_INIT(void * hDllHandle=0x6008, unsigned long dwReason=0, void * lpreserved=0x0001) Line 449 C qpidclientd.dll!__DllMainCRTStartup(void * hDllHandle=0x6008, unsigned long dwReason=0, void * lpreserved=0x0001) Line 560 + 0x11 bytesC qpidclientd.dll!_DllMainCRTStartup(void * hDllHandle=0x6008, unsigned long dwReason=0, void * lpreserved=0x0001) Line 510 + 0x11 bytes C ntdll.dll!77b79960() [Frames below may be incorrect and/or missing, no symbols loaded for ntdll.dll] ntdll.dll!77b9a516() ntdll.dll!77b9a3b8() kernel32.dll!77657363() msvcr90d.dll!__crtExitProcess(int status=0) Line 732 C msvcr90d.dll!doexit(int code=0, int quick=0, int retcaller=0) Line 644 + 0x9 bytes C msvcr90d.dll!exit(int code=0) Line 412 + 0xd bytes C Test.exe!__tmainCRTStartup() Line 599 C Test.exe!mainCRTStartup() Line 403 C kernel32.dll!77653677() ntdll.dll!77b79f02() ntdll.dll!77b79ed5() And in this state all threads of application have been already terminated. The only thread is: 121720 Main Thread Main Thread qpid::client::`anonymous namespace'::IOThread::~IOThreadNormal 0 so code from file ConnectionImpl.cpp works well: ~IOThread() { std::vectorThread threads; { ScopedLockMutex l(threadLock); if (poller_) poller_-shutdown(); t.swap(threads); } for (std::vectorThread::iterator i = threads.begin(); i != threads.end(); ++i) { i-join(); } } BUT in Excel I get stack: qpidclientd.dll!qpid::client::`anonymous namespace'::IOThread::~IOThread() Line 130 C++ qpidclientd.dll!`qpid::client::`anonymous namespace'::theIO'::`2'::`dynamic atexit destructor for 'io''() + 0xd bytes C++ qpidclientd.dll!_CRT_INIT(void * hDllHandle=0x0770, unsigned long dwReason=0, void * lpreserved=0x) Line 449 C qpidclientd.dll!__DllMainCRTStartup(void * hDllHandle=0x0770, unsigned long dwReason=0, void * lpreserved=0x) Line 560 + 0x11 bytesC qpidclientd.dll!_DllMainCRTStartup(void * hDllHandle=0x0770, unsigned long dwReason=0, void * lpreserved=0x) Line 510 + 0x11 bytes C ntdll.dll!77b79960() [Frames below may be incorrect and/or missing, no symbols loaded for ntdll.dll] ntdll.dll!77ba1525() ntdll.dll!77b81231() KernelBase.dll!77281da7() ole32.dll!75bb9562() ole32.dll!75bb9593() ole32.dll!75bb95a7() ole32.dll!75bb98bf() ole32.dll!75bb9805() ole32.dll!75bb9a8c() EXCEL.EXE!2f3811e9() EXCEL.EXE!2f6933e8() EXCEL.EXE!2f32a5af() EXCEL.EXE!2f34894a() EXCEL.EXE!2f670001() MSO.DLL!65bc6ed5() MSO.DLL!65c26a34() MSO.DLL!65c30305() MSO.DLL!65bc910c() MSO.DLL!65c4f420() MSO.DLL!65bbf161() comctl32.dll!7233463d() user32.dll!762971be() user32.dll!76297d31() user32.dll!76297dfa() EXCEL.EXE!2f324572()
[jira] [Created] (QPID-3257) Add doxygen comments to public api defined in QMF headers
Add doxygen comments to public api defined in QMF headers - Key: QPID-3257 URL: https://issues.apache.org/jira/browse/QPID-3257 Project: Qpid Issue Type: Improvement Components: Qpid Managment Framework Affects Versions: 0.10, 0.11 Reporter: Ken Giusti Assignee: Ted Ross Priority: Trivial Fix For: 0.11 Some of the public API defined in the QMF header files are missing doxygen comments (see ConsoleEvent.h for a good example). Having good documentation of this API is necessary for the end users. -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira - Apache Qpid - AMQP Messaging Implementation Project: http://qpid.apache.org Use/Interact: mailto:dev-subscr...@qpid.apache.org
Re: matching async responses to async requests
Hi Angus, Agreed, the doxygen comments are lacking. I've created a jira to address that: https://issues.apache.org/jira/browse/QPID-3257 The method call model is a request-response pattern that really only provides for a single response to the request. As you suggested, you can use events to augment that pattern. Specifically, the agent may start issuing events in response to the method call, either before or after the response is sent. Depending on your needs, you could have the equivalent of a Start Events/Stop Events method pair, or hold off the response until all events are doing being generated. One minor point - the correlation id that is returned to the client is guaranteed to be unique only for the method call/response period. Once the response is received, that id _may_ be recycled for future requests (very unlikely, but I wouldn't recommend counting on it). So I would suggest that your method call take a unique identifier that your application provides. All events that correlate to that method call could contain that identifier, so you don't rely on having the correlation id be unique over the lifetime of your application. Does that make sense? thanks, -K - Original Message - On Fri, May 06, 2011 at 01:48:08PM -0400, Ken Giusti wrote: Apologies for not getting back to you sooner... callMethodAsync() returns a unique 32 bit correlation id that corresponds to the request. The ConsoleEvent that contains the method response has a getCorrelator() method which returns the correlation id that will match the value returned by the initiating callMethodAsync(). Cool, thanks. The function could do with a doxygen comment. I assumed it was an error status. Another question, can you send multiple responses for one request? Or would these need to be events? Thanks for the help. -Angus -K - Original Message - Hi We are trying to do multiple async requests on a single qmf function. Then we need to match the response to the request in the ConsoleEvent handler. Now we could add an In-Out parameter but it seems like this is something that should be handled by QMF. Since if you had a QMF function that you were calling with callMethod() then you changed to callMethodAsync() you would not have this IO parameter. Now if the server processes these in a non serial way (like we intend doing) the responses will comeback out of order and we will have no way of knowing which request the response was for. Is there a way to do this currently? Regards Angus Salkeld - Apache Qpid - AMQP Messaging Implementation Project: http://qpid.apache.org Use/Interact: mailto:dev-subscr...@qpid.apache.org - Apache Qpid - AMQP Messaging Implementation Project: http://qpid.apache.org Use/Interact: mailto:dev-subscr...@qpid.apache.org - Apache Qpid - AMQP Messaging Implementation Project: http://qpid.apache.org Use/Interact: mailto:dev-subscr...@qpid.apache.org - Apache Qpid - AMQP Messaging Implementation Project: http://qpid.apache.org Use/Interact: mailto:dev-subscr...@qpid.apache.org
[jira] [Updated] (QPID-3249) Remove incomplete support for authentication at virtualhost level
[ https://issues.apache.org/jira/browse/QPID-3249?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Keith Wall updated QPID-3249: - Status: Ready To Review (was: In Progress) Remove incomplete support for authentication at virtualhost level -- Key: QPID-3249 URL: https://issues.apache.org/jira/browse/QPID-3249 Project: Qpid Issue Type: Improvement Components: Java Broker Affects Versions: 0.10 Reporter: Keith Wall Assignee: Keith Wall Priority: Minor Attachments: 0001-QPID-3249-Remove-incomplete-support-for-authenticati.patch In addition to the principal db specified at the broker level, VirtualHostImpl tries to support authentication at virtualhost level. This concept is flawed as in Qpid, username and password _must_ be considered, before virtual host. i.e. {code} virtualhost namelocalhost/name localhost security !-- Would need protocol changes to allow this-- authentication namepasswordfile/name !-- Currently this can't be used as Vhost isn't specified at connection start only connection open -- mechanismPLAIN/mechanism /authentication . {code} The redundant implementation in VirtualHostImpl should be removed. -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira - Apache Qpid - AMQP Messaging Implementation Project: http://qpid.apache.org Use/Interact: mailto:dev-subscr...@qpid.apache.org
[jira] [Assigned] (QPID-3249) Remove incomplete support for authentication at virtualhost level
[ https://issues.apache.org/jira/browse/QPID-3249?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Keith Wall reassigned QPID-3249: Assignee: Robbie Gemmell (was: Keith Wall) Hi Robbie - would you mind reviewing please? Remove incomplete support for authentication at virtualhost level -- Key: QPID-3249 URL: https://issues.apache.org/jira/browse/QPID-3249 Project: Qpid Issue Type: Improvement Components: Java Broker Affects Versions: 0.10 Reporter: Keith Wall Assignee: Robbie Gemmell Priority: Minor Attachments: 0001-QPID-3249-Remove-incomplete-support-for-authenticati.patch In addition to the principal db specified at the broker level, VirtualHostImpl tries to support authentication at virtualhost level. This concept is flawed as in Qpid, username and password _must_ be considered, before virtual host. i.e. {code} virtualhost namelocalhost/name localhost security !-- Would need protocol changes to allow this-- authentication namepasswordfile/name !-- Currently this can't be used as Vhost isn't specified at connection start only connection open -- mechanismPLAIN/mechanism /authentication . {code} The redundant implementation in VirtualHostImpl should be removed. -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira - Apache Qpid - AMQP Messaging Implementation Project: http://qpid.apache.org Use/Interact: mailto:dev-subscr...@qpid.apache.org
[jira] [Updated] (QPID-3249) Remove incomplete support for authentication at virtualhost level
[ https://issues.apache.org/jira/browse/QPID-3249?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Keith Wall updated QPID-3249: - Attachment: 0001-QPID-3249-Remove-incomplete-support-for-authenticati.patch Attached patch. This patch refactors VirtualHostImpl to remove its dependency on PrincipalAuthenticationManager. Added unit tests to PrincipalAuthenticationManager to support the change. Remove incomplete support for authentication at virtualhost level -- Key: QPID-3249 URL: https://issues.apache.org/jira/browse/QPID-3249 Project: Qpid Issue Type: Improvement Components: Java Broker Affects Versions: 0.10 Reporter: Keith Wall Assignee: Keith Wall Priority: Minor Attachments: 0001-QPID-3249-Remove-incomplete-support-for-authenticati.patch In addition to the principal db specified at the broker level, VirtualHostImpl tries to support authentication at virtualhost level. This concept is flawed as in Qpid, username and password _must_ be considered, before virtual host. i.e. {code} virtualhost namelocalhost/name localhost security !-- Would need protocol changes to allow this-- authentication namepasswordfile/name !-- Currently this can't be used as Vhost isn't specified at connection start only connection open -- mechanismPLAIN/mechanism /authentication . {code} The redundant implementation in VirtualHostImpl should be removed. -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira - Apache Qpid - AMQP Messaging Implementation Project: http://qpid.apache.org Use/Interact: mailto:dev-subscr...@qpid.apache.org
[jira] [Updated] (QPID-3256) Application which uses Qpid (in my case Excel) hangs on shutdown
[ https://issues.apache.org/jira/browse/QPID-3256?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Eugene updated QPID-3256: - Description: Hi All I encountered with strange behavior on shutdown when using qpid 0-8 and 0-10. When I use qpid in standalone console-application everything is ok. But when I use qpid in DLL which is loaded into Excel (as RTD module), Excel hangs on shutdown. I found out that in standalone application on shutdown I have next stack: qpidclientd.dll!qpid::client::`anonymous namespace'::IOThread::~IOThread() Line 138C++ qpidclientd.dll!`qpid::client::`anonymous namespace'::theIO'::`2'::`dynamic atexit destructor for 'io''() + 0xd bytes C++ qpidclientd.dll!_CRT_INIT(void * hDllHandle=0x6008, unsigned long dwReason=0, void * lpreserved=0x0001) Line 449 C qpidclientd.dll!__DllMainCRTStartup(void * hDllHandle=0x6008, unsigned long dwReason=0, void * lpreserved=0x0001) Line 560 + 0x11 bytes C qpidclientd.dll!_DllMainCRTStartup(void * hDllHandle=0x6008, unsigned long dwReason=0, void * lpreserved=0x0001) Line 510 + 0x11 bytes C ntdll.dll!77b79960() [Frames below may be incorrect and/or missing, no symbols loaded for ntdll.dll] ntdll.dll!77b9a516() ntdll.dll!77b9a3b8() kernel32.dll!77657363() msvcr90d.dll!__crtExitProcess(int status=0) Line 732 C msvcr90d.dll!doexit(int code=0, int quick=0, int retcaller=0) Line 644 + 0x9 bytes C msvcr90d.dll!exit(int code=0) Line 412 + 0xd bytes C Test.exe!__tmainCRTStartup() Line 599 C Test.exe!mainCRTStartup() Line 403 C kernel32.dll!77653677() ntdll.dll!77b79f02() ntdll.dll!77b79ed5() And in this state all threads of application have been already terminated. The only thread is: 1 21720 Main Thread Main Thread qpid::client::`anonymous namespace'::IOThread::~IOThreadNormal 0 so code from file ConnectionImpl.cpp works well: ~IOThread() { std::vectorThread threads; { ScopedLockMutex l(threadLock); if (poller_) poller_-shutdown(); t.swap(threads); } for (std::vectorThread::iterator i = threads.begin(); i != threads.end(); ++i) { i-join(); } } BUT in Excel I get stack: qpidclientd.dll!qpid::client::`anonymous namespace'::IOThread::~IOThread() Line 130C++ qpidclientd.dll!`qpid::client::`anonymous namespace'::theIO'::`2'::`dynamic atexit destructor for 'io''() + 0xd bytes C++ qpidclientd.dll!_CRT_INIT(void * hDllHandle=0x0770, unsigned long dwReason=0, void * lpreserved=0x) Line 449 C qpidclientd.dll!__DllMainCRTStartup(void * hDllHandle=0x0770, unsigned long dwReason=0, void * lpreserved=0x) Line 560 + 0x11 bytes C qpidclientd.dll!_DllMainCRTStartup(void * hDllHandle=0x0770, unsigned long dwReason=0, void * lpreserved=0x) Line 510 + 0x11 bytes C ntdll.dll!77b79960() [Frames below may be incorrect and/or missing, no symbols loaded for ntdll.dll] ntdll.dll!77ba1525() ntdll.dll!77b81231() KernelBase.dll!77281da7() ole32.dll!75bb9562() ole32.dll!75bb9593() ole32.dll!75bb95a7() ole32.dll!75bb98bf() ole32.dll!75bb9805() ole32.dll!75bb9a8c() EXCEL.EXE!2f3811e9() EXCEL.EXE!2f6933e8() EXCEL.EXE!2f32a5af() EXCEL.EXE!2f34894a() EXCEL.EXE!2f670001() MSO.DLL!65bc6ed5() MSO.DLL!65c26a34() MSO.DLL!65c30305() MSO.DLL!65bc910c() MSO.DLL!65c4f420() MSO.DLL!65bbf161() comctl32.dll!7233463d() user32.dll!762971be() user32.dll!76297d31() user32.dll!76297dfa() EXCEL.EXE!2f324572() EXCEL.EXE!2f324534() EXCEL.EXE!2f324441() MSO.DLL!65b78116() MSO.DLL!65ba1fd0() EXCEL.EXE!2f30424b() msvcr90.dll!749936c5() msvcr90.dll!749938b3() msvcr90.dll!749938c5() msvcr90.dll!749ac40c() msvcr90.dll!749b028d() msvcr90.dll!749b04f3() EXCEL.EXE!2f303f0a() kernel32.dll!77653677() ntdll.dll!77b79f02() ntdll.dll!77b79ed5() And threads: 0 24016 Worker Thread _threadstartex _threadstartex Normal 0 0 22928 Main Thread Main Thread qpid::client::`anonymous namespace'::IOThread::~IOThreadNormal 0 0 20224 RPC Thread RPC Callback Thread 77b5fd21
[jira] [Commented] (QPID-3256) Application which uses Qpid (in my case Excel) hangs on shutdown
[ https://issues.apache.org/jira/browse/QPID-3256?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13031829#comment-13031829 ] Eugene commented on QPID-3256: -- I check issue with qpid 0.10 and get the same problem. Application which uses Qpid (in my case Excel) hangs on shutdown Key: QPID-3256 URL: https://issues.apache.org/jira/browse/QPID-3256 Project: Qpid Issue Type: Bug Components: C++ Client Affects Versions: 0.8, 0.10 Environment: OS: Windows. Qpid is assembled as DLL. Reporter: Eugene Hi All I encountered with strange behavior on shutdown when using qpid 0-8 and 0-10. When I use qpid in standalone console-application everything is ok. But when I use qpid in DLL which is loaded into Excel (as RTD module), Excel hangs on shutdown. I found out that in standalone application on shutdown I have next stack: qpidclientd.dll!qpid::client::`anonymous namespace'::IOThread::~IOThread() Line 138C++ qpidclientd.dll!`qpid::client::`anonymous namespace'::theIO'::`2'::`dynamic atexit destructor for 'io''() + 0xd bytes C++ qpidclientd.dll!_CRT_INIT(void * hDllHandle=0x6008, unsigned long dwReason=0, void * lpreserved=0x0001) Line 449 C qpidclientd.dll!__DllMainCRTStartup(void * hDllHandle=0x6008, unsigned long dwReason=0, void * lpreserved=0x0001) Line 560 + 0x11 bytesC qpidclientd.dll!_DllMainCRTStartup(void * hDllHandle=0x6008, unsigned long dwReason=0, void * lpreserved=0x0001) Line 510 + 0x11 bytes C ntdll.dll!77b79960() [Frames below may be incorrect and/or missing, no symbols loaded for ntdll.dll] ntdll.dll!77b9a516() ntdll.dll!77b9a3b8() kernel32.dll!77657363() msvcr90d.dll!__crtExitProcess(int status=0) Line 732 C msvcr90d.dll!doexit(int code=0, int quick=0, int retcaller=0) Line 644 + 0x9 bytes C msvcr90d.dll!exit(int code=0) Line 412 + 0xd bytes C Test.exe!__tmainCRTStartup() Line 599 C Test.exe!mainCRTStartup() Line 403 C kernel32.dll!77653677() ntdll.dll!77b79f02() ntdll.dll!77b79ed5() And in this state all threads of application have been already terminated. The only thread is: 121720 Main Thread Main Thread qpid::client::`anonymous namespace'::IOThread::~IOThreadNormal 0 so code from file ConnectionImpl.cpp works well: ~IOThread() { std::vectorThread threads; { ScopedLockMutex l(threadLock); if (poller_) poller_-shutdown(); t.swap(threads); } for (std::vectorThread::iterator i = threads.begin(); i != threads.end(); ++i) { i-join(); } } BUT in Excel I get stack: qpidclientd.dll!qpid::client::`anonymous namespace'::IOThread::~IOThread() Line 130 C++ qpidclientd.dll!`qpid::client::`anonymous namespace'::theIO'::`2'::`dynamic atexit destructor for 'io''() + 0xd bytes C++ qpidclientd.dll!_CRT_INIT(void * hDllHandle=0x0770, unsigned long dwReason=0, void * lpreserved=0x) Line 449 C qpidclientd.dll!__DllMainCRTStartup(void * hDllHandle=0x0770, unsigned long dwReason=0, void * lpreserved=0x) Line 560 + 0x11 bytesC qpidclientd.dll!_DllMainCRTStartup(void * hDllHandle=0x0770, unsigned long dwReason=0, void * lpreserved=0x) Line 510 + 0x11 bytes C ntdll.dll!77b79960() [Frames below may be incorrect and/or missing, no symbols loaded for ntdll.dll] ntdll.dll!77ba1525() ntdll.dll!77b81231() KernelBase.dll!77281da7() ole32.dll!75bb9562() ole32.dll!75bb9593() ole32.dll!75bb95a7() ole32.dll!75bb98bf() ole32.dll!75bb9805() ole32.dll!75bb9a8c() EXCEL.EXE!2f3811e9() EXCEL.EXE!2f6933e8() EXCEL.EXE!2f32a5af() EXCEL.EXE!2f34894a() EXCEL.EXE!2f670001() MSO.DLL!65bc6ed5() MSO.DLL!65c26a34() MSO.DLL!65c30305() MSO.DLL!65bc910c() MSO.DLL!65c4f420() MSO.DLL!65bbf161() comctl32.dll!7233463d() user32.dll!762971be() user32.dll!76297d31() user32.dll!76297dfa() EXCEL.EXE!2f324572() EXCEL.EXE!2f324534() EXCEL.EXE!2f324441() MSO.DLL!65b78116() MSO.DLL!65ba1fd0() EXCEL.EXE!2f30424b() msvcr90.dll!749936c5() msvcr90.dll!749938b3() msvcr90.dll!749938c5() msvcr90.dll!749ac40c()
Re: new mailing list for CI output
Excellent idea. cheers Keith.
Re: new mailing list for CI output
Excellent idea. cheers Keith.
Re: matching async responses to async requests
On Wed, May 11, 2011 at 10:15:27AM -0400, Ken Giusti wrote: Hi Angus, Agreed, the doxygen comments are lacking. I've created a jira to address that: https://issues.apache.org/jira/browse/QPID-3257 That will help, thanks. The method call model is a request-response pattern that really only provides for a single response to the request. As you suggested, you can use events to augment that pattern. Specifically, the agent may start issuing events in response to the method call, either before or after the response is sent. Depending on your needs, you could have the equivalent of a Start Events/Stop Events method pair, or hold off the response until all events are doing being generated. One minor point - the correlation id that is returned to the client is guaranteed to be unique only for the method call/response period. Once the response is received, that id _may_ be recycled for future requests (very unlikely, but I wouldn't recommend counting on it). So I would suggest that your method call take a unique identifier that your application provides. All events that correlate to that method call could contain that identifier, so you don't rely on having the correlation id be unique over the lifetime of your application. Does that make sense? Yes, thank you for your help. thanks, -K - Original Message - On Fri, May 06, 2011 at 01:48:08PM -0400, Ken Giusti wrote: Apologies for not getting back to you sooner... callMethodAsync() returns a unique 32 bit correlation id that corresponds to the request. The ConsoleEvent that contains the method response has a getCorrelator() method which returns the correlation id that will match the value returned by the initiating callMethodAsync(). Cool, thanks. The function could do with a doxygen comment. I assumed it was an error status. Another question, can you send multiple responses for one request? Or would these need to be events? Thanks for the help. -Angus -K - Original Message - Hi We are trying to do multiple async requests on a single qmf function. Then we need to match the response to the request in the ConsoleEvent handler. Now we could add an In-Out parameter but it seems like this is something that should be handled by QMF. Since if you had a QMF function that you were calling with callMethod() then you changed to callMethodAsync() you would not have this IO parameter. Now if the server processes these in a non serial way (like we intend doing) the responses will comeback out of order and we will have no way of knowing which request the response was for. Is there a way to do this currently? Regards Angus Salkeld - Apache Qpid - AMQP Messaging Implementation Project: http://qpid.apache.org Use/Interact: mailto:dev-subscr...@qpid.apache.org - Apache Qpid - AMQP Messaging Implementation Project: http://qpid.apache.org Use/Interact: mailto:dev-subscr...@qpid.apache.org - Apache Qpid - AMQP Messaging Implementation Project: http://qpid.apache.org Use/Interact: mailto:dev-subscr...@qpid.apache.org - Apache Qpid - AMQP Messaging Implementation Project: http://qpid.apache.org Use/Interact: mailto:dev-subscr...@qpid.apache.org - Apache Qpid - AMQP Messaging Implementation Project: http://qpid.apache.org Use/Interact: mailto:dev-subscr...@qpid.apache.org