<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/rabbitmq-server.git, branch bug23145</title>
<subtitle>hg.rabbitmq.com: Obsolete (use rabbitmq-server-git)
</subtitle>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/rabbitmq-server.git/'/>
<entry>
<title>Eliminate RABBITMQ_PLUGINS_EXPAND_DIR</title>
<updated>2010-08-18T13:52:40+00:00</updated>
<author>
<name>David Wragg</name>
<email>david@rabbitmq.com</email>
</author>
<published>2010-08-18T13:52:40+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/rabbitmq-server.git/commit/?id=4afe4218c8cf9e3e57a0af0e587f8c6f90894575'/>
<id>4afe4218c8cf9e3e57a0af0e587f8c6f90894575</id>
<content type='text'>
There were a number of issues with RABBITMQ_PLUGINS_EXPAND_DIR:

- It was undocumented in the context of the generic unix package, and
  if unwisely set could do an effective "rm -rf" in an unintended
  location.

- It did not take account of the possibility that multiple nodes could
  be starting at once, and so doing plugins activation
  simultanteously.

Instead, use RABBITMQ_MNESIA_DIR/plugins-scratch.  This avoids the
need to extend the generic unix package documentation, the location is
node-specific, and the distinctive plugins-scratch subdirectory
reduces the risk of unintended file deletions.
(transplanted from 064b8797493bb290156fb72a54f9e9276df0faed)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
There were a number of issues with RABBITMQ_PLUGINS_EXPAND_DIR:

- It was undocumented in the context of the generic unix package, and
  if unwisely set could do an effective "rm -rf" in an unintended
  location.

- It did not take account of the possibility that multiple nodes could
  be starting at once, and so doing plugins activation
  simultanteously.

Instead, use RABBITMQ_MNESIA_DIR/plugins-scratch.  This avoids the
need to extend the generic unix package documentation, the location is
node-specific, and the distinctive plugins-scratch subdirectory
reduces the risk of unintended file deletions.
(transplanted from 064b8797493bb290156fb72a54f9e9276df0faed)
</pre>
</div>
</content>
</entry>
<entry>
<title>small simplifying refactor</title>
<updated>2010-08-18T05:27:12+00:00</updated>
<author>
<name>Matthias Radestock</name>
<email>matthias@rabbitmq.com</email>
</author>
<published>2010-08-18T05:27:12+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/rabbitmq-server.git/commit/?id=dbded325f13be936a505e25c5c1110d66b75cbd0'/>
<id>dbded325f13be936a505e25c5c1110d66b75cbd0</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>take current memory alarms status into account straight away</title>
<updated>2010-08-18T03:24:34+00:00</updated>
<author>
<name>Matthias Radestock</name>
<email>matthias@rabbitmq.com</email>
</author>
<published>2010-08-18T03:24:34+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/rabbitmq-server.git/commit/?id=fd4f2d45610a3f2ce651d08a42f6a3e4a1277dca'/>
<id>fd4f2d45610a3f2ce651d08a42f6a3e4a1277dca</id>
<content type='text'>
This does in fact not alter the behaviour at all due to the following:

- if the alarm is active the alarm registration will call the handler
straight way, which will send a {conserve_memory, true} message to the
reader.
- the reply to the alarm registration is sent after that, and from the
same process - the alarm process - so by the time the reader loops
around the mainloop again the {conserve_memory, true} message is
guaranteed to be in the mailbox
- on looping around, the reader request a frame_header from the
socket. The reader has already sent connection.open_ok to the client,
and the client may have started sending commands straight away. But
all the reader is going to see of that to start with is an {inet_async,
...} message for a frame_header. That is guaranteed to end up in the
mailbox after the {conserve_memory, true} message.

Thus the reader is guaranteed to process the {conserve_memory, true}
message before handling any more data from the socket.

With this change it is rather more obvious that the memory alarm
status gets taken into account before any more client data is
processed.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This does in fact not alter the behaviour at all due to the following:

