-
Notifications
You must be signed in to change notification settings - Fork 73
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
Communication mechanism for js #289
Communication mechanism for js #289
Conversation
Signed-off-by: Varun Jain <varunudr@amazon.com>
Signed-off-by: Varun Jain <varunudr@amazon.com>
Signed-off-by: Varun Jain <varunudr@amazon.com>
Signed-off-by: Varun Jain <varunudr@amazon.com>
src/main/java/org/opensearch/jobscheduler/JobSchedulerPlugin.java
Outdated
Show resolved
Hide resolved
src/main/java/org/opensearch/jobscheduler/JobSchedulerPlugin.java
Outdated
Show resolved
Hide resolved
src/test/java/org/opensearch/jobscheduler/transport/GetJobTypeTransportActionTests.java
Outdated
Show resolved
Hide resolved
Codecov Report
@@ Coverage Diff @@
## main #289 +/- ##
=============================================
- Coverage 52.33% 39.58% -12.76%
- Complexity 65 90 +25
=============================================
Files 8 14 +6
Lines 449 811 +362
Branches 50 82 +32
=============================================
+ Hits 235 321 +86
- Misses 195 469 +274
- Partials 19 21 +2
Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here. |
Signed-off-by: Varun Jain <varunudr@amazon.com>
Signed-off-by: Varun Jain <varunudr@amazon.com>
Signed-off-by: Varun Jain <varunudr@amazon.com>
Signed-off-by: Varun Jain <varunudr@amazon.com>
92e5a15
to
5eb8dc5
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Doing an initial pass
src/main/java/org/opensearch/jobscheduler/JobSchedulerPlugin.java
Outdated
Show resolved
Hide resolved
src/main/java/org/opensearch/jobscheduler/constant/CommonValue.java
Outdated
Show resolved
Hide resolved
src/main/java/org/opensearch/jobscheduler/model/JobDetails.java
Outdated
Show resolved
Hide resolved
src/main/java/org/opensearch/jobscheduler/rest/RestGetJobIndexAction.java
Show resolved
Hide resolved
src/main/java/org/opensearch/jobscheduler/utils/RestHandlerUtils.java
Outdated
Show resolved
Hide resolved
src/test/java/org/opensearch/jobscheduler/rest/RestGetJobIndexActionTests.java
Outdated
Show resolved
Hide resolved
src/test/java/org/opensearch/jobscheduler/rest/RestGetJobTypeActionTests.java
Outdated
Show resolved
Hide resolved
src/test/java/org/opensearch/jobscheduler/transport/GetJobTypeTransportActionTests.java
Outdated
Show resolved
Hide resolved
src/test/java/org/opensearch/jobscheduler/transport/GetJobTypeTransportActionTests.java
Outdated
Show resolved
Hide resolved
src/test/java/org/opensearch/jobscheduler/transport/GetJobIndexTransportActionTests.java
Outdated
Show resolved
Hide resolved
src/test/java/org/opensearch/jobscheduler/rest/RestGetJobTypeActionTests.java
Outdated
Show resolved
Hide resolved
src/test/java/org/opensearch/jobscheduler/rest/RestGetJobTypeActionTests.java
Outdated
Show resolved
Hide resolved
src/main/java/org/opensearch/jobscheduler/rest/RestGetJobTypeAction.java
Outdated
Show resolved
Hide resolved
src/test/java/org/opensearch/jobscheduler/rest/RestGetJobIndexActionTests.java
Outdated
Show resolved
Hide resolved
src/main/java/org/opensearch/jobscheduler/rest/RestGetJobIndexAction.java
Outdated
Show resolved
Hide resolved
src/main/java/org/opensearch/jobscheduler/JobSchedulerPlugin.java
Outdated
Show resolved
Hide resolved
Signed-off-by: Varun Jain <varunudr@amazon.com>
Signed-off-by: Varun Jain <varunudr@amazon.com>
src/main/java/org/opensearch/jobscheduler/JobSchedulerPlugin.java
Outdated
Show resolved
Hide resolved
src/main/java/org/opensearch/jobscheduler/model/JobDetails.java
Outdated
Show resolved
Hide resolved
src/main/java/org/opensearch/jobscheduler/transport/GetJobIndexRequest.java
Show resolved
Hide resolved
src/main/java/org/opensearch/jobscheduler/utils/RestHandlerUtils.java
Outdated
Show resolved
Hide resolved
src/test/java/org/opensearch/jobscheduler/rest/RestGetJobIndexActionTests.java
Outdated
Show resolved
Hide resolved
src/test/java/org/opensearch/jobscheduler/rest/RestGetJobIndexActionTests.java
Outdated
Show resolved
Hide resolved
src/test/java/org/opensearch/jobscheduler/rest/RestGetJobTypeActionTests.java
Outdated
Show resolved
Hide resolved
src/test/java/org/opensearch/jobscheduler/transport/GetJobTypeTransportActionTests.java
Outdated
Show resolved
Hide resolved
src/test/java/org/opensearch/jobscheduler/transport/GetJobTypeTransportActionTests.java
Outdated
Show resolved
Hide resolved
Signed-off-by: Varun Jain <varunudr@amazon.com>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
Signed-off-by: Varun Jain <varunudr@amazon.com>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks great!
Signed-off-by: Varun Jain <varunudr@amazon.com>
Signed-off-by: Varun Jain <varunudr@amazon.com>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Doing an initial pass
src/test/java/org/opensearch/jobscheduler/ODFERestTestCase.java
Outdated
Show resolved
Hide resolved
src/test/java/org/opensearch/jobscheduler/ODFERestTestCase.java
Outdated
Show resolved
Hide resolved
src/test/java/org/opensearch/jobscheduler/multinode/GetJobDetailsMultiNodeRestIT.java
Outdated
Show resolved
Hide resolved
src/test/java/org/opensearch/jobscheduler/multinode/GetJobDetailsMultiNodeRestIT.java
Outdated
Show resolved
Hide resolved
src/test/java/org/opensearch/jobscheduler/rest/RestGetJobIndexActionTests.java
Outdated
Show resolved
Hide resolved
src/test/java/org/opensearch/jobscheduler/rest/RestGetJobIndexActionTests.java
Outdated
Show resolved
Hide resolved
src/test/java/org/opensearch/jobscheduler/rest/RestGetJobTypeActionTests.java
Outdated
Show resolved
Hide resolved
I dont think I can get to this today, feel free to merge the changes if you get the approvals.
Signed-off-by: Varun Jain <varunudr@amazon.com>
Signed-off-by: Varun Jain <varunudr@amazon.com>
Signed-off-by: Varun Jain <varunudr@amazon.com>
@@ -238,7 +240,8 @@ task integTestRemote(type: RestIntegTestTask) { | |||
systemProperty "security", System.getProperty("security") | |||
systemProperty "user", System.getProperty("user") | |||
systemProperty "password", System.getProperty("password") | |||
|
|||
systemProperty 'tests.rest.cluster', 'localhost:9200' |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
(Style) Something about hardcoding a port here seems off to me, but I'm not sure what a better choice is. So probably ok.
* | ||
* @param extensionId unique id to find the job details document in the index | ||
* @param listener an {@code ActionListener} that has onResponse and onFailure that is used to return the job details if it was found | ||
* * or else null. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
(Nit) stray *
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ack
* | ||
* @param extensionId unique id to find and delete the job details document in the index | ||
* @param listener an {@code ActionListener} that has onResponse and onFailure that is used to return the job details if it was deleted | ||
* * or else null. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
another stray *
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ack
* @param updateJobDetails update job details object entry | ||
* @param extensionId unique id to find and update the corresponding document mapped to it | ||
* @param listener an {@code ActionListener} that has onResponse and onFailure that is used to return the job details if it was updated | ||
* * or else null. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
copypaste *?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ack
/** | ||
* | ||
* @param listener an {@code ActionListener} that has onResponse and onFailure that is used to return the job details index if it was created | ||
* * or else null. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Going to stop tagging these *'s now.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ack
isJobIndexRequest = true; | ||
if (jobIndexName == null) { | ||
listener.onFailure(new IllegalArgumentException("Job Index Name should not be null")); | ||
} else if (jobParameterActionName == null) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Since none of these can be null, seems we should include all of them in one exception. So a single if check whether any are null, and an IAE listing which ones are null.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
done
} | ||
} | ||
if (extensionId == null) { | ||
listener.onFailure(new IllegalArgumentException("Extension Id should not be null")); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
"Should" or "must" have formalized meaning in standards. Must is absolutely a requirement (error if wrong) while should is a recommendation. These error messages should conform.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
done
return Settings.builder() | ||
// disable the warning exception for admin client since it's only used for cleanup. | ||
.put("strictDeprecationMode", false) | ||
.put("http.port", 9200) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can we make the 9200 a constant at the top of the class?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
done
src/test/java/org/opensearch/jobscheduler/multinode/GetJobDetailsMultiNodeRestIT.java
Show resolved
Hide resolved
Signed-off-by: Varun Jain <varunudr@amazon.com>
Signed-off-by: Varun Jain <varunudr@amazon.com>
Signed-off-by: Varun Jain <varunudr@amazon.com>
Signed-off-by: Varun Jain <varunudr@amazon.com>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM other than the exception handling for the timeouts.
src/main/java/org/opensearch/jobscheduler/rest/RestGetJobIndexAction.java
Show resolved
Hide resolved
Signed-off-by: Varun Jain <varunudr@amazon.com>
@Override | ||
public void onFailure(Exception e) { | ||
logger.info("could not process job index", e); | ||
jobDetailsResponseHolder[0] = null; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This isn't necessary as the value is already null from the array instantiation. It's reasonable from a readability standpoint to add a comment here indicating this remains null.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
done
|
||
try { | ||
inProgressFuture.orTimeout(JobDetailsService.TIME_OUT_FOR_REQUEST, TimeUnit.SECONDS); | ||
inProgressFuture.get(JobDetailsService.TIME_OUT_FOR_REQUEST, TimeUnit.SECONDS); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You don't need the timeout on both, they'll run sequentially. Suggest you do
inProgressFuture.orTimeout(JobDetailsService.TIME_OUT_FOR_REQUEST, TimeUnit.SECONDS).get();
... or .join()
which throws different types of exceptions, doesn't throw checked exceptions, and may be preferred depending on how you choose to handle the exceptions. Specifically, .get()
requires you to catch InterruptedException
and ExecutionException
) while .join()
does not.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
done
return channel -> { | ||
XContentBuilder builder = channel.newBuilder(); | ||
RestStatus restStatus = RestStatus.OK; | ||
String restResponse = jobDetailsResponseHolder[0] != null ? "success" : "failed"; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
(Style/Naming) So this isn't confused with the bytesRestResponse
, suggest either restResponseValue
or restResponseString
or similar here.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
done
|
||
try { | ||
inProgressFuture.orTimeout(JobDetailsService.TIME_OUT_FOR_REQUEST, TimeUnit.SECONDS); | ||
inProgressFuture.get(); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is the correct sequential way to handle (or you could chain .get()
on the previous line, or .join()
. Same comments regarding handling timeout exception differently than an exception during execution.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
done
return channel -> { | ||
XContentBuilder builder = channel.newBuilder(); | ||
RestStatus restStatus = RestStatus.OK; | ||
String restResponse = jobDetailsResponseHolder[0] != null ? "success" : "failed"; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Same comments regarding naming.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
done
} | ||
|
||
/** | ||
* |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Need a description of what the method actually does.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
done
if (jobRunnerAction != null) { | ||
xContentBuilder.field(JOB_RUNNER_ACTION, jobRunnerAction); | ||
} | ||
return xContentBuilder.endObject(); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nulls are dangerous and usually best avoided. Personal preference is to try to use Optional
instead. I can be convinced to stick with null but will ask for it to be amply documented in that case.
Looking at all the classes in this PR, it seems that we always require jobType
to be non-null, but the other values are allowed to be null. That isn't obvious from looking at this class in isolation. I suggest:
- Test the value of
jobType
before returning here, and throw an appropriate parsing exception here if it is null. - Add the
@Nullable
annotation to the getters for the other three fields. - Add the
@Nullable
annotation to each of the (allowed to be null) parameters on the constructor. - Add a javadoc somewhere (perhaps the class itself, or this parsing method) indicating the allowed/disallowed nulls.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
done
Signed-off-by: Varun Jain <varunudr@amazon.com>
…#382) * Communication mechanism for js (#289) * Job Details from Extension for JS Signed-off-by: Varun Jain <varunudr@amazon.com> * Communication Mechanism for JS Signed-off-by: Varun Jain <varunudr@amazon.com> * Communication mechanism for JS Signed-off-by: Varun Jain <varunudr@amazon.com> * Communication mechanism for JS Signed-off-by: Varun Jain <varunudr@amazon.com> * Communication mechanism for JS Signed-off-by: Varun Jain <varunudr@amazon.com> * Communication mechanism for JS Signed-off-by: Varun Jain <varunudr@amazon.com> * Commnunication Mechanism for JS Signed-off-by: Varun Jain <varunudr@amazon.com> * Commnunication Mechanism for JS Signed-off-by: Varun Jain <varunudr@amazon.com> * Commnunication Mechanism for JS Signed-off-by: Varun Jain <varunudr@amazon.com> * Commnunication Mechanism for JS Signed-off-by: Varun Jain <varunudr@amazon.com> * Commnunication Mechanism for JS Signed-off-by: Varun Jain <varunudr@amazon.com> * Commnunication Mechanism for JS Signed-off-by: Varun Jain <varunudr@amazon.com> * Communication Mechanism for JS Signed-off-by: Varun Jain <varunudr@amazon.com> * Communication Mechanism for JS Signed-off-by: Varun Jain <varunudr@amazon.com> * Communication Mechanism for JS Signed-off-by: Varun Jain <varunudr@amazon.com> * Communication Mechanism for JS Signed-off-by: Varun Jain <varunudr@amazon.com> * Communication Mechanism for JS Signed-off-by: Varun Jain <varunudr@amazon.com> * Communication Mechanism for JS Signed-off-by: Varun Jain <varunudr@amazon.com> * Communication Mechanism for JS Signed-off-by: Varun Jain <varunudr@amazon.com> * Communication Mechanism for JS Signed-off-by: Varun Jain <varunudr@amazon.com> * Communication Mechanism for JS Signed-off-by: Varun Jain <varunudr@amazon.com> * Communication Mechanism for JS Signed-off-by: Varun Jain <varunudr@amazon.com> * Communication Mechanism for JS Signed-off-by: Varun Jain <varunudr@amazon.com> * Communication Mechanism for JS Signed-off-by: Varun Jain <varunudr@amazon.com> * Communication Mechanism for JS Signed-off-by: Varun Jain <varunudr@amazon.com> * Communication Mechanism for JS Signed-off-by: Varun Jain <varunudr@amazon.com> Signed-off-by: Varun Jain <varunudr@amazon.com> * [Extensions] Synchronize opensearch-plugin-job-details with JobDetailsService map (#299) * Added JobDetailsService as an indexOperationListener to synchronize metadata index with internal job details m and indicesToListen set. Signed-off-by: Joshua Palis <jpalis@amazon.com> * Changes indexToJobDetails to a ConcurrentMap, adds getter method for indexToJobDetails Signed-off-by: Joshua Palis <jpalis@amazon.com> * Addressing PR comments, fixing log message Signed-off-by: Joshua Palis <jpalis@amazon.com> * Addressing PR comments Signed-off-by: Joshua Palis <jpalis@amazon.com> * Added test to updateIndexToJobDetails Signed-off-by: Joshua Palis <jpalis@amazon.com> * Addressing PR comments, changing extensionId to extensionUniqueId Signed-off-by: Joshua Palis <jpalis@amazon.com> * Addressing PR Comments : Updating Job Details index Name and mapping file to opensearch-job-scheduler-job-details Signed-off-by: Joshua Palis <jpalis@amazon.com> * Addressing PR comments, enabling extensions to submit more than 1 job details entry to support extensions registering multiple types of jobs, updated all integration, multinode tests now that the rest response value is the document Id Signed-off-by: Joshua Palis <jpalis@amazon.com> * Renaming TestHelper base URI name Signed-off-by: Joshua Palis <jpalis@amazon.com> * Addressing PR comments, made multinode test request strings constant Signed-off-by: Joshua Palis <jpalis@amazon.com> Signed-off-by: Joshua Palis <jpalis@amazon.com> * [Extensions] Create a proxy ScheduledJobRunner, ScheduledJobParser to invoke corresponding registered Job Detail actions (#306) * Draft : Added JobParameterRequest to translate ScheduledJobParser parameters nto compatible inputs for the ExtensionActionRequest. Completed initial proxy scheduled job parser implementation. Added ExtensionJobParameter class to deserialize ExtensionActionResponsebyte array into an object of type ScheduledJobParameter Signed-off-by: Joshua Palis <jpalis@amazon.com> * Added JobRunnerRequest, modified JobExecutionContext to implement writeable, created initial proxy ScheduledJobRunner, fixed failing tests Signed-off-by: Joshua Palis <jpalis@amazon.com> * Added generic ExtensionJobActionRequest that extends ExtensionActionRequest, modified JobParameter/Runner request to implement writeable, refactored proxy object creation so that the requests are added to the ExtensionJobActionRequest, which in turn upcasts the request into an ExtensionActionRequest Signed-off-by: Joshua Palis <jpalis@amazon.com> * Added byte array constructors for the JobRunner/Parameter requests, added javadocs Signed-off-by: Joshua Palis <jpalis@amazon.com> * Fixing javadocs Signed-off-by: Joshua Palis <jpalis@amazon.com> * Fixing javadocs Signed-off-by: Joshua Palis <jpalis@amazon.com> * Added placeholder string for an eventual access token to be sent to extensions to validate prior to invoking an action Signed-off-by: Joshua Palis <jpalis@amazon.com> * Added ExtensionJobActionResponse, JobParameterResponse, JobRunnerResponse to facilitate the response of extension actions Signed-off-by: Joshua Palis <jpalis@amazon.com> * Fixing javadocs Signed-off-by: Joshua Palis <jpalis@amazon.com> * Added JobRunnerResponse handling Signed-off-by: Joshua Palis <jpalis@amazon.com> * Separating updateIndexToJobProviders into separate methods Signed-off-by: Joshua Palis <jpalis@amazon.com> * Fixing javadocs Signed-off-by: Joshua Palis <jpalis@amazon.com> * SpotlessApply Signed-off-by: Joshua Palis <jpalis@amazon.com> * Addressing PR comments Signed-off-by: Joshua Palis <jpalis@amazon.com> * Added tests for serialization/deserialization of JobExecutionContext, JobDocVersion, ExtensionJobParameter, ExtensionJobActionRequest, ExtensionJobActionResponse, JobRunner/JobParameter/Request/Response Signed-off-by: Joshua Palis <jpalis@amazon.com> * Writing ExtensionActionRequest/Response to bytestream output to test deserialization Signed-off-by: Joshua Palis <jpalis@amazon.com> * Fixing imports Signed-off-by: Joshua Palis <jpalis@amazon.com> * Changing to extensionActionResponse constructor Signed-off-by: Joshua Palis <jpalis@amazon.com> * Adding tests for updateIndexToJobProviders Signed-off-by: Joshua Palis <jpalis@amazon.com> * Addressing PR comments, added getters for lock duration seconds and jitter values, added javadocs to ScheduleType enum and made this public Signed-off-by: Joshua Palis <jpalis@amazon.com> * Removing Strings dependency from lock model to fix BWC tests Signed-off-by: Joshua Palis <jpalis@amazon.com> * Fixes BWC fullRestartClusterTask, rollingUpgradeClusterTask, oldVersionCluster task. mixedClusterTask is still failing Signed-off-by: Joshua Palis <jpalis@amazon.com> * Modified createProxyScheduledJobRunner to return the document Id of the extension job parameter entry within the registered job index, modifed the ExtensionJobParameter to null check the jitter value and setting this to 0.0 if null Signed-off-by: Joshua Palis <jpalis@amazon.com> --------- Signed-off-by: Joshua Palis <jpalis@amazon.com> * [Extensions] Exposes a GetLock REST API to enable extensions to acquire a lock model for their job execution (#311) * Added RestGetLockAction API, added AcquireLockRequest, enables extensions to retrieve a lock model object to run their Job Signed-off-by: Joshua Palis <jpalis@amazon.com> * Adding Lock ID field to RestGetLockAction response Signed-off-by: Joshua Palis <jpalis@amazon.com> * Added multi node integration tests for GetLockApi Signed-off-by: Joshua Palis <jpalis@amazon.com> * Making lock service in RestGetLockAction private Signed-off-by: Joshua Palis <jpalis@amazon.com> * Added Rest integration tests for RestGetLockAction Signed-off-by: Joshua Palis <jpalis@amazon.com> * Addressing PR comments Signed-off-by: Joshua Palis <jpalis@amazon.com> * Updating get lock rest path in tests Signed-off-by: Joshua Palis <jpalis@amazon.com> * Addressing PR comments Signed-off-by: Joshua Palis <jpalis@amazon.com> --------- Signed-off-by: Joshua Palis <jpalis@amazon.com> * Communication Mechanism Work Item 6 Release lock api (#312) * Release lock API Signed-off-by: Varun Jain <varunudr@amazon.com> * Release Lock API Signed-off-by: Varun Jain <varunudr@amazon.com> * Release Lock API Signed-off-by: Varun Jain <varunudr@amazon.com> * Release Lock API Signed-off-by: Varun Jain <varunudr@amazon.com> * Reformatting Signed-off-by: Varun Jain <varunudr@amazon.com> * Reformatting Signed-off-by: Varun Jain <varunudr@amazon.com> * Reformatting Signed-off-by: Varun Jain <varunudr@amazon.com> * Addressing Dan's Comments Signed-off-by: Varun Jain <varunudr@amazon.com> * Addressing Dan's Comments Signed-off-by: Varun Jain <varunudr@amazon.com> * Addressing Sarat's Comments Signed-off-by: Varun Jain <varunudr@amazon.com> * Addressing Sarat's Comments Signed-off-by: Varun Jain <varunudr@amazon.com> * Fixing test cases Signed-off-by: Varun Jain <varunudr@amazon.com> * Fixing test cases Signed-off-by: Varun Jain <varunudr@amazon.com> * Fixing ReleaseLocktestcase Signed-off-by: Varun Jain <varunudr@amazon.com> * Fixing ReleaseLocktestcase Signed-off-by: Varun Jain <varunudr@amazon.com> --------- Signed-off-by: Varun Jain <varunudr@amazon.com> * Bumping BWC version to 2.7 and Fixing xcontent imports (#322) * [Extensions] Add all fields of LockModel to RestGetLockAction response (#342) * Modifies the RestGetLockAction response to include all fields of the lock model object, rather than the lock model object itself Signed-off-by: Joshua Palis <jpalis@amazon.com> * Removing unused fields Signed-off-by: Joshua Palis <jpalis@amazon.com> * reverting field removal Signed-off-by: Joshua Palis <jpalis@amazon.com> * Adding lockID to back to response Signed-off-by: Joshua Palis <jpalis@amazon.com> * Adding checks to multinode get lock rest integration tests to ensure that all response fields are populated Signed-off-by: Joshua Palis <jpalis@amazon.com> * fixing lock time parsing Signed-off-by: Joshua Palis <jpalis@amazon.com> * Adds a new Response class to house serde logic for RestGetLockAction response Signed-off-by: Joshua Palis <jpalis@amazon.com> * Moving parser.nextToken() within AcquireLockResponse.parse() Signed-off-by: Joshua Palis <jpalis@amazon.com> * Implementing toXContentObject for AcquireLockRequest Signed-off-by: Joshua Palis <jpalis@amazon.com> * Moving AcquireLockResponse to transpor package Signed-off-by: Joshua Palis <jpalis@amazon.com> --------- Signed-off-by: Joshua Palis <jpalis@amazon.com> * Increasing JobDetailsService request timeoufrom 10 to 15, since the initial job detail registration request will initialize the job details metadata index, which takes some time (#346) Signed-off-by: Joshua Palis <jpalis@amazon.com> * Fixes serde logic for proxy scheduled jobrunner/parser requests/responses (#349) Signed-off-by: Joshua Palis <jpalis@amazon.com> * Fixes serde logic for JobParameterRequest/JobRunnerRequest. Removes extra trimming of request bytes for the streaminput constructor for the JobParameter/RunnerRequest, as this is already trimmed by the SDK prior to forwarding the actionrequest to the transport action (#351) Signed-off-by: Joshua Palis <jpalis@amazon.com> * [Extensions] Makes JobRunner/Parameter/Request/Response classes extend from ActionRequest/Response (#352) * Replaces ExtensionActionRequest class name with the JobParameter/RunnerRequest fully qualified class names, modifes JobParameter/Runner/Request/Response classes to extend from ActionRequest/Response Signed-off-by: Joshua Palis <jpalis@amazon.com> * Removes ExtensionJobActionResponse and fixes affected test classes Signed-off-by: Joshua Palis <jpalis@amazon.com> * Fixing javadocs Signed-off-by: Joshua Palis <jpalis@amazon.com> --------- Signed-off-by: Joshua Palis <jpalis@amazon.com> * Consuming breaking changes from moving ExtensionActionRequest (#381) Signed-off-by: Sarat Vemulapalli <vemulapallisarat@gmail.com> * spotless Signed-off-by: Joshua Palis <jpalis@amazon.com> * Fixing apache imports for TestHelpers class Signed-off-by: Joshua Palis <jpalis@amazon.com> * Modofies ODFERestTestCase to work with 2.x Signed-off-by: Joshua Palis <jpalis@amazon.com> * Fixing wipeAllODFEIndices Signed-off-by: Joshua Palis <jpalis@amazon.com> --------- Signed-off-by: Varun Jain <varunudr@amazon.com> Signed-off-by: Joshua Palis <jpalis@amazon.com> Signed-off-by: Sarat Vemulapalli <vemulapallisarat@gmail.com> Co-authored-by: Varun Jain <varunudr@amazon.com> Co-authored-by: Sarat Vemulapalli <vemulapallisarat@gmail.com>
Description
Get Job Index and Get Job Type Api's to fetch job details for Job Scheduler
Issues Resolved
opensearch-project/opensearch-sdk-java#274
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.