Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
What changed?
Moving structs in the
service/history
package to their own packagesThe handler is moved to it's own package with the interface (like in frontend)
The handler wrappers (
grpc
, andthrift
) are moved to their own packages underwrapped
(like in frontend)The engine implementation is moved to it's own package as there was a circular dependency
history (service) -> handler -> history (engine)
and the engine implementation cannot be in the same package as the engine interface, as there is a dependency
engineimpl -> shard -> engine (Interface)
Moved all the error values in handler to a constants package as at least one of them (ErrRunIDNotValid) is referenced from two different packages (
handler
andengineimpl
tests)Why?
We should not have this much in the same package
Also when
service
andhandler
are in the same package we cannot introduce wrappers aroundhandler
in any other package thanhistory
as that will create a circular dependency:history (service) -> wrapper -> history (handler)
How did you test it?
Ran unit tests
Potential risks
It just moves things around, so no real code changes
Release notes
Documentation Changes