aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorEvgeny Khramtsov <xramtsov@gmail.com>2017-01-21 11:17:06 +0400
committerGitHub <noreply@github.com>2017-01-21 11:17:06 +0400
commit1e968f5487521db65037263d124a4e89c7bbe51c (patch)
tree2074eb3fc487b005ab3afea08a185e8e965c498c /src
parentAdd stanza-id to every archived message (#1477) (diff)
parentmod_pubsub: Fix last item cache for multiple hosts (diff)
Merge pull request #1478 from weiss/multi-host-pubsub-cache
mod_pubsub: Fix last item cache for multiple hosts
Diffstat (limited to 'src')
-rw-r--r--src/mod_pubsub.erl10
1 files changed, 5 insertions, 5 deletions
diff --git a/src/mod_pubsub.erl b/src/mod_pubsub.erl
index eba2cab29..93c9abe7a 100644
--- a/src/mod_pubsub.erl
+++ b/src/mod_pubsub.erl
@@ -177,7 +177,7 @@
-type(pubsubLastItem() ::
#pubsub_last_item{
- nodeid :: mod_pubsub:nodeIdx(),
+ nodeid :: {binary(), mod_pubsub:nodeIdx()},
itemid :: mod_pubsub:itemId(),
creation :: {erlang:timestamp(), ljid()},
payload :: mod_pubsub:payload()
@@ -3426,7 +3426,7 @@ set_cached_item({_, ServerHost, _}, Nidx, ItemId, Publisher, Payload) ->
set_cached_item(ServerHost, Nidx, ItemId, Publisher, Payload);
set_cached_item(Host, Nidx, ItemId, Publisher, Payload) ->
case is_last_item_cache_enabled(Host) of
- true -> mnesia:dirty_write({pubsub_last_item, Nidx, ItemId,
+ true -> mnesia:dirty_write({pubsub_last_item, {Host, Nidx}, ItemId,
{p1_time_compat:timestamp(), jid:tolower(jid:remove_resource(Publisher))},
Payload});
_ -> ok
@@ -3437,7 +3437,7 @@ unset_cached_item({_, ServerHost, _}, Nidx) ->
unset_cached_item(ServerHost, Nidx);
unset_cached_item(Host, Nidx) ->
case is_last_item_cache_enabled(Host) of
- true -> mnesia:dirty_delete({pubsub_last_item, Nidx});
+ true -> mnesia:dirty_delete({pubsub_last_item, {Host, Nidx}});
_ -> ok
end.
@@ -3447,8 +3447,8 @@ get_cached_item({_, ServerHost, _}, Nidx) ->
get_cached_item(Host, Nidx) ->
case is_last_item_cache_enabled(Host) of
true ->
- case mnesia:dirty_read({pubsub_last_item, Nidx}) of
- [#pubsub_last_item{itemid = ItemId, creation = Creation, payload = Payload}] ->
+ case mnesia:dirty_read({pubsub_last_item, {Host, Nidx}}) of
+ [#pubsub_last_item{itemid = {Host, ItemId}, creation = Creation, payload = Payload}] ->
% [{pubsub_last_item, Nidx, ItemId, Creation,
% Payload}] ->
#pubsub_item{itemid = {ItemId, Nidx},