Conversation
Signed-off-by: Bharathwaj G <bharath78910@gmail.com>
Signed-off-by: Bharathwaj G <bharath78910@gmail.com>
Signed-off-by: Bharathwaj G <bharath78910@gmail.com>
Signed-off-by: Bharathwaj G <bharath78910@gmail.com>
Signed-off-by: Bharathwaj G <bharath78910@gmail.com>
8f23568 to
3e23f9d
Compare
Signed-off-by: Bharathwaj G <bharath78910@gmail.com>
3e23f9d to
d67e389
Compare
eirsep
left a comment
There was a problem hiding this comment.
Thanks for making these changes @bharath-techie.
Have comments on few code structuring
Skimmed through PR. Will take a deeper look and review along with test cases once rest tests, functional tests etc. are added.
| public static final String FREE_CONTEXT_PIT_ACTION_NAME = "indices:data/read/search[free_context/pit]"; | ||
| public static final String FREE_CONTEXT_ACTION_NAME = "indices:data/read/search[free_context]"; | ||
| public static final String CLEAR_SCROLL_CONTEXTS_ACTION_NAME = "indices:data/read/search[clear_scroll_contexts]"; | ||
| public static final String DELETE_ALL_PIT_CONTEXTS_ACTION_NAME = "indices:data/read/search[delete_pit_contexts]"; |
There was a problem hiding this comment.
variable name and action name should be consistent for delete all should be consistent with
public static final String FREE_CONTEXT_PIT_ACTION_NAME = "indices:data/read/search[free_context/pit]";
| transportService.sendRequest( | ||
| connection, | ||
| FREE_CONTEXT_PIT_ACTION_NAME, | ||
| new ScrollFreeContextRequest(contextId), |
| ); | ||
| } | ||
|
|
||
| public void sendDeleteAllPitContexts(Transport.Connection connection, final ActionListener<TransportResponse> listener) { |
There was a problem hiding this comment.
let's make it uniform and call it freeAllPitContexts maybe
| DELETE_ALL_PIT_CONTEXTS_ACTION_NAME, | ||
| TransportRequest.Empty.INSTANCE, | ||
| TransportRequestOptions.EMPTY, | ||
| new ActionListenerResponseHandler<>(listener, (in) -> TransportResponse.Empty.INSTANCE) |
There was a problem hiding this comment.
why is this returning an empty transport response?
server/src/main/java/org/opensearch/action/search/TransportDeletePITAction.java
Outdated
Show resolved
Hide resolved
| for (SearchContextIdForNode contextId : contexts) { | ||
| final DiscoveryNode node = nodeLookup.apply(contextId.getClusterAlias(), contextId.getNode()); | ||
| if (node == null) { | ||
| groupedListener.onFailure(new OpenSearchException("node not connected")); |
There was a problem hiding this comment.
"node not found" maybe? How do we know node even exists
| /** | ||
| * Delete all active PIT reader contexts | ||
| */ | ||
| void deleteAllPits(ActionListener<DeletePITResponse> listener) { |
There was a problem hiding this comment.
can we move this to a separate handler class which would enable us to do better functional testing?
| /** | ||
| * Delete list of pits, return success if all reader contexts are deleted ( or not found ). | ||
| */ | ||
| void deletePits(List<SearchContextIdForNode> contexts, ActionListener<Integer> listener) { |
There was a problem hiding this comment.
can we move this to a separate handler class which would enable us to do better functional testing?
There was a problem hiding this comment.
unlike create pit (where mocking the transport action didn't give us the desired results), i was able to mock and write functional tests without segregating the methods into a separate file.
| }, listener::onFailure); | ||
| } | ||
|
|
||
| private StepListener<BiFunction<String, String, DiscoveryNode>> getLookupListener(List<SearchContextIdForNode> contexts) { |
There was a problem hiding this comment.
this seems like a reusable method between create/delete/pit or on those lines. redundant? Maybe all in one service class can harness common functionalities better?
There was a problem hiding this comment.
not reusable since signature and hence logic is different between create and delete.
| return lookupListener; | ||
| } | ||
|
|
||
| private ActionListener<DeletePITResponse> getGroupedListener(ActionListener<DeletePITResponse> deletePitListener, int size) { |
There was a problem hiding this comment.
why a separate method for this if its used only once and is private hence not even being called in unit tests?
Signed-off-by: Bharathwaj G <bharath78910@gmail.com>
Signed-off-by: Bharathwaj G <bharath78910@gmail.com>
Signed-off-by: Bharathwaj G <bharath78910@gmail.com>
6cda616 to
730afa8
Compare
Signed-off-by: Bharathwaj G <bharath78910@gmail.com>
7a77f7b to
929800d
Compare
Signed-off-by: Bharathwaj G <bharath78910@gmail.com>
f65aa43 to
35d8cc4
Compare
Signed-off-by: Bharathwaj G <bharath78910@gmail.com>
100e1ea to
d2e972b
Compare
Bumps com.diffplug.spotless from 6.5.2 to 6.6.1. --- updated-dependencies: - dependency-name: com.diffplug.spotless dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…pensearch-project#3361) * Bump grpc-context from 1.45.1 to 1.46.0 in /plugins/repository-gcs Bumps [grpc-context](https://github.com/grpc/grpc-java) from 1.45.1 to 1.46.0. - [Release notes](https://github.com/grpc/grpc-java/releases) - [Commits](grpc/grpc-java@v1.45.1...v1.46.0) --- updated-dependencies: - dependency-name: io.grpc:grpc-context dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> * Updating SHAs Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: dependabot[bot] <dependabot[bot]@users.noreply.github.com>
…ensearch-project#3371) Signed-off-by: Suraj Singh <surajrider@gmail.com>
…h-project#3364) Signed-off-by: Ankit Jain <jain.ankitk@gmail.com>
Signed-off-by: Bharathwaj G <bharath78910@gmail.com>
* Create Point In Time API changes Signed-off-by: Bharathwaj G <bharath78910@gmail.com>
Description
Changes for delete pit api ( single, list and all )
Issues Resolved
[List any issues this PR will resolve]
Check List
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.