Maria DB high volume of insert errors

When application observium is trying to write to mariadb there is a recurring error:

[2019/01/25 13:24:19 -0800] poller.php(142737): Failed dbQuery (#1114 - The table 'ports_cbqos' is full),
Query: INSERT INTO `ports_cbqos` (`device_id`,`port_id`,`policy_index`,`object_index`,`direction`,`PrePolicyPkt`,
`PrePolicyByte`,`PostPolicyByte`,`DropPkt`,`DropByte`,`NoBufDropPkt`)  
VALUES ('132','11977','301990276','301990277','output','0','0','0','0','0','')

This adds up to some 10GB of logging per day. This is running on centos. Any thoughts on how I could
fix this error? There appears to be plenty of disk space.
LVL 2
amigan_99Network EngineerAsked:
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

David FavorLinux/LXD/WordPress/Hosting SavantCommented:
The message The table 'ports_cbqos' is full suggests a disk is full or disk quota for user or database subsystem has been hit.

Take a look at /var/lib/mysql + look at ports_cbqos related file sizes, if that's the only table throwing the error.
David FavorLinux/LXD/WordPress/Hosting SavantCommented:
Just realized you're running CentOS... so you're a thrillseeker...

This may be related to an old version of CentOS running... with poorly configured ext4 filesystem.

Or might also be (more likely) your my.cnf file fails to enable innodb_file_per_table.

If you don't have innodb_file_per_table enabled, then best check the MariaDB docs for version your running about how to fix this.

I'd likely do this...

1) service mysql stop

2) mkdir /var/lib/mysql.bak

3) rsync -av /var/lib/mysql/. /var/lib/mysql.bak/.

4) Add innodb_file_per_table to your /etc/my.cnf file or equivalent.

5) service mysql start

Then track your /var/log/syslog or equivalent or /var/log/mysql/mariadb-error.log might be the file.

Track the daemon startup + see if the MariaDB version you're running is smart enough to auto split all files out of a single file to a file per table. I'm unsure if this actually works. If everything circles the drain, then you'll have to stop mysql + sync your /var/lib/mysql.bak directory over /var/lib/mysql again to revert.

Then do a mysqldump of all tables.

Destroy all your tables. Restart mysql with innodb_file_per_table enabled + reload all your databases.

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
amigan_99Network EngineerAuthor Commented:
Thank you again David.
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
MariaDB

From novice to tech pro — start learning today.