We're updating the issue view to help you get more done. 

Packets sent to non-connected components are processed by OutgoingSessionPromise

Description

The code that routes packets in RoutingTableImpl is structured as follows.

The condition of the second block, however, is:

This will cause any stanza that is addressed to a non-existing subdomain to be processed by the S2S routines. In effect, they get queued forever, which causes a memory leak.

Many thanks to Lars Hoogweg for reporting this issue.

Environment

None

Acceptance Test - Entry

None

Activity

Show:
Guus der Kinderen
November 7, 2009, 5:38 PM

The code now checks the address of a packet first. Only after a processing routine has been picked, the validity of the address is checked.

I have split up the individual processes that were defined in routePacket(). Now, every process has its own method. This makes mistakes like the one that caused this issue very visible.

Assignee

Guus der Kinderen

Reporter

Guus der Kinderen

Labels

None

Expected Effort

None

Ignite Forum URL

None

Components

Fix versions

Affects versions

Priority

Blocker
Configure