Release Date: 2025-11-22 Type: Patch Release (Log Noise Reduction)
Version 1.2.5 is a patch release that addresses excessive warning logs in production environments with multi-table databases. When only specific tables are replicated, binlog events for non-replicated tables were incorrectly logged at warning level, causing significant log noise.
Problem: In production environments with multiple tables in the MySQL database where only specific tables are configured for replication in MygramDB, warning logs were generated for every binlog event (INSERT/UPDATE/DELETE) on non-replicated tables.
Impact:
- Log files filled with repetitive warning messages
- Difficult to identify actual issues in logs
- Unnecessary disk I/O and storage consumption
- Performance overhead from excessive logging
Example Log Output (Before Fix):
[2025-11-22 01:05:43.558] [warning] {"event":"mysql_binlog_warning","type":"unknown_table_id","event_type":"update_rows","table_id":"88"}
[2025-11-22 01:05:46.661] [warning] {"event":"mysql_binlog_warning","type":"unknown_table_id","event_type":"update_rows","table_id":"88"}
[2025-11-22 01:05:47.903] [warning] {"event":"mysql_binlog_warning","type":"unknown_table_id","event_type":"update_rows","table_id":"88"}
... (hundreds or thousands of similar entries)Solution:
- Changed log level from
warningtodebugfor unknown table ID events - Changed event type from
mysql_binlog_warningtomysql_binlog_debug - Applied to all three binlog event handlers: write_rows, update_rows, delete_rows
Technical Details:
- Modified:
src/mysql/binlog_event_parser.cpp - Changed 3 locations (lines 208, 296, 388)
- Events for non-replicated tables are now logged only when debug logging is enabled
Root Cause: These events are expected behavior for databases with multiple tables when only specific tables are configured for replication. They should not be treated as warnings but as informational debug events.
No configuration changes required. This is a transparent log level adjustment.
Upgrade Steps:
Docker users:
# Pull the new image
docker pull ghcr.io/libraz/mygram-db:v1.2.5
# Or update docker-compose.yml
services:
mygramdb:
image: ghcr.io/libraz/mygram-db:v1.2.5RPM users:
# Download and install new RPM
sudo rpm -Uvh mygramdb-1.2.5-1.el9.x86_64.rpmSource build:
git checkout v1.2.5
cmake -B build -DCMAKE_BUILD_TYPE=Release
cmake --build build --parallelIf you want to see these debug events for troubleshooting:
Change log level in configuration:
logging:
level: "debug" # Change from "info" or "warning"Or set environment variable:
export LOG_LEVEL=debugIf issues arise, rollback is straightforward:
# Docker
docker pull ghcr.io/libraz/mygram-db:v1.2.4
# RPM
sudo rpm -Uvh --oldpackage mygramdb-1.2.4-1.el9.x86_64.rpmMySQL Versions:
- MySQL 8.0.x ✓
- MySQL 8.4.x ✓
- MariaDB 10.x ✓
Operating Systems:
- Linux (all major distributions)
- macOS (development/testing)
Breaking Changes: None
Deprecated Features: None
Positive performance impact:
- Reduced disk I/O from excessive logging
- Lower CPU usage from log processing
- Reduced log file storage requirements
- In busy production systems with frequent updates to non-replicated tables, this can significantly reduce logging overhead
- Cleaner Logs: Warning-level logs now contain only actual issues requiring attention
- Easier Debugging: Real problems are no longer buried in noise
- Reduced Storage: Less disk space consumed by log files
- Better Performance: Lower I/O and CPU overhead from logging
- Operational Efficiency: Easier log monitoring and alerting
None.
Priority: Medium for production systems with:
- Multi-table MySQL databases
- Only specific tables replicated to MygramDB
- Active log monitoring or alerting
- Limited disk space for logs
Priority: Low for:
- Single-table replication setups
- Development/testing environments
- Systems without active log monitoring
This issue was discovered during production verification of v1.2.4 on europa-mydb02v3 server, where table ID 88 (non-replicated table) generated warnings for every update operation.
- @libraz
Questions or Issues? Please open an issue on GitHub Issues