I just changed the delta poller so it does not rely on timeouts... when a delta is done, if has_more is true, it enqueues a new one (which runs almost immediately). This means that if we see a Timeout::Error in the logs, it's definitely not normal, and we should track it down and hopefully make the thing that timed out faster.
Also! We discovered that ActiveRecord sometimes catches a Timeout::Error and disguises it as a StatementInvalid. The trick is that the message starts with ": execution expired:". So if you see a StatementInvalid, it may really be a Timeout... or it may actually be a SQL error.