Fix encoded taskId check in chatHandlerResource #7520
Merged
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.
ChatHandler
is an interface to provide RESTful APIs and some tasks are using it to communicate with other Druid modules. When a chatHanlder API is called,ChatHandlerResource
checks the current running task is the expected callee. Before 0.14, it checkedtaskId
as it is, but after #6761, it encodestaskId
before comparing it. This breaks the backwards compatibility, especially when middleManagers of different versions are running in the same cluster. IftaskId
doesn't match,ChatHandlerResource
returns null which just returnsNOT_FOUND
error (404) with no message which makes debugging harder.This PR fixes the compatibility issue and improves
ChatHandlerResource
to returnBAD_REQUEST
error with a proper message whentaskId
doesn't match.