diff options
author | Evgeny Khramtsov <xramtsov@gmail.com> | 2017-01-21 11:17:06 +0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-01-21 11:17:06 +0400 |
commit | 1e968f5487521db65037263d124a4e89c7bbe51c (patch) | |
tree | 2074eb3fc487b005ab3afea08a185e8e965c498c /src | |
parent | Add stanza-id to every archived message (#1477) (diff) | |
parent | mod_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.erl | 10 |
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}, |