<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/python-packages/qpid-python.git/qpid/cpp/etc/qpidd-primary.in, branch QPID-6262-JavaBrokerNIO</title>
<subtitle>git.apache.org: qpid.git
</subtitle>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/python-packages/qpid-python.git/'/>
<entry>
<title>QPID-6035: HA clearly distinguish qpid-ha commands intended for cluster manager.</title>
<updated>2014-08-22T18:06:20+00:00</updated>
<author>
<name>Alan Conway</name>
<email>aconway@apache.org</email>
</author>
<published>2014-08-22T18:06:20+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/python-packages/qpid-python.git/commit/?id=d42d6b5305b6617bd5bdc7417500e115e2346a88'/>
<id>d42d6b5305b6617bd5bdc7417500e115e2346a88</id>
<content type='text'>
This commit adds a --cluster-manager flag to qpid-ha tool.

Without this flag
- the 'promote' command is not listed in the tool help.
- using the promote command raises an error saying that it is only for cluster manager use
  and mentioning the --cluster-manager flag.

With the flag: promote functions as before.

The qpid-ha help text for promote is also more clear now that it is for cluster
manager only.

Originally the idea was to split qpid-ha into two tools but I have kept one tool
with the flag and warning messages because it:

- avoids packaging changes that might trip things up.

- helps people who are already using qpid-ha promote: their scripts will
  break but the error message explains how to fix it.

I think the special role of promote is sufficiently clear now even if it is
part of the same tool.

This commit also updates the following to take account of the new flag:
- rgmanager qpidd-primary script.
- qpidd tests.
- qpid book HA chapter.

NOTE: THIS WILL BREAK TEST HARNESSES that do promotion outside of rgmanager.
You'll need to add the --cluster-manager flag in the relevant places.

git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1619877 13f79535-47bb-0310-9956-ffa450edef68
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This commit adds a --cluster-manager flag to qpid-ha tool.

Without this flag
- the 'promote' command is not listed in the tool help.
- using the promote command raises an error saying that it is only for cluster manager use
  and mentioning the --cluster-manager flag.

With the flag: promote functions as before.

The qpid-ha help text for promote is also more clear now that it is for cluster
manager only.

Originally the idea was to split qpid-ha into two tools but I have kept one tool
with the flag and warning messages because it:

- avoids packaging changes that might trip things up.

- helps people who are already using qpid-ha promote: their scripts will
  break but the error message explains how to fix it.

I think the special role of promote is sufficiently clear now even if it is
part of the same tool.

This commit also updates the following to take account of the new flag:
- rgmanager qpidd-primary script.
- qpidd tests.
- qpid book HA chapter.

NOTE: THIS WILL BREAK TEST HARNESSES that do promotion outside of rgmanager.
You'll need to add the --cluster-manager flag in the relevant places.

git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1619877 13f79535-47bb-0310-9956-ffa450edef68
</pre>
</div>
</content>
</entry>
<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://91.123.203.49/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-5719: HA becomes unresponsive once any of the brokers are SIGSTOPed</title>
<updated>2014-04-24T17:54:05+00:00</updated>
<author>
<name>Alan Conway</name>
<email>aconway@apache.org</email>
</author>
<published>2014-04-24T17:54:05+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/python-packages/qpid-python.git/commit/?id=1d3b4560f8a7f212976b536376a976b3b41f489b'/>
<id>1d3b4560f8a7f212976b536376a976b3b41f489b</id>
<content type='text'>
- Added timeout to qpid-ha.
- qpidd init script pings broker to verify it is not hung.
- updated documentation in qpid/doc/book/src/cpp-broker/Active-Passive-Cluster.xml.

The new results for the cases mentioned in the bug:

a] stopped ALL brokers: rgmanager restarts the entire cluster but data is lost.
   Equivalent to killing all the  brokers at once. This does not affect quorum because
   only qpidd services are affected, not other services managed by cman.

b] stopped the primary: rgmanager restarts the primary after a timeout and promotes one of the backups.

c] stopped a backup: rgmanager restarts the backups after a timeout.
   Clients that are actively sending messages may see a delay while backup is restarted.

Note you need to set link-heartbeat-interval in qpidd.conf. The default is very
high (120 seconds), it should be set lower to see recovery from sigstop in a
reasonable time.
See the updated documentation in qpid/doc/book/src/cpp-broker/Active-Passive-Cluster.xml.

