<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/python-packages/qpid-python.git/qpid/cpp/src/posix/QpiddBroker.cpp, branch QPID-6262-JavaBrokerNIO</title>
<subtitle>git.apache.org: qpid.git
</subtitle>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/qpid-python.git/'/>
<entry>
<title>QPID-5942: qpid HA cluster may end-up in joining state after HA primary is killed</title>
<updated>2014-07-31T13:55:11+00:00</updated>
<author>
<name>Alan Conway</name>
<email>aconway@apache.org</email>
</author>
<published>2014-07-31T13:55:11+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/qpid-python.git/commit/?id=c9276b03da088b3f4d3f4b527f2e02703e2729eb'/>
<id>c9276b03da088b3f4d3f4b527f2e02703e2729eb</id>
<content type='text'>
There are two issues here, both related to the fact that rgmanager sees qpidd
and qpidd-primary as two separate services.

1. The service start/stop scripts can be called concurrently. This can lead to
   running a qpidd process who's pid is not in the pidfile. rgmanager cannot
   detect or kill this qpidd and cannot start another qpidd because of the lock
   on the qpidd data directory.

2. rgmanager sees a primary failure as two failures: qpidd and qpidd-primary,
   and will then try to stop and start both services. The order of these actions
   is not defined and can lead to rgmanager killing a service it has just
   started.

This patch makes two major changes to the init scripts:

1. Uses flock to lock the sensitive stop/start part of the scripts to ensure
   they are not executed concurrently.

2. On "stop" the scripts check if a running qpidd is primary or not. "qpidd stop"
   is a no-op if the running broker is primary, "qpidd-primary stop" is a no op
   if it is not. This ensures that a broker will be stopped by the same stream
   of service actions that started it.

Minor changes in this patch:
- better logging of broker start-up and shut-down sequence.
- qpid-ha heartbeat use half of timeout option.
- add missing timeouts in qpid-ha.


Notes:

This changes the behavior of 'clusvcadm -d &lt;qpidd-service&gt;' on the primary node.
Previously this would have stopped the qpidd service on that node, killed the
qpidd process and relocated the primary service. Now this will stop the qpidd
service (as far as rgmanager is concerned) but will not kill qpidd or relocate
the primary service. When the primary is relocated the qpidd service wil not be
able to re-start on that node until it is re-enabled with 'clusvcadm -e'.

git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1614895 13f79535-47bb-0310-9956-ffa450edef68
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
There are two issues here, both related to the fact that rgmanager sees qpidd
and qpidd-primary as two separate services.

1. The service start/stop scripts can be called concurrently. This can lead to
   running a qpidd process who's pid is not in the pidfile. rgmanager cannot
   detect or kill this qpidd and cannot start another qpidd because of the lock
   on the qpidd data directory.

2. rgmanager sees a primary failure as two failures: qpidd and qpidd-primary,
   and will then try to stop and start both services. The order of these actions
   is not defined and can lead to rgmanager killing a service it has just
   started.

This patch makes two major changes to the init scripts:

1. Uses flock to lock the sensitive stop/start part of the scripts to ensure
   they are not executed concurrently.

2. On "stop" the scripts check if a running qpidd is primary or not. "qpidd stop"
   is a no-op if the running broker is primary, "qpidd-primary stop" is a no op
   if it is not. This ensures that a broker will be stopped by the same stream
   of service actions that started it.

Minor changes in this patch:
- better logging of broker start-up and shut-down sequence.
- qpid-ha heartbeat use half of timeout option.
- add missing timeouts in qpid-ha.


Notes:

This changes the behavior of 'clusvcadm -d &lt;qpidd-service&gt;' on the primary node.
Previously this would have stopped the qpidd service on that node, killed the
qpidd process and relocated the primary service. Now this will stop the qpidd
service (as far as rgmanager is concerned) but will not kill qpidd or relocate
the primary service. When the primary is relocated the qpidd service wil not be
able to re-start on that node until it is re-enabled with 'clusvcadm -e'.

