Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fully refactor the entire codebase. #22

Merged
merged 16 commits into from
Jun 21, 2024
Merged

Fully refactor the entire codebase. #22

merged 16 commits into from
Jun 21, 2024

Conversation

knadh
Copy link
Contributor

@knadh knadh commented Apr 29, 2024

Fully refactor the entire codebase.

  • Split and cleanly separate the main package into
    relay/producer/source_pool controllers.
  • Restructure files and internal packages.
  • Rewrite, simplify, and detatch polling and healthcheck logic spread
    across relay and consumer sources into cleaner abstractions.
  • Simplify relay to only do relaying and not handle server management.
  • Rewrite the old multi-config based consumer into a new "source pool"
    controller that acts like a connection pool and hides away all server
    management and healthcheck complexities.
  • Remove and simplify redundant util methods structs.
  • Simplify and rewrite orchestration logic in multiple places:
    relay, source pool management, healthchecks.
  • Simplify config structure and config initialization across
    controllers.
  • Simplify main.go to do initialization and composition only.

knadh added 2 commits April 25, 2024 12:38
- Refactor and cleanup config definition in TOML file by removing
  redundant keys, renaming and consolidating topic config.
- Refactor internal functions with cleaner config sharing and handling.
- Refactor internal topic maps to map:struct{} to carry metadata
  including partition.
@joeirimpan
Copy link
Member

Can you rebase with develop and raise it to develop?

@knadh knadh force-pushed the refactor branch 6 times, most recently from 337b717 to 006d35d Compare April 29, 2024 12:12
This is a large breaking change that almost fully refactors and rewrites
major parts of the codebase.

- Split and cleanly separate the main package into
  relay/producer/source_pool controllers.
- Restructure files and internal packages.
- Rewrite, simplify, and detatch polling and healthcheck logic spread
  across relay and consumer sources into cleaner abstractions.
- Simplify relay to only do relaying and not handle server management.
- Rewrite the old multi-config based consumer into a new "source pool"
  controller that acts like a connection pool and hides away all server
  management and healthcheck complexities.
- Remove and simplify redundant util methods structs.
- Simplify and rewrite orchestration logic in multiple places:
  relay, source pool management, healthchecks.
- Simplify config structure and config initialization across
  controllers.
- Simplify main.go to do initialization and composition only.
@knadh knadh requested a review from kalbhor June 21, 2024 09:22
@knadh knadh merged commit c0e47b7 into main Jun 21, 2024
@knadh knadh deleted the refactor branch September 19, 2024 05:49
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.

3 participants