Hi,
we use 7.7.3, and since some days we get database errors "The table 'ubbt_ONLINE' is full". So I emptied the table as suggested in other posts. But I can watch the table grow. My understanding is that there is an algorithm that deletes the entries that are older than [actual time - online time] (function clear_online() in libs/ubbthreads.inc.php):

PHP Code
function clear_online() {
	global $dbh, $config, $html;

	// Delete the inactive users
	if (!isset($config['ONLINE_TIME'])) {
		$config['ONLINE_TIME'] = 10;
	}

	$Outdated = $html->get_date() - ($config['ONLINE_TIME'] * 60);
	$query = "
		DELETE FROM {$config['TABLE_PREFIX']}ONLINE
		WHERE ONLINE_LAST_ACTIVITY < ?
	";
	$dbh->do_placeholder_query($query, array($Outdated), __LINE__, __FILE__);

} 


I have set the "ONLINE_TIME" to 2 minutes. But the table entry with the oldest date in ONLINE_LAST_ACTIVITY has "1696835913", which is 5 hours ago counted from now. Why don't get these old entries deleted?

When is clear_online() triggered? It seems as if it won't be triggered or the variable $Outdated has a bad value.


What I've seen is that we have a lot of visits from a spider:
Mozilla/5.0 (Linux; Android 5.0) AppleWebKit/537.36 (KHTML, like Gecko) Mobile Safari/537.36 (compatible; Bytespider; [email protected])
This is the reason for the fast growing, but nevertheless old entries should be deleted.


Thanks in advance for some hints...

Daniel
Forum: www.gefahrgut-foren.de


EDIT: I just saw that automatic deletion is working. But one question still remains: What is the trigger for the automatic deletion?
Thanks!

Last edited by DanielH; 10/09/2023 9:52 AM.