Project

General

Profile

Duplicated offline messages

Konrad Machlowski
Added over 3 years ago

Hello,

I'm running Tigase 7.0.2 with MySQL configuration.

When I send a message to an offline user, that message is delivered twice. In fact, if I go to the database and lookup msg_history table, there are 2 rows for that message (meaning it has been inserted twice).

Any advice on where I should be looking to solve the issue?

There is one exception in the logs:

java.lang.NoSuchMethodError: java.util.concurrent.ConcurrentHashMap.keySet()Ljava/util/concurrent/ConcurrentHashMap$KeySetView;
        at tigase.server.xmppsession.SessionManager.everyMinute(SessionManager.java:2211)
        at tigase.server.AbstractMessageReceiver$3.run(AbstractMessageReceiver.java:1247)
        at java.util.TimerThread.mainLoop(Timer.java:555)
        at java.util.TimerThread.run(Timer.java:505)

This is my init.properties:

--comp-class-1 = tigase.muc.MUCComponent
--virt-hosts = HOST
--user-db-uri=jdbc:mysql://localhost:3306/tigasedb?user=tigase&password=tigase
--user-db = mysql
--admins = admin@HOST
--comp-name-5 = http
--comp-name-4 = message-archive
--comp-name-3 = proxy
config-type = --gen-config-def
--comp-name-2 = pubsub
--comp-name-1 = muc
--cluster-mode = false
--sm-plugins = +message-archive-xep-0136
--comp-class-5 = tigase.http.HttpMessageReceiver
--comp-class-4 = tigase.archive.MessageArchiveComponent
--comp-class-3 = tigase.socks5.Socks5ProxyComponent
--comp-class-2 = tigase.pubsub.PubSubComponent
http/http/port[I] = 8086

Replies (3)

Added by Wojciech Kapcia TigaseTeam over 3 years ago

Konrad Machlowski wrote:

Hello,

I'm running Tigase 7.0.2 with MySQL configuration.

When I send a message to an offline user, that message is delivered twice. In fact, if I go to the database and lookup msg_history table, there are 2 rows for that message (meaning it has been inserted twice).

Do you use any custom code on your instance? Could you check the logs with the:

--debug=server,xmpp.impl,db

for the processing of the packet?

Any advice on where I should be looking to solve the issue?

There is one exception in the logs:

This can be ignored and is a result of using a build created with JDK8 with jvm7.

Added by Konrad Machlowski over 3 years ago

It's really hard to find anything as there is a lot of the logs.

One thing I've noticed is this:

2015-10-04 12:02:01.040 [in_0-sess-man]    SessionManager.processPacket()     FINEST:   Packet processed by: [message-archive-xep-0136, amp, message-carbons, msgoffline]

Should the message be processed by both msgoffline and amp? I would have thought that msgoffline is obsolete and all offline messages are handled by amp now?

There is no custom code running here.

Also, what I've noticed is that if A, B are online, A send a message to B, one row into msg_history is insterted (?). If B is offline, same case, 2 rows are inserted...

Added by Wojciech Kapcia TigaseTeam over 3 years ago

Konrad Machlowski wrote:

Should the message be processed by both msgoffline and amp? I would have thought that msgoffline is obsolete and all offline messages are handled by amp now?

No, it shouldn't and your understanding is correct.

There is no custom code running here.

Can you share your full @tigase-console.log@?

Also, what I've noticed is that if A, B are online, A send a message to B, one row into msg_history is insterted (?). If B is offline, same case, 2 rows are inserted...

What client do you use? Are there special cases (special priority, stream management or other things used)?

    (1-3/3)