-
Notifications
You must be signed in to change notification settings - Fork 17
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
Use WarningException, expand CommandResultBuilder #1519
Conversation
Changes the warnings associated commands to use the new ApiExcpetions, and `warnings` in the return status now returns a list of error object V2. To do that needed to improve the way CommandResult was built, so it always had a status map so the CommandProcessor could append a warning. To do that expanded the CommandResultBuilder added for the OperationAttempts, removed the many overloads used for CommandResult, and updated all creation of the CommandResult to use the builder. See also #1518 to continue this
…cResponses Missed adding errors to the CommandResult builder for per document responses in InsertOperationPage
I have a philosophical objection here: Exceptions should be used for Exceptional situations, failures, and not as internal communication mechanism (i.e. not for convenience). And warnings by their nature are not such things. Beyond philosophical part, Exceptions are also rather expensive things to use wrt performance: they are inefficient things to use if (although only if) created fresh, with stack traces. So I am not sure we should take this approach for generating warnings as part of response payload. |
- change CommandErrorV2 property to match bean style - change CreateKeyspaceIntegrationTest to get new response warning
I can make the WarningException overirde
Yup I was optimising for managing the content in the yaml file, and having a standard structure for errors and warnings. |
and made both create and drop tests check the names of the commands in the message
- our schema cache was not invalidating when a table was changed, so we would always give out missing index errors rather than errors when index was there but did not support the operation - updated integration tests for the full error in the warning, and made them check the id for the warning - big fix, we were not turning on allow filtering when doing a comparison query for some data types on indexed columns
@tatu-at-datastax created this to track the change to not use a full exception #1549 |
src/main/java/io/stargate/sgv2/jsonapi/api/model/command/DeprecatedCommand.java
Show resolved
Hide resolved
src/main/java/io/stargate/sgv2/jsonapi/service/cqldriver/SchemaChangeListener.java
Show resolved
Hide resolved
src/main/java/io/stargate/sgv2/jsonapi/api/model/command/CommandResultBuilder.java
Outdated
Show resolved
Hide resolved
src/main/java/io/stargate/sgv2/jsonapi/service/processor/CommandProcessor.java
Show resolved
Hide resolved
there is a bug where the data element was not returned when there were not document, these were not found by exiting tests tests updated to check the top three fields in the response are present as expected see ResponseAssertions
failing tests in placed for data element not been added in the command result
Fixes #1497
Changes the warnings associated commands to use the new ApiExcpetions,
and
warnings
in the return status now returns a list of error object V2.To do that needed to improve the way CommandResult was built, so it always
had a status map so the CommandProcessor could append a warning. To do that
expanded the CommandResultBuilder added for the OperationAttempts, removed
the many overloads used for CommandResult, and updated all creation of the
CommandResult to use the builder.
See also #1518 to continue this
What this PR does:
Which issue(s) this PR fixes:
Fixes #
Checklist