git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1614895 13f79535-47bb-0310-9956-ffa450edef68
</pre>
</div>
</content>
</entry>
<entry>
<title>QPID-4745: Alternative port allocation for tests, instead of 'qpidd --port=0'</title>
<updated>2013-06-18T21:09:19+00:00</updated>
<author>
<name>Alan Conway</name>
<email>aconway@apache.org</email>
</author>
<published>2013-06-18T21:09:19+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/qpid-python.git/commit/?id=dcbe230a40f223d1e651cbd5d5626dee8d5c71b7'/>
<id>dcbe230a40f223d1e651cbd5d5626dee8d5c71b7</id>
<content type='text'>
qpidd-p0 script binds a new port to a socket using bind(0), and then
execs qpidd using the --socket-fd option to pass the socket to qpidd.

It is intended to replace
  /path/to/qpidd --port 0 &lt;args...&gt;
with
  qpidd-p0 /path/to/qpidd &lt;args...&gt;

Most tests do not yet use qpidd-p0, they will be updated in a future commit.

Changes:
- Added qpidd-p0
- Fixed qpidd port printing logic: print port only if --port=0, regardless of --transport.

git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1494306 13f79535-47bb-0310-9956-ffa450edef68
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
qpidd-p0 script binds a new port to a socket using bind(0), and then
execs qpidd using the --socket-fd option to pass the socket to qpidd.

It is intended to replace
  /path/to/qpidd --port 0 &lt;args...&gt;
with
  qpidd-p0 /path/to/qpidd &lt;args...&gt;

Most tests do not yet use qpidd-p0, they will be updated in a future commit.

Changes:
- Added qpidd-p0
- Fixed qpidd port printing logic: print port only if --port=0, regardless of --transport.

git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1494306 13f79535-47bb-0310-9956-ffa450edef68
</pre>
</div>
</content>
</entry>
<entry>
<title>QPID-4758: Extend the qpidd --wait option to work at shutdown</title>
<updated>2013-04-24T14:40:17+00:00</updated>
<author>
<name>Charles E. Rolke</name>
<email>chug@apache.org</email>
</author>
<published>2013-04-24T14:40:17+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/qpid-python.git/commit/?id=d77618749507b8e5df3bc5c96f64e3d644f862fe'/>
<id>d77618749507b8e5df3bc5c96f64e3d644f862fe</id>
<content type='text'>
Patch from Ernie Allen and Pavel Moravec.
Note: This patch is for the posix platform broker; The windows broker does not use a --wait option and is unaffected by this patch.



git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1471442 13f79535-47bb-0310-9956-ffa450edef68
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Patch from Ernie Allen and Pavel Moravec.
Note: This patch is for the posix platform broker; The windows broker does not use a --wait option and is unaffected by this patch.



git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1471442 13f79535-47bb-0310-9956-ffa450edef68
</pre>
</div>
</content>
</entry>
<entry>
<title>QPID-3689: Fix previous change of command line option handling</title>
<updated>2013-04-18T17:18:11+00:00</updated>
<author>
<name>Andrew Stitcher</name>
<email>astitcher@apache.org</email>
</author>
<published>2013-04-18T17:18:11+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/qpid-python.git/commit/?id=2f3d7ca0600c8685fceb88b5636250145e019096'/>
<id>2f3d7ca0600c8685fceb88b5636250145e019096</id>
<content type='text'>
Now introduced new command line option type that is a pure command
line switch which can take no boolean argument.

git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1469466 13f79535-47bb-0310-9956-ffa450edef68
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Now introduced new command line option type that is a pure command
line switch which can take no boolean argument.

git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1469466 13f79535-47bb-0310-9956-ffa450edef68
</pre>
</div>
</content>
</entry>
<entry>
<title>QPID-4449 - Reverted much of the original change and re-implemented the fix in a simpler way.</title>
<updated>2012-11-30T19:17:28+00:00</updated>
<author>
<name>Ted Ross</name>
<email>tross@apache.org</email>
</author>
<published>2012-11-30T19:17:28+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/qpid-python.git/commit/?id=acbde11b61d7bb3a0cdd81e1201d8565a4cbdfbd'/>
<id>acbde11b61d7bb3a0cdd81e1201d8565a4cbdfbd</id>
<content type='text'>
The build-define _IN_QPID_BROKER is now used for modules built in the broker.  The shared-pointer
changes are conditionally compiled only for in-broker cases.


git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1415796 13f79535-47bb-0310-9956-ffa450edef68
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The build-define _IN_QPID_BROKER is now used for modules built in the broker.  The shared-pointer
changes are conditionally compiled only for in-broker cases.


