connection: reimplement timeout logic and redefine pings as a keep-alive feature
- Previous implementation was not able to import transactions with many small objects, the client for faster to send a store request than to process its answer. If X is the difference of time for these 2 operations, the maximum number of objects a transaction could contain was CRITICAL_TIMEOUT / X. And HasLock feature can't act as a workaround because it is not working yet. - Change API of 'on_timeout', which currently only used by HasLock. - Stop pinging when we wait for an answer. This wastes resources and would never recover any bad state. - Make client connections send pings when they are idle instead. This implements keep-alive feature for high availability. Start with an non-configurable period of 60 seconds. - Move processing of ping/pong to handlers. git-svn-id: https://svn.erp5.org/repos/neo/trunk@2762 71dcc9de-d417-0410-9af5-da40c76e7ee4
Showing
Please register or sign in to comment