summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/rabbit_amqqueue_process.erl5
-rw-r--r--src/rabbit_queue_index.erl3
-rw-r--r--src/rabbit_variable_queue.erl4
3 files changed, 8 insertions, 4 deletions
diff --git a/src/rabbit_amqqueue_process.erl b/src/rabbit_amqqueue_process.erl
index 9b9515c1dd..9cefa92694 100644
--- a/src/rabbit_amqqueue_process.erl
+++ b/src/rabbit_amqqueue_process.erl
@@ -90,7 +90,8 @@
acks_uncommitted,
consumers,
transactions,
- memory
+ memory,
+ raw_vq_status
]).
%%----------------------------------------------------------------------------
@@ -585,6 +586,8 @@ i(transactions, _) ->
i(memory, _) ->
{memory, M} = process_info(self(), memory),
M;
+i(raw_vq_status, State) ->
+ rabbit_variable_queue:status(State#q.variable_queue_state);
i(Item, _) ->
throw({bad_argument, Item}).
diff --git a/src/rabbit_queue_index.erl b/src/rabbit_queue_index.erl
index 6e1f496ac6..91ecd66925 100644
--- a/src/rabbit_queue_index.erl
+++ b/src/rabbit_queue_index.erl
@@ -375,7 +375,7 @@ get_journal_handle(State = #qistate { dir = Dir, seg_num_handles = SegHdls }) ->
{Hdl, State};
error ->
Path = filename:join(Dir, ?JOURNAL_FILENAME),
- Mode = [raw, binary, delayed_write, write, read, read_ahead],
+ Mode = [raw, binary, write, read, read_ahead],
new_handle(journal, Path, Mode, State)
end.
@@ -426,7 +426,6 @@ get_seg_handle(SegNum, State = #qistate { dir = Dir, seg_num_handles = SegHdls }
error ->
new_handle(SegNum, seg_num_to_path(Dir, SegNum),
[binary, raw, read, write,
- {delayed_write, ?SEGMENT_TOTAL_SIZE, 1000},
{read_ahead, ?SEGMENT_TOTAL_SIZE}],
State)
end.
diff --git a/src/rabbit_variable_queue.erl b/src/rabbit_variable_queue.erl
index 6fc89cb4cf..919af6c13d 100644
--- a/src/rabbit_variable_queue.erl
+++ b/src/rabbit_variable_queue.erl
@@ -245,7 +245,9 @@ set_queue_ram_duration_target(
case TargetRamMsgCount1 == undefined orelse
TargetRamMsgCount1 >= TargetRamMsgCount of
true -> State1;
- false -> reduce_memory_use(State1)
+ false -> State2 = reduce_memory_use(State1),
+ garbage_collect(self()),
+ State2
end.
remeasure_rates(State = #vqstate { egress_rate = Egress,