git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1415796 13f79535-47bb-0310-9956-ffa450edef68
</pre>
</div>
</content>
</entry>
<entry>
<title>QPID-4449 - Fixed the API in qpid::management::Manageable to remain backward compatible.</title>
<updated>2012-11-20T17:46:05+00:00</updated>
<author>
<name>Ted Ross</name>
<email>tross@apache.org</email>
</author>
<published>2012-11-20T17:46:05+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/qpid-python.git/commit/?id=8f018f8ba58de057fea23acb9f230a922ca501ab'/>
<id>8f018f8ba58de057fea23acb9f230a922ca501ab</id>
<content type='text'>
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1411761 13f79535-47bb-0310-9956-ffa450edef68
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1411761 13f79535-47bb-0310-9956-ffa450edef68
</pre>
</div>
</content>
</entry>
<entry>
<title>MQPID-4286: QMF queries for HA replication take too long to process (Jason Dillaman)</title>
<updated>2012-10-15T21:35:38+00:00</updated>
<author>
<name>Alan Conway</name>
<email>aconway@apache.org</email>
</author>
<published>2012-10-15T21:35:38+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/qpid-python.git/commit/?id=0d533491f135278fda9fa8c10d45e11da0c04d03'/>
<id>0d533491f135278fda9fa8c10d45e11da0c04d03</id>
<content type='text'>
Rework ManagementAgent locks, get rid of shared buffers that were points of contention.

Minor log message improvements in ha code.

git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1398530 13f79535-47bb-0310-9956-ffa450edef68
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Rework ManagementAgent locks, get rid of shared buffers that were points of contention.

Minor log message improvements in ha code.

git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1398530 13f79535-47bb-0310-9956-ffa450edef68
</pre>
</div>
</content>
</entry>
<entry>
<title>QPID-3500 C++ qpidd broker --help should work despite parse errors</title>
<updated>2012-09-20T13:48:40+00:00</updated>
<author>
<name>Charles E. Rolke</name>
<email>chug@apache.org</email>
</author>
<published>2012-09-20T13:48:40+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/qpid-python.git/commit/?id=e20a23b370e64c6f09a57b4ddefd6f650e89ba13'/>
<id>e20a23b370e64c6f09a57b4ddefd6f650e89ba13</id>
<content type='text'>
This patch finds and processes --version before anything else.
Then it finds --help before fully parsing command line options. 
In the event of a parse error, help usage may be shown as requested.



git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1388032 13f79535-47bb-0310-9956-ffa450edef68
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This patch finds and processes --version before anything else.
Then it finds --help before fully parsing command line options. 
In the event of a parse error, help usage may be shown as requested.



git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1388032 13f79535-47bb-0310-9956-ffa450edef68
</pre>
</div>
</content>
</entry>
<entry>
<title>NO-JIRA: Reduce message for missing lock file from critical to notice.</title>
<updated>2012-05-14T19:45:04+00:00</updated>
<author>
<name>Alan Conway</name>
<email>aconway@apache.org</email>
</author>
<published>2012-05-14T19:45:04+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/qpid-python.git/commit/?id=c98258ad72def817c3ee55fbddef488a5f0605ed'/>
<id>c98258ad72def817c3ee55fbddef488a5f0605ed</id>
<content type='text'>
If qpidd -q can't find the lock file, it used to issue a critical error message.
This is to harsh, not finding the lock file usually just means the broker isn't running.
Demoted to a notice message.

git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1338365 13f79535-47bb-0310-9956-ffa450edef68
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
If qpidd -q can't find the lock file, it used to issue a critical error message.
This is to harsh, not finding the lock file usually just means the broker isn't running.
Demoted to a notice message.

git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1338365 13f79535-47bb-0310-9956-ffa450edef68
</pre>
</div>
</content>
</entry>
<entry>
<title>QPID-3510 - Created a separate option in CommonOptions for the client configuration file.</title>
<updated>2012-04-23T13:44:11+00:00</updated>
<author>
<name>Ted Ross</name>
<email>tross@apache.org</email>
</author>
<published>2012-04-23T13:44:11+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/qpid-python.git/commit/?id=dda3a026db3037ac23570cfd29ee680d33ed4f7b'/>
<id>dda3a026db3037ac23570cfd29ee680d33ed4f7b</id>
<content type='text'>
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1329236 13f79535-47bb-0310-9956-ffa450edef68
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1329236 13f79535-47bb-0310-9956-ffa450edef68
</pre>
</div>
</content>
</entry>
</feed>