git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1589807 13f79535-47bb-0310-9956-ffa450edef68
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
- Added timeout to qpid-ha.
- qpidd init script pings broker to verify it is not hung.
- updated documentation in qpid/doc/book/src/cpp-broker/Active-Passive-Cluster.xml.

The new results for the cases mentioned in the bug:

a] stopped ALL brokers: rgmanager restarts the entire cluster but data is lost.
   Equivalent to killing all the  brokers at once. This does not affect quorum because
   only qpidd services are affected, not other services managed by cman.

b] stopped the primary: rgmanager restarts the primary after a timeout and promotes one of the backups.

c] stopped a backup: rgmanager restarts the backups after a timeout.
   Clients that are actively sending messages may see a delay while backup is restarted.

Note you need to set link-heartbeat-interval in qpidd.conf. The default is very
high (120 seconds), it should be set lower to see recovery from sigstop in a
reasonable time.
See the updated documentation in qpid/doc/book/src/cpp-broker/Active-Passive-Cluster.xml.

git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1589807 13f79535-47bb-0310-9956-ffa450edef68
</pre>
</div>
</content>
</entry>
<entry>
<title>QPID-5711: HA cannot promote primary if SASL security is enabled.</title>
<updated>2014-04-23T12:42:35+00:00</updated>
<author>
<name>Alan Conway</name>
<email>aconway@apache.org</email>
</author>
<published>2014-04-23T12:42:35+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/python-packages/qpid-python.git/commit/?id=35de9683349c40207ea136b6ff38808722a14cda'/>
<id>35de9683349c40207ea136b6ff38808722a14cda</id>
<content type='text'>
Updated the qpid-ha tool and qpidd init scripts to handle SASL authentication.
The qpid-ha script as as called by the qpidd-primary init script now reads
authentication settings from the qpidd.conf file and uses them to connect to the local broker.

- qpidd-primary script respects prefix: use installed location for qpidd script, not "service" call
- qpid-ha added --config option qpid-ha options to use qpidd.conf for local broker connection.
- qpid-ha --all use user/pass for each broker.

git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1589391 13f79535-47bb-0310-9956-ffa450edef68
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Updated the qpid-ha tool and qpidd init scripts to handle SASL authentication.
The qpid-ha script as as called by the qpidd-primary init script now reads
authentication settings from the qpidd.conf file and uses them to connect to the local broker.

- qpidd-primary script respects prefix: use installed location for qpidd script, not "service" call
- qpid-ha added --config option qpid-ha options to use qpidd.conf for local broker connection.
- qpid-ha --all use user/pass for each broker.

git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1589391 13f79535-47bb-0310-9956-ffa450edef68
</pre>
</div>
</content>
</entry>
<entry>
<title>QPID-5336: Don't hardcode location of bash in shell scripts</title>
<updated>2013-11-14T00:02:20+00:00</updated>
<author>
<name>Andrew Stitcher</name>
<email>astitcher@apache.org</email>
</author>
<published>2013-11-14T00:02:20+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/python-packages/qpid-python.git/commit/?id=bbb9c940637204b6bab8ebfec6ea9da8fb945e22'/>
<id>bbb9c940637204b6bab8ebfec6ea9da8fb945e22</id>
<content type='text'>
  As bash isn't specified by POSIX its location is variable.
  Specifically under BSDs it isn't found in /bin/bash.

git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1541763 13f79535-47bb-0310-9956-ffa450edef68
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
  As bash isn't specified by POSIX its location is variable.
  Specifically under BSDs it isn't found in /bin/bash.

git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1541763 13f79535-47bb-0310-9956-ffa450edef68
</pre>
</div>
</content>
</entry>
<entry>
<title>QPID-4733: Fix cmake installation of init scripts</title>
<updated>2013-04-10T19:37:32+00:00</updated>
<author>
<name>Alan Conway</name>
<email>aconway@apache.org</email>
</author>
<published>2013-04-10T19:37:32+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/python-packages/qpid-python.git/commit/?id=f10007aed0a335bef30c4582f5ef18908b26ff47'/>
<id>f10007aed0a335bef30c4582f5ef18908b26ff47</id>
<content type='text'>
- Install both qpidd and qpidd-primary init scripts.
- Fix path substitution to use absolute paths.
- Fix substitution to work on cmake and automake.
- Set executable permissions for init scripts.

