Skip to content

PBS-37 feature: Combine binlog_server with minimysql_server into a single executable (part 2)#158

Merged
percona-ysorokin merged 1 commit into
Percona-Lab:mainfrom
percona-ysorokin:combined_binary_binlog_server_app_refactoring
Jul 3, 2026
Merged

PBS-37 feature: Combine binlog_server with minimysql_server into a single executable (part 2)#158
percona-ysorokin merged 1 commit into
Percona-Lab:mainfrom
percona-ysorokin:combined_binary_binlog_server_app_refactoring

Conversation

@percona-ysorokin

Copy link
Copy Markdown
Collaborator

https://perconadev.atlassian.net/browse/PBS-37

Global refactoring in the main "binlog_server" top-level code ('app.cpp'):

  • Created an abstract interface for program execution modes ('operations::basic_operation').
  • Logic of individual commands (fetch/pull, list, search_by_timestamp, search_by_gtid_set, purge_binlogs, and version) put into separate classes.
  • Created 'operations::operation_factory' class that auto-registers all concrete 'basic_operation' derived classes and simplifies construction by operation mode name.
  • A set of functions used to log info from various PBS entities (config sections, storage, reader_context, connection, etc.) put into a separate file 'operations/logger_helpers.hpp'
  • 'binsrv::operation_mode_type' moved into 'operations::mode_type'
  • A set of functions used to generate ROTATE / FORMAT_DESCRIPTION / PREVIOUS_GTIDS_LOG events in the rewrite mode put into a separate file 'operations/event_generation_helpers.hpp'

…ngle executable (part 2)

https://perconadev.atlassian.net/browse/PBS-37

Global refactoring in the main "binlog_server" top-level code ('app.cpp'):
- Created an abstract interface for program execution modes
  ('operations::basic_operation').
- Logic of individual commands (fetch/pull, list, search_by_timestamp,
  search_by_gtid_set, purge_binlogs, and version) put into separate classes.
- Created 'operations::operation_factory' class that auto-registers all concrete
  'basic_operation' derived classes and simplifies construction by operation mode
  name.
- A set of functions used to log info from various PBS entities (config sections,
  storage, reader_context, connection, etc.) put into a separate file
  'operations/logger_helpers.hpp'
- 'binsrv::operation_mode_type' moved into 'operations::mode_type'
- A set of functions used to generate ROTATE / FORMAT_DESCRIPTION /
  PREVIOUS_GTIDS_LOG events in the rewrite mode put into a separate file
  'operations/event_generation_helpers.hpp'
@percona-ysorokin percona-ysorokin merged commit bf0c238 into Percona-Lab:main Jul 3, 2026
8 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant