Page 1 of 1

REQ: Show the last 3 forwarded addresses

PostPosted: Wed Dec 12, 2007 2:34 pm
by warrenn
The advanced mode page currently shows the last 3 eaten messages. Would it be possible to also show the last few forwarded messages? Often I will get mail with an expiring address and I'll log on to update the remaining count. If the addresses were right there on the first page, it would be a little more convenient.

PostPosted: Wed Dec 12, 2007 5:04 pm
by Jim27106
I agree that it sounds like a nice feature. Perhaps only put them on the list if it isn't a trusted or exclusive sender.

PostPosted: Thu Dec 13, 2007 2:23 pm
by SysKoll
Unfortunately, that will require quite a large table and would have performance consequences. As of now, we just store a few dozen bytes foe the last eaten messages. Anything above that would require several hundreds of bytes per message. We'd suddenly have a huge table, and we need to back them up across the network.

Moreover, most messages we receive are eaten, so this table would be updated constantly -- a worst case scenario.

So that's why we cannot do that as of now. If/when we get cheaper storage and bandwidth, we'll add that new table.

PostPosted: Sun Dec 16, 2007 11:52 pm
by warrenn
SysKoll wrote:Unfortunately, that will require quite a large table and would have performance consequences. As of now, we just store a few dozen bytes foe the last eaten messages. Anything above that would require several hundreds of bytes per message. We'd suddenly have a huge table, and we need to back them up across the network.


I'm surprised about that. Can you explain a little more? I would have thought it could work just like the eaten table.

Could you give people the option of selecting which table they saw? So either you could see the last 3 eaten messages or the last 3 sent messages, but not both. Would that help with the space requirements?

PostPosted: Mon Dec 17, 2007 11:04 am
by josh
The background here is that the eaten message log itself is very heavy. In the early days, we experimented with preserving more information, and found that we very easily tanked the server when we pushed it too far - that's why you only get three, and why it's off by default. Only just over 13k users have it enabled, and that's about 8% of the user base.

On the other hand, it might be feasible to merely display the last three addresses to which a message was forwarded, without the extra information (like the sender, for instance), but it will still require a change to the database (adding another timestamp column to a table with over three million records) that we'd need to fret about a bit, because we don't have a good load testing environment.

PostPosted: Mon Dec 24, 2007 3:15 pm
by Paranoid2000
Being able to expand on the "Last Addresses" feature would seem an attractive option for "Pro" subscribers should SG ever consider going commercial. ;)

On the other hand, the mention of table sizing suggests that this information is collected and kept for every user, whether needed or not. If so, would it not be possible to save storage by just collecting data on a per user basis, using (say) a linked list since this isn't something that should need searching or sorting?

PostPosted: Sun Jan 13, 2008 1:36 am
by SysKoll
That would mean that we have two parallel data structure -- tables for the user and a linked list of opaque data for the last messages. That crossed my mind: I wanted to implement something similar using data kept in the file system.

However, it's a pretty dangerous data structure. It is very easy to lose sync between the two and it's hard to maintain in case of incidents. So we prefer to keep things inside tables unless it's both a vital function and absolutely impossible to implement with tables.