git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1466645 13f79535-47bb-0310-9956-ffa450edef68
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
- Install both qpidd and qpidd-primary init scripts.
- Fix path substitution to use absolute paths.
- Fix substitution to work on cmake and automake.
- Set executable permissions for init scripts.

git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1466645 13f79535-47bb-0310-9956-ffa450edef68
</pre>
</div>
</content>
</entry>
<entry>
<title>QPID-4698: Missed two macros in qpidd-primary.in</title>
<updated>2013-04-09T18:21:12+00:00</updated>
<author>
<name>Darryl L. Pierce</name>
<email>mcpierce@apache.org</email>
</author>
<published>2013-04-09T18:21:12+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/python-packages/qpid-python.git/commit/?id=ba2b45010471e043c10434f14d5c824c6fd0c969'/>
<id>ba2b45010471e043c10434f14d5c824c6fd0c969</id>
<content type='text'>
Fixed them to properly set the paths.

git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1466169 13f79535-47bb-0310-9956-ffa450edef68
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Fixed them to properly set the paths.

git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1466169 13f79535-47bb-0310-9956-ffa450edef68
</pre>
</div>
</content>
</entry>
<entry>
<title>QPID-4698: Fixed the install location for files under CMake.</title>
<updated>2013-04-08T14:02:18+00:00</updated>
<author>
<name>Darryl L. Pierce</name>
<email>mcpierce@apache.org</email>
</author>
<published>2013-04-08T14:02:18+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/python-packages/qpid-python.git/commit/?id=7f1f7f7a01cfcbb892285dc3a7d9372d1fb1ff43'/>
<id>7f1f7f7a01cfcbb892285dc3a7d9372d1fb1ff43</id>
<content type='text'>
Installs the SASL2 qpidd.conf file to /etc/qpid/sasl2/qpidd.conf
Installs qpidd-primary to /etc/rc.d/init.d/qpidd-primary
Installs the qmf-gen Python script to /usr/bin
Installs the managementgen sitepackage to where sitelibs belong

git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1465643 13f79535-47bb-0310-9956-ffa450edef68
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Installs the SASL2 qpidd.conf file to /etc/qpid/sasl2/qpidd.conf
Installs qpidd-primary to /etc/rc.d/init.d/qpidd-primary
Installs the qmf-gen Python script to /usr/bin
Installs the managementgen sitepackage to where sitelibs belong

git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1465643 13f79535-47bb-0310-9956-ffa450edef68
</pre>
</div>
</content>
</entry>
<entry>
<title>QPID-4600: New HA regularly shutting down active node</title>
<updated>2013-02-25T20:08:15+00:00</updated>
<author>
<name>Alan Conway</name>
<email>aconway@apache.org</email>
</author>
<published>2013-02-25T20:08:15+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/python-packages/qpid-python.git/commit/?id=f40d09db7c96b8050cabf4783f067a1cfe1e5c5d'/>
<id>f40d09db7c96b8050cabf4783f067a1cfe1e5c5d</id>
<content type='text'>
qpid-primary script was incorrect and failing on status calls,
causing the broker to be restarted by rgmanager.

git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1449870 13f79535-47bb-0310-9956-ffa450edef68
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
qpid-primary script was incorrect and failing on status calls,
causing the broker to be restarted by rgmanager.

git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1449870 13f79535-47bb-0310-9956-ffa450edef68
</pre>
</div>
</content>
</entry>
<entry>
<title>Revert "Bug 891689 - New HA regularly shutting down active node"</title>
<updated>2013-02-25T20:08:05+00:00</updated>
<author>
<name>Alan Conway</name>
<email>aconway@apache.org</email>
</author>
<published>2013-02-25T20:08:05+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/python-packages/qpid-python.git/commit/?id=242d8406759d1a2c20901c8ca083b7bb732d75d5'/>
<id>242d8406759d1a2c20901c8ca083b7bb732d75d5</id>
<content type='text'>
This reverts commit r1449832, the commit comment did not include
a QPID JIRA number. A corrected version of the commit follows...

git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1449869 13f79535-47bb-0310-9956-ffa450edef68
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This reverts commit r1449832, the commit comment did not include
a QPID JIRA number. A corrected version of the commit follows...

git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1449869 13f79535-47bb-0310-9956-ffa450edef68
</pre>
</div>
</content>
</entry>
</feed>
