summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexandru Scvortov <alexandru@rabbitmq.com>2010-09-27 14:28:32 +0100
committerAlexandru Scvortov <alexandru@rabbitmq.com>2010-09-27 14:28:32 +0100
commit12e924f7ddb11a1b1736566756d64cfd4104c790 (patch)
tree549b5cadfa27a39feb263e0b94f8d81f90c820e5
parent935110e2e43ca165c33d63f347db532cfdb36c5b (diff)
downloadrabbitmq-server-git-12e924f7ddb11a1b1736566756d64cfd4104c790.tar.gz
bugfixes; passes same java tests as default
The queue lease test fails with: There was 1 failure: 1) testExpireMustBeLong(com.rabbitmq.client.test.functional.QueueLease)junit.framework.AssertionFailedError: server accepted x-expires not of type long at com.rabbitmq.client.test.functional.QueueLease.testExpireMustBeLong(QueueLease.java:80) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) This also happens on default.
-rw-r--r--src/rabbit_amqqueue_process.erl2
-rw-r--r--src/rabbit_variable_queue.erl9
2 files changed, 7 insertions, 4 deletions
diff --git a/src/rabbit_amqqueue_process.erl b/src/rabbit_amqqueue_process.erl
index b8b0cf8d1b..482d2a3769 100644
--- a/src/rabbit_amqqueue_process.erl
+++ b/src/rabbit_amqqueue_process.erl
@@ -399,7 +399,7 @@ deliver_from_queue_deliver(AckRequired, false,
{{Message, IsDelivered, AckTag}, 0 == Remaining,
State #q { backing_queue_state = BQS1 }}.
-confirm_messages_internal(Guids, State) ->
+confirm_messages_internal(Guids, State) when is_list(Guids) ->
lists:foldl(fun(Guid, State0) ->
confirm_message_internal(Guid, State0)
end, State, Guids).
diff --git a/src/rabbit_variable_queue.erl b/src/rabbit_variable_queue.erl
index efdf34f236..e3a0898992 100644
--- a/src/rabbit_variable_queue.erl
+++ b/src/rabbit_variable_queue.erl
@@ -768,8 +768,11 @@ status(#vqstate { q1 = Q1, q2 = Q2, delta = Delta, q3 = Q3, q4 = Q4,
seqids_to_guids(SeqIds, #vqstate{ pending_ack = PA }) ->
lists:foldl(fun(SeqId, Guids) ->
- {ok, #msg_status { msg = Msg }} = dict:find(SeqId, PA),
- [Msg#basic_message.guid | Guids]
+ {ok, AckEntry} = dict:find(SeqId, PA),
+ [case AckEntry of
+ #msg_status { msg = Msg } -> Msg#basic_message.guid;
+ {_, Guid} -> Guid
+ end | Guids]
end, [], SeqIds).
%%----------------------------------------------------------------------------
@@ -984,7 +987,7 @@ tx_commit_index(State = #vqstate { on_sync = #sync {
IsPersistent1 = IsDurable andalso IsPersistent,
{SeqId, State3} = publish(Msg, false, IsPersistent1, false, State2),
{cons_if(IsPersistent1, SeqId, SeqIdsAcc), State3}
- end, {PAcks, element(1, ack(Acks, State))}, Pubs),
+ end, {PAcks, ack(Acks, State)}, Pubs),
IndexState1 = rabbit_queue_index:sync(SeqIds, IndexState),
[ Fun() || Fun <- lists:reverse(SFuns) ],
reduce_memory_use(