Skip to content

CXXCBC-598: Columnar - propagate bootstrap errors to HTTP operations#666

Merged
thejcfactor merged 2 commits intocouchbase:mainfrom
thejcfactor:CXXCBC-598
Oct 2, 2024
Merged

CXXCBC-598: Columnar - propagate bootstrap errors to HTTP operations#666
thejcfactor merged 2 commits intocouchbase:mainfrom
thejcfactor:CXXCBC-598

Conversation

@thejcfactor
Copy link
Copy Markdown
Contributor

Changes

  • Create and error_union type of std::variant<std::monostate, std::error_code, impl::bootstrap_error> that can be passed around to Columnar callbacks
  • Allow the http_session_manager drain queue to accept an error_union
  • Update error message in certain contexts to indicate a bootstrap error is the reason the HTTP operation failed.
  • Confirm columnar testing passes

Changes
=======
* Create and error_union type of std::variant<std::monostate,
  std::error_code, impl::bootstrap_error> that can be passed around to
Columnar callbacks
* Allow the http_session_manager drain queue to accept an error_union
* Update error message in certain contexts to indicate a bootstrap error
  is the reason the HTTP operation failed.
* Confirm columnar testing passes
Comment thread core/columnar/query_component.cxx
@thejcfactor thejcfactor marked this pull request as ready for review October 1, 2024 16:36
Copy link
Copy Markdown
Contributor

@DemetrisChr DemetrisChr left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

I think eventually we want to use a non-columnar equivalent of couchbase::core::columnar::error in the HTTP component & when draining the deferred queue in the session manager (and in the core API more broadly). That might allow us to remove the error union from the HTTP operation signature in the agent, which could be cleaner. But that's something to consider later on as it would be a bigger change.

@thejcfactor
Copy link
Copy Markdown
Contributor Author

Yes! I agree. At first I tried to work through a more generic approach, but realized how pervasive the change would need to be so I reverted to something I thought would be more pointed and less evasive.

@thejcfactor thejcfactor merged commit ae5370d into couchbase:main Oct 2, 2024
@thejcfactor thejcfactor deleted the CXXCBC-598 branch October 2, 2024 23:41
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