- if the alarm is active the alarm registration will call the handler
straight way, which will send a {conserve_memory, true} message to the
reader.
- the reply to the alarm registration is sent after that, and from the
same process - the alarm process - so by the time the reader loops
around the mainloop again the {conserve_memory, true} message is
guaranteed to be in the mailbox
- on looping around, the reader request a frame_header from the
socket. The reader has already sent connection.open_ok to the client,
and the client may have started sending commands straight away. But
all the reader is going to see of that to start with is an {inet_async,
...} message for a frame_header. That is guaranteed to end up in the
mailbox after the {conserve_memory, true} message.

Thus the reader is guaranteed to process the {conserve_memory, true}
message before handling any more data from the socket.

With this change it is rather more obvious that the memory alarm
status gets taken into account before any more client data is
processed.
</pre>
</div>
</content>
</entry>
<entry>
<title>merge bug23135 into default</title>
<updated>2010-08-17T14:01:41+00:00</updated>
<author>
<name>Matthias Radestock</name>
<email>matthias@rabbitmq.com</email>
</author>
<published>2010-08-17T14:01:41+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/rabbitmq-server.git/commit/?id=b40e8ecf8a3f04cff949dcdb0c273e1e84cb70cb'/>
<id>b40e8ecf8a3f04cff949dcdb0c273e1e84cb70cb</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>obtain_and_release_on_death =&gt; obtain, and minor refactor of tcp acceptor</title>
<updated>2010-08-17T13:05:52+00:00</updated>
<author>
<name>Matthew Sackman</name>
<email>matthew@rabbitmq.com</email>
</author>
<published>2010-08-17T13:05:52+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/rabbitmq-server.git/commit/?id=e0f9f9e39d479f2635ea0af983455388c57a9039'/>
<id>e0f9f9e39d479f2635ea0af983455388c57a9039</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Combine obtains and release_on_death</title>
<updated>2010-08-17T12:54:03+00:00</updated>
<author>
<name>Matthew Sackman</name>
<email>matthew@rabbitmq.com</email>
</author>
<published>2010-08-17T12:54:03+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/rabbitmq-server.git/commit/?id=73f9b32cce3c81409fa41a810b2dc316a426a042'/>
<id>73f9b32cce3c81409fa41a810b2dc316a426a042</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>merge bug23132 into default</title>
<updated>2010-08-17T11:54:57+00:00</updated>
<author>
<name>Matthias Radestock</name>
<email>matthias@rabbitmq.com</email>
</author>
<published>2010-08-17T11:54:57+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/rabbitmq-server.git/commit/?id=64d7eebf985987a10eaeaef3f8e8111b1f9cd5bf'/>
<id>64d7eebf985987a10eaeaef3f8e8111b1f9cd5bf</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Minor corrections</title>
<updated>2010-08-17T11:20:22+00:00</updated>
<author>
<name>Matthew Sackman</name>
<email>matthew@rabbitmq.com</email>
</author>
<published>2010-08-17T11:20:22+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/rabbitmq-server.git/commit/?id=c9ecb104b823054dfda5333d2aa8f6f019882d1d'/>
<id>c9ecb104b823054dfda5333d2aa8f6f019882d1d</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>cosmetic</title>
<updated>2010-08-16T20:44:24+00:00</updated>
<author>
<name>Matthias Radestock</name>
<email>matthias@rabbitmq.com</email>
</author>
<published>2010-08-16T20:44:24+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/rabbitmq-server.git/commit/?id=2a90f311a41950d9c2c528ec857a2705d29caa96'/>
<id>2a90f311a41950d9c2c528ec857a2705d29caa96</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>tweak</title>
<updated>2010-08-16T20:21:23+00:00</updated>
<author>
<name>Matthias Radestock</name>
<email>matthias@rabbitmq.com</email>
</author>
<published>2010-08-16T20:21:23+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/rabbitmq-server.git/commit/?id=90e7205605b062f0473bd7e4cdc9273f5b851815'/>
<id>90e7205605b062f0473bd7e4cdc9273f5b851815</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
