Skip to content
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 RemoteSegmentStoreDirectory instead of RemoteDirectory #4240

Merged

Conversation

sachinpkale
Copy link
Member

@sachinpkale sachinpkale commented Aug 17, 2022

Signed-off-by: Sachin Kale [email protected]

Description

Issues Resolved

Check List

  • New functionality includes testing.
    • All tests pass
  • New functionality has been documented.
    • New functionality has javadoc added
  • Commits are signed per the DCO using --signoff

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.

@sachinpkale sachinpkale requested review from a team and reta as code owners August 17, 2022 08:46
@github-actions
Copy link
Contributor

Gradle Check (Jenkins) Run Completed with:

@github-actions
Copy link
Contributor

Gradle Check (Jenkins) Run Completed with:

@sachinpkale
Copy link
Member Author

Checking and fixing the failing tests.

@github-actions
Copy link
Contributor

Gradle Check (Jenkins) Run Completed with:

this.isPrimary = indexShard.shardRouting.primary();
if (indexShard.shardRouting.primary()) {
try {
this.remoteDirectory.init();
Copy link
Collaborator

Choose a reason for hiding this comment

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

Why do we need to call init() here? RemoteSegmentStoreDirectory is supposed to be already initialized during construction

Copy link
Member Author

Choose a reason for hiding this comment

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

Let me think more about it and will provide update on this comment thread.

Copy link
Member Author

Choose a reason for hiding this comment

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

@reta You are right. I could not come up with a scenario where this would be required. Removed the code from constructor.

public void afterRefresh(boolean didRefresh) {
synchronized (this) {
try {
if (indexShard.shardRouting.primary()) {
Copy link
Collaborator

Choose a reason for hiding this comment

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

What happens if index shard was demoted to replica from primary? Shouldn't RemoteStoreRefreshListener reflect that? Otherewise we are risking to lose track of shard state when it is flipping between primary <-> replica

Copy link
Member Author

Choose a reason for hiding this comment

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

Only primary should be uploading the segments. If replica is demoted, this check makes sure that we stop uploading segments from replica. Ideally, NRTReplicationEngine should take of this. This if condition is added as a safety check.

Copy link
Collaborator

Choose a reason for hiding this comment

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

So in this case the usage of isPrimary property is not useful since it never reflects the actual state of the shard (if demoted from primary). I think we could drop it than

Copy link
Member Author

Choose a reason for hiding this comment

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

If the shard is demoted and promoted again, we need to make sure that we call RemoteSegmentStoreDirectory.init() to get the latest list of files from remote store (because it could be changed by another primary in the meantime).

Copy link
Collaborator

Choose a reason for hiding this comment

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

Ok, I will try to go step by step by step:

  • indexShard.shardRouting.primary() == true: if isPrimary was false, we set it to true and proceed with init()
  • the shard flips from primary to replica, indexShard.shardRouting.primary() == false, nothing happens to isPrimary, it is still, true (which is wrong)
  • the shard flips from replica to primary, indexShard.shardRouting.primary() == true and isPrimary is also true - the initialization call to init() won't happen anymore because the flip to replica was not reflected

Does it make sense?

Copy link
Member Author

Choose a reason for hiding this comment

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

Yeah, this is definitely a bug. Thanks for catching it. I will fix it and will add tests around it as you suggested in another comment.

Copy link
Member Author

Choose a reason for hiding this comment

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

@reta I changed the implementation and added tests. Please take a look again.

Copy link
Collaborator

Choose a reason for hiding this comment

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

Looks good, thanks!

@github-actions
Copy link
Contributor

Gradle Check (Jenkins) Run Completed with:

.forEach(localSegmentChecksumMap::remove);
}
}
} catch (EngineException e) {
Copy link
Collaborator

@reta reta Aug 17, 2022

Choose a reason for hiding this comment

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

Since we swallow all exceptions, what happens if shard was promoted to primary but segments were not refreshed due to some failures? Should we go back to replica mode? Or should we schedule the retry later on?

Copy link
Member Author

Choose a reason for hiding this comment

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

With the current implementation, we retry segment upload in the next refresh.

If the upload fails, we don't want to demote primary as the failure could be due to issues with remote segment store itself.

@github-actions
Copy link
Contributor

Gradle Check (Jenkins) Run Completed with:

@github-actions
Copy link
Contributor

Gradle Check (Jenkins) Run Completed with:

@codecov-commenter
Copy link

codecov-commenter commented Aug 18, 2022

Codecov Report

Merging #4240 (b5e98aa) into main (ee26e01) will increase coverage by 0.12%.
The diff coverage is 86.16%.

@@             Coverage Diff              @@
##               main    #4240      +/-   ##
============================================
+ Coverage     70.63%   70.76%   +0.12%     
- Complexity    57120    57269     +149     
============================================
  Files          4606     4606              
  Lines        274839   274956     +117     
  Branches      40241    40256      +15     
============================================
+ Hits         194130   194561     +431     
+ Misses        64411    64056     -355     
- Partials      16298    16339      +41     
Impacted Files Coverage Δ
...rc/main/java/org/opensearch/index/IndexModule.java 82.03% <ø> (ø)
...in/java/org/opensearch/indices/IndicesService.java 69.33% <ø> (-0.78%) ⬇️
...java/org/opensearch/index/shard/StoreRecovery.java 67.87% <60.00%> (-0.22%) ⬇️
...search/index/shard/RemoteStoreRefreshListener.java 78.31% <76.92%> (-14.80%) ⬇️
...a/org/opensearch/index/store/RemoteIndexInput.java 92.00% <83.33%> (-3.00%) ⬇️
...in/java/org/opensearch/index/shard/IndexShard.java 69.44% <100.00%> (+0.23%) ⬆️
...earch/index/store/RemoteSegmentStoreDirectory.java 99.28% <100.00%> (+2.31%) ⬆️
...ndex/store/RemoteSegmentStoreDirectoryFactory.java 94.44% <100.00%> (ø)
server/src/main/java/org/opensearch/node/Node.java 86.22% <100.00%> (+0.02%) ⬆️
...org/opensearch/index/shard/IndexShardTestCase.java 94.40% <100.00%> (+0.10%) ⬆️
... and 463 more

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

/**
* Guaranteed to throw an exception and leave the RemoteIndexInput unmodified.
* This method is not implemented as it is not used for the file transfer to/from the remote store.
*
* @throws UnsupportedOperationException always
*/
@Override
public long getFilePointer() {
public void seek(long pos) throws IOException {
Copy link
Collaborator

Choose a reason for hiding this comment

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

Just curious, why inputStream.skip(pos); was replaced with UnsupportedOperationException ?

Copy link
Member Author

Choose a reason for hiding this comment

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

The implementation was incorrect. This was pointed by @andrross earlier. seek() should provide functionality to go to the exact point provided by the pos argument. That means pos could be 0 and it will take you to the beginning of the inputStream. This requires special handling of the state which is not required at least for the V1 of remote store.

import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.times;
import static org.mockito.Mockito.doThrow;
public class RemoteStoreRefreshListenerTests extends IndexShardTestCase {
Copy link
Collaborator

Choose a reason for hiding this comment

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

Could you please add tests for RemoteStoreRefreshListener in case shard flips from primary to replicate or vise versa

@github-actions
Copy link
Contributor

Gradle Check (Jenkins) Run Completed with:

@github-actions
Copy link
Contributor

Gradle Check (Jenkins) Run Completed with:

@github-actions
Copy link
Contributor

Gradle Check (Jenkins) Run Completed with:

@sachinpkale sachinpkale requested a review from reta August 24, 2022 03:33
@github-actions
Copy link
Contributor

Gradle Check (Jenkins) Run Completed with:

Comment on lines -35 to +61
public RemoteStoreRefreshListener(Directory storeDirectory, Directory remoteDirectory) throws IOException {
this.storeDirectory = storeDirectory;
this.remoteDirectory = remoteDirectory;
// ToDo: Handle failures in reading list of files (GitHub #3397)
this.filesUploadedToRemoteStore = new HashSet<>(Arrays.asList(remoteDirectory.listAll()));
public RemoteStoreRefreshListener(IndexShard indexShard) {
this.indexShard = indexShard;
this.storeDirectory = indexShard.store().directory();
this.remoteDirectory = (RemoteSegmentStoreDirectory) ((FilterDirectory) ((FilterDirectory) indexShard.remoteStore().directory())
.getDelegate()).getDelegate();
this.primaryTerm = indexShard.getOperationPrimaryTerm();
localSegmentChecksumMap = new HashMap<>();
Copy link
Collaborator

Choose a reason for hiding this comment

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

would have preferred individual dependencies as supplier rather than a full IndexShard dependency, to protect against misuse

Copy link
Member Author

Choose a reason for hiding this comment

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

Yeah, I thought about that but there are different IndexShard methods (getOperationPrimaryTerm, getSegmentInfosSnapshot) that are getting called in the afterRefresh() flow.

Created #4316 to track this.

Comment on lines 374 to 376
public Map<String, UploadedSegmentMetadata> getSegmentsUploadedToRemoteStore() {
return this.segmentsUploadedToRemoteStore;
}
Copy link
Collaborator

Choose a reason for hiding this comment

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

should we return an unmodifiable map instead?

Comment on lines +409 to +423
for (String metadataFile : sortedMetadataFileList.subList(0, sortedMetadataFileList.size() - lastNMetadataFilesToKeep)) {
Map<String, UploadedSegmentMetadata> staleSegmentFilesMetadataMap = readMetadataFile(metadataFile);
Set<String> staleSegmentRemoteFilenames = staleSegmentFilesMetadataMap.values()
.stream()
.map(metadata -> metadata.uploadedFilename)
.collect(Collectors.toSet());
AtomicBoolean deletionSuccessful = new AtomicBoolean(true);
staleSegmentRemoteFilenames.stream().filter(file -> !activeSegmentRemoteFilenames.contains(file)).forEach(file -> {
try {
remoteDataDirectory.deleteFile(file);
if (!activeSegmentFilesMetadataMap.containsKey(getLocalSegmentFilename(file))) {
segmentsUploadedToRemoteStore.remove(getLocalSegmentFilename(file));
}
} catch (NoSuchFileException e) {
logger.info("Segment file {} corresponding to metadata file {} does not exist in remote", file, metadataFile);
Copy link
Collaborator

Choose a reason for hiding this comment

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

The underlying blobstore for remote store supports bulk deletes, do you think we could add a deleteFiles interface to leverage the same?

Copy link
Member Author

Choose a reason for hiding this comment

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

Yes, we can do that but that involves deviating from directory API that currently supports only single file delete. I am trying to keep the interface same as much as possible (making changes only if there is no other way).

Let me think more on this. I guess we can have a common solution for bulk upload (referring to your comment here) and delete.
I have created a tracking issue here: #4317

Comment on lines +138 to +159
boolean uploadNewSegments(Collection<String> localFiles) throws IOException {
AtomicBoolean uploadSuccess = new AtomicBoolean(true);
localFiles.stream().filter(file -> !EXCLUDE_FILES.contains(file)).filter(file -> {
try {
return !remoteDirectory.containsFile(file, getChecksumOfLocalFile(file));
} catch (IOException e) {
logger.info(
"Exception while reading checksum of local segment file: {}, ignoring the exception and re-uploading the file",
file
);
return true;
}
}).forEach(file -> {
try {
remoteDirectory.copyFrom(storeDirectory, file, file, IOContext.DEFAULT);
} catch (IOException e) {
uploadSuccess.set(false);
// ToDO: Handle transient and permanent un-availability of the remote store (GitHub #3397)
logger.warn(() -> new ParameterizedMessage("Exception while uploading file {} to the remote segment store", file), e);
}
});
return uploadSuccess.get();
Copy link
Collaborator

Choose a reason for hiding this comment

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

the upload is happening serially, can we either bulk upload or do concurrent async uploads

lastCommittedLocalSegmentFileName,
getChecksumOfLocalFile(lastCommittedLocalSegmentFileName)
)) {
deleteStaleCommits();
Copy link
Collaborator

Choose a reason for hiding this comment

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

Would clean up stall refresh ? Can we do this in the background?

Copy link
Member Author

Choose a reason for hiding this comment

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

Clean up does not happen at each refresh. It would only be called when refresh is called during flush (as new segments_N file gets created). We can definitely preform stale commit deletion in the background. I have created a tracking issue here: #4315

Sachin Kale added 6 commits August 29, 2022 11:31
Signed-off-by: Sachin Kale <[email protected]>
Signed-off-by: Sachin Kale <[email protected]>
Signed-off-by: Sachin Kale <[email protected]>
Signed-off-by: Sachin Kale <[email protected]>
@github-actions
Copy link
Contributor

Gradle Check (Jenkins) Run Completed with:

Signed-off-by: Sachin Kale <[email protected]>
@github-actions
Copy link
Contributor

Gradle Check (Jenkins) Run Completed with:

@Bukhtawar Bukhtawar merged commit cd961f3 into opensearch-project:main Aug 29, 2022
sachinpkale added a commit to sachinpkale/OpenSearch that referenced this pull request Sep 1, 2022
…h-project#4240)

* Use RemoteSegmentStoreDirectory instead of RemoteDirectory

Signed-off-by: Sachin Kale <[email protected]>
sachinpkale added a commit to sachinpkale/OpenSearch that referenced this pull request Sep 2, 2022
…h-project#4240)

* Use RemoteSegmentStoreDirectory instead of RemoteDirectory

Signed-off-by: Sachin Kale <[email protected]>
sachinpkale added a commit to sachinpkale/OpenSearch that referenced this pull request Sep 2, 2022
…h-project#4240)

* Use RemoteSegmentStoreDirectory instead of RemoteDirectory

Signed-off-by: Sachin Kale <[email protected]>
Bukhtawar pushed a commit that referenced this pull request Sep 2, 2022
…4380)

* [Remote Store] Upload segments to remote store post refresh (#3460)

* Add RemoteDirectory interface to copy segment files to/from remote store

Signed-off-by: Sachin Kale <[email protected]>

Co-authored-by: Sachin Kale <[email protected]>

* Add index level setting for remote store

Signed-off-by: Sachin Kale <[email protected]>

Co-authored-by: Sachin Kale <[email protected]>

* Add RemoteDirectoryFactory and use RemoteDirectory instance in RefreshListener

Co-authored-by: Sachin Kale <[email protected]>
Signed-off-by: Sachin Kale <[email protected]>

* Upload segment to remote store post refresh

Signed-off-by: Sachin Kale <[email protected]>

Co-authored-by: Sachin Kale <[email protected]>
Signed-off-by: Sachin Kale <[email protected]>

* [Remote Store] Inject remote store in IndexShard instead of RemoteStoreRefreshListener (#3703)

* Inject remote store in IndexShard instead of RemoteStoreRefreshListener

Signed-off-by: Sachin Kale <[email protected]>

* Pass supplier of RepositoriesService to RemoteDirectoryFactory

Signed-off-by: Sachin Kale <[email protected]>

* Create isRemoteStoreEnabled function for IndexShard

Signed-off-by: Sachin Kale <[email protected]>

* Explicitly close remoteStore on indexShard close

Signed-off-by: Sachin Kale <[email protected]>

* Change RemoteDirectory.close to a no-op

Signed-off-by: Sachin Kale <[email protected]>

Co-authored-by: Sachin Kale <[email protected]>

* [Remote Store] Add remote store restore API implementation (#3642)

* Add remote restore API implementation

Signed-off-by: Sachin Kale <[email protected]>

* [Remote Store] Add support to add nested settings for remote store (#4060)

* Add support to add nested settings for remote store

Signed-off-by: Sachin Kale <[email protected]>

* [Remote Store] Add rest endpoint for remote store restore (#3576)

* Add rest endpoint for remote store restore

Signed-off-by: Sachin Kale <[email protected]>

* [Remote Store] Add validator that forces segment replication type before enabling remote store (#4175)

* Add validator that forces segment replication type before enabling remote store

Signed-off-by: Sachin Kale <[email protected]>

* [Remote Store] Change remote_store setting validation message to make it more clear (#4199)

* Change remote_store setting validation message to make it more clear

Signed-off-by: Sachin Kale <[email protected]>

* [Remote Store] Add RemoteSegmentStoreDirectory to interact with remote segment store (#4020)

* Add RemoteSegmentStoreDirectory to interact with remote segment store

Signed-off-by: Sachin Kale <[email protected]>

* Use RemoteSegmentStoreDirectory instead of RemoteDirectory (#4240)

* Use RemoteSegmentStoreDirectory instead of RemoteDirectory

Signed-off-by: Sachin Kale <[email protected]>

Signed-off-by: Sachin Kale <[email protected]>
Co-authored-by: Sachin Kale <[email protected]>
Bukhtawar pushed a commit that referenced this pull request Sep 2, 2022
* [BUG] Running "opensearch-service.bat start" and "opensearch-service.bat manager" (#4289)

* [BUG] Update opensearch-service-x64.exe parameters to //ES for Execute Service. Update opensearch-service-mgr.exe parameters to //ES for Edit Service. Add code comments for the Apache Commons Daemon.

Signed-off-by: Alex Burck <[email protected]>

* update changelog with pull request link

Signed-off-by: Alex Burck <[email protected]>

Signed-off-by: Alex Burck <[email protected]>

* Removing dead code in RecoveryTarget. (#4278)

* Removing dead code in RecoveryTarget.

This code in RecoveryTarget is not invoked, all of these methods are implemented by the parent ReplicationTarget with the same behavior.

Signed-off-by: Marc Handalian <[email protected]>

* PR Comments.

Signed-off-by: Marc Handalian <[email protected]>

Signed-off-by: Marc Handalian <[email protected]>

* Update the head ref to changelog verifier (#4296)

* Update changelog contribution guide

Signed-off-by: Kunal Kotwani <[email protected]>

* Fix reference to pull request

Signed-off-by: Kunal Kotwani <[email protected]>

Signed-off-by: Kunal Kotwani <[email protected]>

* Add 2.x version to CHANGELOG (#4297)

Signed-off-by: Kunal Kotwani <[email protected]>

Signed-off-by: Kunal Kotwani <[email protected]>

* Do not fail replica shard due to primary closure (#4133)

This commit prevents a replica shard from being failed in the case that
a replication action to a replica is canceled due to the primary shard
being closed.

Signed-off-by: Andrew Ross <[email protected]>

Signed-off-by: Andrew Ross <[email protected]>

* Some dependency updates (#4308)

Signed-off-by: Andriy Redko <[email protected]>

Signed-off-by: Andriy Redko <[email protected]>

* Restore using the class ClusterInfoRequest and ClusterInfoRequestBuilder from package 'org.opensearch.action.support.master.info' for subclasses (#4307)

* Restore using the class ClusterInfoRequest and ClusterInfoRequestBuilder from package 'org.opensearch.action.support.master.info' for subclasses

Signed-off-by: Tianli Feng <[email protected]>

* Add changelog

Signed-off-by: Tianli Feng <[email protected]>

Signed-off-by: Tianli Feng <[email protected]>
Co-authored-by: Andrew Ross <[email protected]>

* [BUG] Create logs directory before running OpenSearch on Windows (#4305)

* [BUG] Create logs directory before running OpenSearch on Windows

Signed-off-by: Alex Burck <[email protected]>

* update changlog pr link

Signed-off-by: Alex Burck <[email protected]>

Signed-off-by: Alex Burck <[email protected]>

* Use RemoteSegmentStoreDirectory instead of RemoteDirectory (#4240)

* Use RemoteSegmentStoreDirectory instead of RemoteDirectory

Signed-off-by: Sachin Kale <[email protected]>

* ZIP publication groupId value is configurable (#4156)

When publishing Zip POM the groupId value was hard-coded to `org.opensearch.plugin` value which worked fine for existing core plugins but is not convenient for other plugins (such as community plugins maintained in independent repositories).

This PR changes the sources of the ZIP publishing groupId value.

Specifically, there are two ways to set the value:
1) It is automatically inherited from the Gradle "project.group"
2) It can be manually specified in the ZIP publication POM object

This PR also brings a major rework of tests in PublishTests class. Individual testing scenarios are driven by "real" gradle building scripts (utilizing `java-gradle-plugin` gradle plugin).

Closes #3692

Signed-off-by: Lukáš Vlček <[email protected]>

Signed-off-by: Lukáš Vlček <[email protected]>

* [Segment Replication] Add timeout on Mockito.verify to reduce flakyness in testReplicationOnDone test (#4314)

* [Segment Replication] testReplicationOnDone Add timeout to allow time for verify call

Signed-off-by: Suraj Singh <[email protected]>

* Update changelog

Signed-off-by: Suraj Singh <[email protected]>

* Add change log entry

Signed-off-by: Suraj Singh <[email protected]>

Signed-off-by: Suraj Singh <[email protected]>

* Adding @dreamer-89 to Opensearch maintainers. (#4342)

Signed-off-by: Kartik Ganesh <[email protected]>

Signed-off-by: Kartik Ganesh <[email protected]>

* [CVE] Update snakeyaml dependency (#4341)

The package `org.yaml:snakeyaml` before version 1.31 are vulnerable to Denial of Service (DoS) due missing to nested depth limitation for collections.

Details at https://nvd.nist.gov/vuln/detail/CVE-2022-25857

Signed-off-by: Rabi Panda <[email protected]>

* Fixed commit workflow for dependabot PR helper (#4331)

* Fixed label for dependabot PR helper

Signed-off-by: Kunal Kotwani <[email protected]>

* Update autocommit workflow for dependabot changelog

Signed-off-by: Kunal Kotwani <[email protected]>

* Add version config for dependabot changelog helper

Signed-off-by: Kunal Kotwani <[email protected]>

Signed-off-by: Kunal Kotwani <[email protected]>

* Add release notes for patch release 1.3.5 (#4343)


Signed-off-by: Rabi Panda <[email protected]>

* Add release notes for patch release 2.2.1 (#4344)


Signed-off-by: Rabi Panda <[email protected]>

* Add label configuration for dependabot PRs (#4348)

* Support for HTTP/2 (server-side)  (#3847)

* Support for HTTP/2 (server-side)

Signed-off-by: Andriy Redko <[email protected]>

* Addressing code review comments

Signed-off-by: Andriy Redko <[email protected]>

* Added HTTP/1.1 channel configuration

Signed-off-by: Andriy Redko <[email protected]>

* Addressing code review comments

Signed-off-by: Andriy Redko <[email protected]>

* Update pul request URL in CHANGELOG.md

Signed-off-by: Andriy Redko <[email protected]>

Signed-off-by: Andriy Redko <[email protected]>

* Fix token usage for changelog helper (#4351)

Signed-off-by: Kunal Kotwani <[email protected]>

Signed-off-by: Kunal Kotwani <[email protected]>

* Revert "Fix token usage for changelog helper (#4351)" (#4361)

This reverts commit c28221e.

Signed-off-by: Kunal Kotwani <[email protected]>

Signed-off-by: Kunal Kotwani <[email protected]>

* Segment Replication - Implement segment replication event cancellation. (#4225)

* Segment Replication.  Fix Cancellation of replication events.

This PR updates segment replication paths to correctly cancel replication events on the primary and replica.
In the source service, any ongoing event for a primary that is sending to a replica that shuts down or is promoted as a new primary are cancelled.
In the target service, any ongoing event for a replica that is promoted as a new primary or is fetching from a primary that shuts down.
It wires up SegmentReplicationSourceService as an IndexEventListener so that it can respond to events and cancel any ongoing transfer state.
This change also includes some test cleanup for segment replication to rely on actual components over mocks.

Signed-off-by: Marc Handalian <[email protected]>

Fix to not start/stop SegmentReplicationSourceService as a lifecycle component with feature flag off.

Signed-off-by: Marc Handalian <[email protected]>

Update logic to properly mark SegmentReplicationTarget as cancelled when cancel initiated by primary.

Signed-off-by: Marc Handalian <[email protected]>

Minor updates from self review.

Signed-off-by: Marc Handalian <[email protected]>

* Add missing changelog entry.

Signed-off-by: Marc Handalian <[email protected]>

Signed-off-by: Marc Handalian <[email protected]>

* Bug fixes for dependabot changelog verifier (#4364)

* Fix token usage for changelog helper

Signed-off-by: Kunal Kotwani <[email protected]>

* Add conditional check for dependabot steps

Signed-off-by: Kunal Kotwani <[email protected]>

* Add dependency section

Signed-off-by: Kunal Kotwani <[email protected]>

* Bug fixes for dependabot changelog verifier

Signed-off-by: Kunal Kotwani <[email protected]>

* Update the changelog

Signed-off-by: Kunal Kotwani <[email protected]>

Signed-off-by: Kunal Kotwani <[email protected]>

* Add changes for Create PIT and Delete PIT rest layer and rest high level client (#4064)

* Create and delete PIT search rest layer changes

Signed-off-by: Bharathwaj G <[email protected]>

* Bump com.diffplug.spotless from 6.9.1 to 6.10.0 (#4319)

* Update to Netty 4.1.80.Final (#4359)

Signed-off-by: Andriy Redko <[email protected]>

* Bump xmlbeans from 5.1.0 to 5.1.1 in /plugins/ingest-attachment (#4354)

* Bump xmlbeans from 5.1.0 to 5.1.1 in /plugins/ingest-attachment

Bumps xmlbeans from 5.1.0 to 5.1.1.

---
updated-dependencies:
- dependency-name: org.apache.xmlbeans:xmlbeans
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>

* Updating SHAs

Signed-off-by: dependabot[bot] <[email protected]>

* Update changelog

Signed-off-by: dependabot[bot] <[email protected]>

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: dependabot[bot] <dependabot[bot]@users.noreply.github.com>

* Fix randomized test failure NRTReplicationEngineTests.testUpdateSegments (#4352)

Overload `generateHistoryOnReplica` to be able to generate only a specific `Engine.Operation.TYPE` operations as required by the `testUpdateSegments` test

Signed-off-by: Rabi Panda <[email protected]>

Signed-off-by: Rabi Panda <[email protected]>

* [AUTO] [main] Added bwc version 2.2.2. (#4383)

* Added bwc version 2.2.2

* Add changelog

Signed-off-by: Kunal Kotwani <[email protected]>

Signed-off-by: Kunal Kotwani <[email protected]>
Co-authored-by: opensearch-ci-bot <[email protected]>
Co-authored-by: Kunal Kotwani <[email protected]>

Signed-off-by: Alex Burck <[email protected]>
Signed-off-by: Marc Handalian <[email protected]>
Signed-off-by: Kunal Kotwani <[email protected]>
Signed-off-by: Andrew Ross <[email protected]>
Signed-off-by: Andriy Redko <[email protected]>
Signed-off-by: Tianli Feng <[email protected]>
Signed-off-by: Sachin Kale <[email protected]>
Signed-off-by: Lukáš Vlček <[email protected]>
Signed-off-by: Suraj Singh <[email protected]>
Signed-off-by: Kartik Ganesh <[email protected]>
Signed-off-by: Rabi Panda <[email protected]>
Signed-off-by: Bharathwaj G <[email protected]>
Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: Alex Burck <[email protected]>
Co-authored-by: Marc Handalian <[email protected]>
Co-authored-by: Kunal Kotwani <[email protected]>
Co-authored-by: Andrew Ross <[email protected]>
Co-authored-by: Andriy Redko <[email protected]>
Co-authored-by: Tianli Feng <[email protected]>
Co-authored-by: Sachin Kale <[email protected]>
Co-authored-by: Lukáš Vlček <[email protected]>
Co-authored-by: Suraj Singh <[email protected]>
Co-authored-by: Kartik Ganesh <[email protected]>
Co-authored-by: Rabi Panda <[email protected]>
Co-authored-by: Bharathwaj G <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: dependabot[bot] <dependabot[bot]@users.noreply.github.com>
Co-authored-by: opensearch-trigger-bot[bot] <98922864+opensearch-trigger-bot[bot]@users.noreply.github.com>
Co-authored-by: opensearch-ci-bot <[email protected]>
Bukhtawar pushed a commit that referenced this pull request Oct 1, 2022
* [BUG] Running "opensearch-service.bat start" and "opensearch-service.bat manager" (#4289)

* [BUG] Update opensearch-service-x64.exe parameters to //ES for Execute Service. Update opensearch-service-mgr.exe parameters to //ES for Edit Service. Add code comments for the Apache Commons Daemon.

Signed-off-by: Alex Burck <[email protected]>

* update changelog with pull request link

Signed-off-by: Alex Burck <[email protected]>

Signed-off-by: Alex Burck <[email protected]>

* Removing dead code in RecoveryTarget. (#4278)

* Removing dead code in RecoveryTarget.

This code in RecoveryTarget is not invoked, all of these methods are implemented by the parent ReplicationTarget with the same behavior.

Signed-off-by: Marc Handalian <[email protected]>

* PR Comments.

Signed-off-by: Marc Handalian <[email protected]>

Signed-off-by: Marc Handalian <[email protected]>

* Update the head ref to changelog verifier (#4296)

* Update changelog contribution guide

Signed-off-by: Kunal Kotwani <[email protected]>

* Fix reference to pull request

Signed-off-by: Kunal Kotwani <[email protected]>

Signed-off-by: Kunal Kotwani <[email protected]>

* Add 2.x version to CHANGELOG (#4297)

Signed-off-by: Kunal Kotwani <[email protected]>

Signed-off-by: Kunal Kotwani <[email protected]>

* Do not fail replica shard due to primary closure (#4133)

This commit prevents a replica shard from being failed in the case that
a replication action to a replica is canceled due to the primary shard
being closed.

Signed-off-by: Andrew Ross <[email protected]>

Signed-off-by: Andrew Ross <[email protected]>

* Some dependency updates (#4308)

Signed-off-by: Andriy Redko <[email protected]>

Signed-off-by: Andriy Redko <[email protected]>

* Restore using the class ClusterInfoRequest and ClusterInfoRequestBuilder from package 'org.opensearch.action.support.master.info' for subclasses (#4307)

* Restore using the class ClusterInfoRequest and ClusterInfoRequestBuilder from package 'org.opensearch.action.support.master.info' for subclasses

Signed-off-by: Tianli Feng <[email protected]>

* Add changelog

Signed-off-by: Tianli Feng <[email protected]>

Signed-off-by: Tianli Feng <[email protected]>
Co-authored-by: Andrew Ross <[email protected]>

* [BUG] Create logs directory before running OpenSearch on Windows (#4305)

* [BUG] Create logs directory before running OpenSearch on Windows

Signed-off-by: Alex Burck <[email protected]>

* update changlog pr link

Signed-off-by: Alex Burck <[email protected]>

Signed-off-by: Alex Burck <[email protected]>

* Use RemoteSegmentStoreDirectory instead of RemoteDirectory (#4240)

* Use RemoteSegmentStoreDirectory instead of RemoteDirectory

Signed-off-by: Sachin Kale <[email protected]>

* ZIP publication groupId value is configurable (#4156)

When publishing Zip POM the groupId value was hard-coded to `org.opensearch.plugin` value which worked fine for existing core plugins but is not convenient for other plugins (such as community plugins maintained in independent repositories).

This PR changes the sources of the ZIP publishing groupId value.

Specifically, there are two ways to set the value:
1) It is automatically inherited from the Gradle "project.group"
2) It can be manually specified in the ZIP publication POM object

This PR also brings a major rework of tests in PublishTests class. Individual testing scenarios are driven by "real" gradle building scripts (utilizing `java-gradle-plugin` gradle plugin).

Closes #3692

Signed-off-by: Lukáš Vlček <[email protected]>

Signed-off-by: Lukáš Vlček <[email protected]>

* [Segment Replication] Add timeout on Mockito.verify to reduce flakyness in testReplicationOnDone test (#4314)

* [Segment Replication] testReplicationOnDone Add timeout to allow time for verify call

Signed-off-by: Suraj Singh <[email protected]>

* Update changelog

Signed-off-by: Suraj Singh <[email protected]>

* Add change log entry

Signed-off-by: Suraj Singh <[email protected]>

Signed-off-by: Suraj Singh <[email protected]>

* Adding @dreamer-89 to Opensearch maintainers. (#4342)

Signed-off-by: Kartik Ganesh <[email protected]>

Signed-off-by: Kartik Ganesh <[email protected]>

* [CVE] Update snakeyaml dependency (#4341)

The package `org.yaml:snakeyaml` before version 1.31 are vulnerable to Denial of Service (DoS) due missing to nested depth limitation for collections.

Details at https://nvd.nist.gov/vuln/detail/CVE-2022-25857

Signed-off-by: Rabi Panda <[email protected]>

* Fixed commit workflow for dependabot PR helper (#4331)

* Fixed label for dependabot PR helper

Signed-off-by: Kunal Kotwani <[email protected]>

* Update autocommit workflow for dependabot changelog

Signed-off-by: Kunal Kotwani <[email protected]>

* Add version config for dependabot changelog helper

Signed-off-by: Kunal Kotwani <[email protected]>

Signed-off-by: Kunal Kotwani <[email protected]>

* Add release notes for patch release 1.3.5 (#4343)


Signed-off-by: Rabi Panda <[email protected]>

* Add release notes for patch release 2.2.1 (#4344)


Signed-off-by: Rabi Panda <[email protected]>

* Add label configuration for dependabot PRs (#4348)

* Support for HTTP/2 (server-side)  (#3847)

* Support for HTTP/2 (server-side)

Signed-off-by: Andriy Redko <[email protected]>

* Addressing code review comments

Signed-off-by: Andriy Redko <[email protected]>

* Added HTTP/1.1 channel configuration

Signed-off-by: Andriy Redko <[email protected]>

* Addressing code review comments

Signed-off-by: Andriy Redko <[email protected]>

* Update pul request URL in CHANGELOG.md

Signed-off-by: Andriy Redko <[email protected]>

Signed-off-by: Andriy Redko <[email protected]>

* Fix token usage for changelog helper (#4351)

Signed-off-by: Kunal Kotwani <[email protected]>

Signed-off-by: Kunal Kotwani <[email protected]>

* Revert "Fix token usage for changelog helper (#4351)" (#4361)

This reverts commit c28221e.

Signed-off-by: Kunal Kotwani <[email protected]>

Signed-off-by: Kunal Kotwani <[email protected]>

* Segment Replication - Implement segment replication event cancellation. (#4225)

* Segment Replication.  Fix Cancellation of replication events.

This PR updates segment replication paths to correctly cancel replication events on the primary and replica.
In the source service, any ongoing event for a primary that is sending to a replica that shuts down or is promoted as a new primary are cancelled.
In the target service, any ongoing event for a replica that is promoted as a new primary or is fetching from a primary that shuts down.
It wires up SegmentReplicationSourceService as an IndexEventListener so that it can respond to events and cancel any ongoing transfer state.
This change also includes some test cleanup for segment replication to rely on actual components over mocks.

Signed-off-by: Marc Handalian <[email protected]>

Fix to not start/stop SegmentReplicationSourceService as a lifecycle component with feature flag off.

Signed-off-by: Marc Handalian <[email protected]>

Update logic to properly mark SegmentReplicationTarget as cancelled when cancel initiated by primary.

Signed-off-by: Marc Handalian <[email protected]>

Minor updates from self review.

Signed-off-by: Marc Handalian <[email protected]>

* Add missing changelog entry.

Signed-off-by: Marc Handalian <[email protected]>

Signed-off-by: Marc Handalian <[email protected]>

* Bug fixes for dependabot changelog verifier (#4364)

* Fix token usage for changelog helper

Signed-off-by: Kunal Kotwani <[email protected]>

* Add conditional check for dependabot steps

Signed-off-by: Kunal Kotwani <[email protected]>

* Add dependency section

Signed-off-by: Kunal Kotwani <[email protected]>

* Bug fixes for dependabot changelog verifier

Signed-off-by: Kunal Kotwani <[email protected]>

* Update the changelog

Signed-off-by: Kunal Kotwani <[email protected]>

Signed-off-by: Kunal Kotwani <[email protected]>

* Add changes for Create PIT and Delete PIT rest layer and rest high level client (#4064)

* Create and delete PIT search rest layer changes

Signed-off-by: Bharathwaj G <[email protected]>

* Bump com.diffplug.spotless from 6.9.1 to 6.10.0 (#4319)

* Update to Netty 4.1.80.Final (#4359)

Signed-off-by: Andriy Redko <[email protected]>

* Bump xmlbeans from 5.1.0 to 5.1.1 in /plugins/ingest-attachment (#4354)

* Bump xmlbeans from 5.1.0 to 5.1.1 in /plugins/ingest-attachment

Bumps xmlbeans from 5.1.0 to 5.1.1.

---
updated-dependencies:
- dependency-name: org.apache.xmlbeans:xmlbeans
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>

* Updating SHAs

Signed-off-by: dependabot[bot] <[email protected]>

* Update changelog

Signed-off-by: dependabot[bot] <[email protected]>

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: dependabot[bot] <dependabot[bot]@users.noreply.github.com>

* Fix randomized test failure NRTReplicationEngineTests.testUpdateSegments (#4352)

Overload `generateHistoryOnReplica` to be able to generate only a specific `Engine.Operation.TYPE` operations as required by the `testUpdateSegments` test

Signed-off-by: Rabi Panda <[email protected]>

Signed-off-by: Rabi Panda <[email protected]>

* [AUTO] [main] Added bwc version 2.2.2. (#4383)

* Added bwc version 2.2.2

* Add changelog

Signed-off-by: Kunal Kotwani <[email protected]>

Signed-off-by: Kunal Kotwani <[email protected]>
Co-authored-by: opensearch-ci-bot <[email protected]>
Co-authored-by: Kunal Kotwani <[email protected]>

* [Segment Replication] Bump segment infos counter before commit during replica promotion (#4365)

* [Segment Replication] Bump segment infos counter before commit during replica promotion

Signed-off-by: Suraj Singh <[email protected]>

* Add changelog entry

Signed-off-by: Suraj Singh <[email protected]>

Signed-off-by: Suraj Singh <[email protected]>

* [Segment Replication] Add check to cancel ongoing replication with old primary on onNewCheckpoint on replica (#4363)

* [Segment Replication] Add check to cancel ongoing replication with old primary on onNewCheckpoint on replica

Signed-off-by: Suraj Singh <[email protected]>

* Add changelog entry

Signed-off-by: Suraj Singh <[email protected]>

* Address review comments

Signed-off-by: Suraj Singh <[email protected]>

* Address review comments 2

Signed-off-by: Suraj Singh <[email protected]>

* Test failures

Signed-off-by: Suraj Singh <[email protected]>

Signed-off-by: Suraj Singh <[email protected]>

* Adding support for labels on version bump PRs, skip label support for… (#4391)

* Adding support for labels on version bump PRs, skip label support for changelog verifier

Signed-off-by: Kunal Kotwani <[email protected]>

* Add changelog

Signed-off-by: Kunal Kotwani <[email protected]>

Signed-off-by: Kunal Kotwani <[email protected]>

* [Segment Replication] Extend FileChunkWriter to allow cancel on transport client (#4386)

* [Segment Replication] Extend FileChunkWriter to allow cancel on retryable transport client

Signed-off-by: Suraj Singh <[email protected]>

* Add changelog entry

Signed-off-by: Suraj Singh <[email protected]>

* Address review comments

Signed-off-by: Suraj Singh <[email protected]>

* Integration test

Signed-off-by: Suraj Singh <[email protected]>

Signed-off-by: Suraj Singh <[email protected]>

* Added RestLayer Changes for PIT stats (#4217)

Signed-off-by: Ajay Kumar Movva <[email protected]>

* Modified cat shards test for pit stats (#4408)

Signed-off-by: Ajay Kumar Movva <[email protected]>

* [Remote Store] Add index specific setting for remote repository (#4253)

* Add index specific setting for remote repository
* Fix for failover incremental uploads

Signed-off-by: Sachin Kale <[email protected]>

* [Semgnet Replication] Update flaky testOnNewCheckpointFromNewPrimaryCancelOngoingReplication unit test (#4414)

* [Semgnet Replication] Update flaky testOnNewCheckpointFromNewPrimaryCancelOngoingReplication unit test

Signed-off-by: Suraj Singh <[email protected]>

* Add changelog entry

Signed-off-by: Suraj Singh <[email protected]>

* Update changelog entry

Signed-off-by: Suraj Singh <[email protected]>

Signed-off-by: Suraj Singh <[email protected]>

* Segment Replication - Fix NoSuchFileException errors caused when computing metadata snapshot on primary shards. (#4366)

* Segment Replication - Fix NoSuchFileException errors caused when computing metadata snapshot on primary shards.

This change fixes the errors that occur when computing metadata snapshots on primary shards from the latest in-memory SegmentInfos.  The error occurs when a segments_N file that is referenced by the in-memory infos is deleted as part of a concurrent commit.  The segments themselves are incref'd by IndexWriter.incRefDeleter but the commit file (Segments_N) is not.  This change resolves this by ignoring the segments_N file when computing metadata for CopyState and only sending incref'd segment files to replicas.

Signed-off-by: Marc Handalian <[email protected]>

* Fix spotless.

Signed-off-by: Marc Handalian <[email protected]>

* Update StoreTests.testCleanupAndPreserveLatestCommitPoint to assert additional segments are deleted.

Signed-off-by: Marc Handalian <[email protected]>

* Rename snapshot to metadataMap in CheckpointInfoResponse.

Signed-off-by: Marc Handalian <[email protected]>

* Refactor segmentReplicationDiff method to compute off two maps instead of MetadataSnapshots.

Signed-off-by: Marc Handalian <[email protected]>

* Fix spotless.

Signed-off-by: Marc Handalian <[email protected]>

* Revert catchall in SegmentReplicationSourceService.

Signed-off-by: Marc Handalian <[email protected]>

* Revert log lvl change.

Signed-off-by: Marc Handalian <[email protected]>

* Fix SegmentReplicationTargetTests

Signed-off-by: Marc Handalian <[email protected]>

* Cleanup unused logger.

Signed-off-by: Marc Handalian <[email protected]>

Signed-off-by: Marc Handalian <[email protected]>
Co-authored-by: Suraj Singh <[email protected]>

* Bump org.gradle.test-retry from 1.4.0 to 1.4.1 (#4411)

* Bump org.gradle.test-retry from 1.4.0 to 1.4.1

Bumps org.gradle.test-retry from 1.4.0 to 1.4.1.

---
updated-dependencies:
- dependency-name: org.gradle.test-retry
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>

* Update changelog

Signed-off-by: dependabot[bot] <[email protected]>

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: dependabot[bot] <dependabot[bot]@users.noreply.github.com>

* Revert to Netty 4.1.79.Final (#4428)

Signed-off-by: Craig Perkins <[email protected]>

Signed-off-by: Craig Perkins <[email protected]>

* [Segment Replication] Fix timeout issue by calculating time needed to process getSegmentFiles. (#4426)

* Fix timeout issue by calculating time needed to process getSegmentFiles.

Signed-off-by: Rishikesh1159 <[email protected]>

* Formatting sizeOfSegmentFiles for time calculation.

Signed-off-by: Rishikesh1159 <[email protected]>

* Addressing comments and applying spotless check.

Signed-off-by: Rishikesh1159 <[email protected]>

Signed-off-by: Rishikesh1159 <[email protected]>

* [Bug]: gradle check failing with java heap OutOfMemoryError (#4328)

* [Bug]: gradle check failing with java heap OutOfMemoryError

Signed-off-by: Andriy Redko <[email protected]>

* Fork JavaCompile task

Signed-off-by: Andriy Redko <[email protected]>

Signed-off-by: Andriy Redko <[email protected]>

* Bump azure-core-http-netty from 1.12.0 to 1.12.4 in /plugins/repository-azure (#4160)

* Bump azure-core-http-netty in /plugins/repository-azure

Bumps [azure-core-http-netty](https:/Azure/azure-sdk-for-java) from 1.12.0 to 1.12.4.
- [Release notes](https:/Azure/azure-sdk-for-java/releases)
- [Commits](Azure/azure-sdk-for-java@azure-core_1.12.0...azure-core-http-netty_1.12.4)

---
updated-dependencies:
- dependency-name: com.azure:azure-core-http-netty
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>

* Updating SHAs

Signed-off-by: dependabot[bot] <[email protected]>

* Added missing forbidden classes

Signed-off-by: Owais Kazi <[email protected]>

* update version of azure-storage-common and azure-core-http-netty

Signed-off-by: Xue Zhou <[email protected]>

* update version of azure-storage-common and azure-core-http-netty

Signed-off-by: Xue Zhou <[email protected]>

* adding changelog information

Signed-off-by: Xue Zhou <[email protected]>

Signed-off-by: dependabot[bot] <[email protected]>
Signed-off-by: Owais Kazi <[email protected]>
Signed-off-by: Xue Zhou <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: dependabot[bot] <dependabot[bot]@users.noreply.github.com>
Co-authored-by: Owais Kazi <[email protected]>
Co-authored-by: Xue Zhou <[email protected]>

* Bugfix: Allow opensearch.bat file and opensearch-env.bat files to run when install path includes a space. (#4362)

* Bugfix: Prevent escaping of in `else-if` statement by setting variable without double quotes.

Signed-off-by: Mike Wilkinson <[email protected]>

* Add changelog entry for fix

Signed-off-by: Mike Wilkinson <[email protected]>

* Escape double quotes for environment variables set by `opensearch-env.bat`. Explicitly apply quotes where those environment variables are invoked.

Signed-off-by: Mike Wilkinson <[email protected]>

Signed-off-by: Mike Wilkinson <[email protected]>
Co-authored-by: Mike Wilkinson <[email protected]>

* [Segment Replication] - Update replicas to commit SegmentInfos instead of relying on segments_N from primary shards. (#4402)

* Segment Replication - Update replicas to commit SegmentInfos instead of relying on segments_N from primary shards.

This change updates replicas to commit SegmentInfos before the shard is closed, on receiving a new commit point from a primary, and when a new primary is detected. This change also makes the public commitSegmentInfos on NRTEngine obsolete, refactoring IndexShard to simply call reset on the engine.

Signed-off-by: Marc Handalian <[email protected]>

* Remove noise & extra log statement.

Signed-off-by: Marc Handalian <[email protected]>

* PR feedback.

Signed-off-by: Marc Handalian <[email protected]>

Signed-off-by: Marc Handalian <[email protected]>

* Bump reactor-netty-core from 1.0.19 to 1.0.22 in /plugins/repository-azure (#4447)

* Bump reactor-netty-core in /plugins/repository-azure

Bumps [reactor-netty-core](https:/reactor/reactor-netty) from 1.0.19 to 1.0.22.
- [Release notes](https:/reactor/reactor-netty/releases)
- [Commits](reactor/reactor-netty@v1.0.19...v1.0.22)

---
updated-dependencies:
- dependency-name: io.projectreactor.netty:reactor-netty-core
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>

* Updating SHAs

Signed-off-by: dependabot[bot] <[email protected]>

* Update changelog

Signed-off-by: dependabot[bot] <[email protected]>

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: dependabot[bot] <dependabot[bot]@users.noreply.github.com>

* Add bwcVersion 2.4.0 (#4455)

* Add bwcVersion 2.4.0

Signed-off-by: Suraj Singh <[email protected]>

* Add changelog entry

Signed-off-by: Suraj Singh <[email protected]>

Signed-off-by: Suraj Singh <[email protected]>

* add support for s390x architecture (#4001)

* add s390x support in systemcallfilter

#4000
Signed-off-by: Andrija Pantovic <[email protected]>

* add gradle cfg for s390x

Signed-off-by: Andrija Pantovic <[email protected]>

* change assertion for architecture

Signed-off-by: Andrija Pantovic <[email protected]>

* change assertion for architecture

Signed-off-by: Andrija Pantovic <[email protected]>

* update changelog

Signed-off-by: Andrija Pantovic <[email protected]>

Signed-off-by: Andrija Pantovic <[email protected]>
Signed-off-by: Andrija Pantovic <[email protected]>

* 2.3.0 release notes (#4457) (#4464)

* 2.3.0 release notes

Signed-off-by: Suraj Singh <[email protected]>

* Add changelog entry

Signed-off-by: Suraj Singh <[email protected]>

Signed-off-by: Suraj Singh <[email protected]>

Signed-off-by: Suraj Singh <[email protected]>

* Add getHistoryOperationsFromTranslog method to fetch the history snapshot from translogs (#3948)

* Add getHistoryOperationsFromTranslog method to fetch the hostory snapshot from translogs

Signed-off-by: Ankit Kala <[email protected]>

* Fixed flaky test: ResourceAwareTasksTests.testTaskIdPersistsInThreadContext (#4484)

Signed-off-by: Ketan Verma <[email protected]>

* Getting security exception due to access denied 'java.lang.RuntimePermission' 'accessDeclaredMembers' when trying to get snapshot with S3 IRSA (#4469)

Signed-off-by: Andriy Redko <[email protected]>

Signed-off-by: Andriy Redko <[email protected]>
Co-authored-by: Suraj Singh <[email protected]>

* [Javadoc] add missing javadocs for :distribution:tools modules (#4483)

* Add javadocs for distribution:tools:java-version-checker

Signed-off-by: Daniel Widdis <[email protected]>

* Add javadocs for distribution:tools:keystore-cli

Signed-off-by: Daniel Widdis <[email protected]>

* Add javadocs for distribution:tools:plugin-cli

Signed-off-by: Daniel Widdis <[email protected]>

* Add javadocs for distribution:tools:launchers

Signed-off-by: Daniel Widdis <[email protected]>

* Change log

Signed-off-by: Daniel Widdis <[email protected]>

Signed-off-by: Daniel Widdis <[email protected]>

* Bump reactive-streams from 1.0.3 to 1.0.4 in /plugins/repository-azure (#4488)

* Bump reactive-streams from 1.0.3 to 1.0.4 in /plugins/repository-azure

Bumps [reactive-streams](https:/reactive-streams/reactive-streams) from 1.0.3 to 1.0.4.
- [Release notes](https:/reactive-streams/reactive-streams/releases)
- [Changelog](https:/reactive-streams/reactive-streams-jvm/blob/master/RELEASE-NOTES.md)
- [Commits](reactive-streams/reactive-streams-jvm@v1.0.3...v1.0.4)

---
updated-dependencies:
- dependency-name: org.reactivestreams:reactive-streams
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>

* Updating SHAs

Signed-off-by: dependabot[bot] <[email protected]>

* Update changelog

Signed-off-by: dependabot[bot] <[email protected]>

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: dependabot[bot] <dependabot[bot]@users.noreply.github.com>

* Ignore all malformed objects when ignore_malformed is true (#4494)

Fixes a bug to not fail the entire document when "ignore_malformed" is set to true. Allowing the valid fields 
to be indexed and ignore only the malformed fields.

Signed-off-by: Hauck <[email protected]>

* [AUTO] [main] Added bwc version 2.3.1. (#4513)

* Added bwc version 2.3.1
* Add changelog of adding bwc version 2.3.1

Signed-off-by: Tianli Feng <[email protected]>

* [Segment Replication] Add snapshot and restore tests for segment replication feature (#3993)

* [Segment Replication] Add snapshots tests with segment replication enabled

Signed-off-by: Suraj Singh <[email protected]>

* Fix spotless failures

Signed-off-by: Suraj Singh <[email protected]>

* Add changelog entry, address review comments, add failover test

Signed-off-by: Suraj Singh <[email protected]>

* Fix spotless failures

Signed-off-by: Suraj Singh <[email protected]>

* Address review comments 2

Signed-off-by: Suraj Singh <[email protected]>

Signed-off-by: Suraj Singh <[email protected]>

* [Remote Store] Change behaviour in replica recovery for remote translog enabled indices (#4318)

Signed-off-by: Ashish Singh <[email protected]>

* Weighted round-robin scheduling policy for shard coordination traffic… (#4241)

* Weighted round-robin scheduling policy for shard coordination traffic routing

Signed-off-by: Anshu Agarwal <[email protected]>

* [Javadoc] add missing javadocs for :example-plugin modules (#4540)

* Add javadocs for example-plugins:custom-settings module

Signed-off-by: Daniel Widdis <[email protected]>

* Add javadocs for example-plugins:custom-significance-heuristic

Signed-off-by: Daniel Widdis <[email protected]>

* Add javadocs for example-plugins:custom-suggester

Signed-off-by: Daniel Widdis <[email protected]>

* Add javadocs to example-plugins:painless-allowlist

Signed-off-by: Daniel Widdis <[email protected]>

* Add javadocs to example-plugins:rescore

Signed-off-by: Daniel Widdis <[email protected]>

* Add javadocs to example-plugins:rest-handler

Signed-off-by: Daniel Widdis <[email protected]>

* Add javadocs to example-plugins:script-expert-scoring

Signed-off-by: Daniel Widdis <[email protected]>

* Remove exclusions for module which aren't giving javadoc errors

Signed-off-by: Daniel Widdis <[email protected]>

* CI testing apparently needs to instantiate a no-op class

Signed-off-by: Daniel Widdis <[email protected]>

Signed-off-by: Daniel Widdis <[email protected]>

* Add GeoBounds aggregation on GeoShape field type.(#3980) (#4266)

Enables geo_bounds aggregation to work with geo_shape field types.

This enhancement includes:
    * Addition of Doc values on the GeoShape Field.
    * Addition of GeoShape ValueSource level code interfaces for accessing the DocValues.
    * Addition of Missing Value feature in the GeoShape Aggregations.

Signed-off-by: Navneet Verma <[email protected]>

* Updates jackson and snakeyml dependencies (#4556)

* Upgrade jackson and snakeyml dependencies

Signed-off-by: Owais Kazi <[email protected]>

* Updated changelog

Signed-off-by: Owais Kazi <[email protected]>

Signed-off-by: Owais Kazi <[email protected]>

* Bump com.diffplug.spotless from 6.10.0 to 6.11.0 (#4547)

* Bump com.diffplug.spotless from 6.10.0 to 6.11.0

---
updated-dependencies:
- dependency-name: com.diffplug.spotless
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>

* Bump reactor-core from 3.4.18 to 3.4.23 in /plugins/repository-azure (#4548)

* Bump reactor-core from 3.4.18 to 3.4.23 in /plugins/repository-azure

Bumps [reactor-core](https:/reactor/reactor-core) from 3.4.18 to 3.4.23.
- [Release notes](https:/reactor/reactor-core/releases)
- [Commits](reactor/reactor-core@v3.4.18...v3.4.23)

---
updated-dependencies:
- dependency-name: io.projectreactor:reactor-core
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>

* Bump jempbox from 1.8.16 to 1.8.17 in /plugins/ingest-attachment (#4550)

* Bump jempbox from 1.8.16 to 1.8.17 in /plugins/ingest-attachment

Bumps jempbox from 1.8.16 to 1.8.17.

---
updated-dependencies:
- dependency-name: org.apache.pdfbox:jempbox
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>

* Bump log4j-core from 2.18.0 to 2.19.0 in /buildSrc/src/testKit/thirdPartyAudit (#4549)

* Bump log4j-core in /buildSrc/src/testKit/thirdPartyAudit

Bumps log4j-core from 2.18.0 to 2.19.0.

---
updated-dependencies:
- dependency-name: org.apache.logging.log4j:log4j-core
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>

* Update changelog

Signed-off-by: dependabot[bot] <[email protected]>

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: dependabot[bot] <dependabot[bot]@users.noreply.github.com>

* Ignore lock file when testing cleanupAndPreserveLatestCommitPoint (#4544)

Signed-off-by: Daniel Widdis <[email protected]>

Signed-off-by: Daniel Widdis <[email protected]>

* Remove deprecated code to add node name into log pattern of log4j property file (#4568)

Signed-off-by: Tianli Feng <[email protected]>

* Unmute RelocationIT.testRelocationWhileIndexingRandom. (#4580)

Signed-off-by: Marc Handalian <[email protected]>

Signed-off-by: Marc Handalian <[email protected]>

* Add DecommissionService and helper to execute awareness attribute decommissioning (#4084)

* Add Executor to decommission node attribute
* Decommission service implementation with cluster metadata
* Master abdication changes to decommission local awareness leader
* Update join validator changes to validate decommissioned node join request

Signed-off-by: Rishab Nahata <[email protected]>

* Added rest layer changes for List all PITs and PIT segments (#4388)

* Changes for list all and pit segments

Signed-off-by: Bharathwaj G <[email protected]>

* Add PUT api to update shard routing weights (#4272)

* Add PUT api to update shard routing weights

Signed-off-by: Anshu Agarwal <[email protected]>

* Further simplification of the ZIP publication implementation (#4360)

A follow-up of PR #4156 that brings in further simplification of the ZIP publication implementation and new tests.

It is possible to remove some of the initialization code because the work is already handled by other library under the hood (most likely by NebulaPublishPlugin).

For instance the condition to test the `groupId` presence: `if (groupId == null)` was pointless. It was never `true`. If the `project.group` is not defined the publication task fails with an exception, if there is a custom `groupId` value setup in publication config then it overrides the `project.group` as well. Tests are provided to cover these use cases.

As for the new tests they cover the following cases:

- verify that the task "publishToMavenLocal" gets expected results. The inspiration for this comes from opensearch-project/opensearch-plugin-template-java#35

- verify that applying only the 'opensearch.pluginzip' is enough, because both the NebulaPublish and MavenPublishPlugin plugins are added explicitly and tasks are chained correctly

- verify that if the plugin is applied but no publication is defined then a message is printed for the user

Signed-off-by: Lukáš Vlček <[email protected]>

Signed-off-by: Lukáš Vlček <[email protected]>

* Add missing Javadoc tag descriptions in unit tests (#4629)

* Add missing Javadoc tag descriptions in unit tests

Using JDK14 (downloaded from https://jdk.java.net/archive/), I tried
running ./gradlew check, and received errors like:

server/src/test/java/org/opensearch/indices/replication/SegmentReplicationTargetTests.java:440:
warning: no description for @throws

The build then failed with "warnings found and -Werror specified".

I tried again with JDK17 and the build passed.

According to DEVELOPER_GUIDE.md, we should be able to build with JDK14,
I added the missing Javadoc tag descriptions.

Signed-off-by: Michael Froh <[email protected]>

* Update CHANGELOG.md

Signed-off-by: Michael Froh <[email protected]>

Signed-off-by: Michael Froh <[email protected]>

* Bump reactor-netty-http from 1.0.18 to 1.0.23 in /plugins/repository-azure (#4594)

* Bump reactor-netty-http in /plugins/repository-azure

Bumps [reactor-netty-http](https:/reactor/reactor-netty) from 1.0.18 to 1.0.23.
- [Release notes](https:/reactor/reactor-netty/releases)
- [Commits](reactor/reactor-netty@v1.0.18...v1.0.23)

---
updated-dependencies:
- dependency-name: io.projectreactor.netty:reactor-netty-http
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>

* Updating SHAs

Signed-off-by: dependabot[bot] <[email protected]>

* Update changelog

Signed-off-by: dependabot[bot] <[email protected]>

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: dependabot[bot] <dependabot[bot]@users.noreply.github.com>

* Bump jettison from 1.5.0 to 1.5.1 in /plugins/discovery-azure-classic (#4592)

* Bump jettison from 1.5.0 to 1.5.1 in /plugins/discovery-azure-classic

Bumps [jettison](https:/jettison-json/jettison) from 1.5.0 to 1.5.1.
- [Release notes](https:/jettison-json/jettison/releases)
- [Commits](jettison-json/jettison@jettison-1.5.0...jettison-1.5.1)

---
updated-dependencies:
- dependency-name: org.codehaus.jettison:jettison
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>

* Updating SHAs

Signed-off-by: dependabot[bot] <[email protected]>

* Update changelog

Signed-off-by: dependabot[bot] <[email protected]>

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: dependabot[bot] <dependabot[bot]@users.noreply.github.com>

* Fix invalid search location of JDK for arm64 (#4613)

Related commit: 0e9f74e

Signed-off-by: Heemin Kim <[email protected]>

Signed-off-by: Heemin Kim <[email protected]>

* Remove unused object and import from TransportClusterAllocationExplainAction (#4639)

Signed-off-by: Kunal Kotwani <[email protected]>

Signed-off-by: Kunal Kotwani <[email protected]>

* Relax visibility of the HTTP_CHANNEL_KEY and HTTP_SERVER_CHANNEL_KEY to make it possible for the plugins to access associated Netty4HttpChannel / Netty4HttpServerChannel instance (#4638)

Signed-off-by: Andriy Redko <[email protected]>

Signed-off-by: Andriy Redko <[email protected]>

Signed-off-by: Alex Burck <[email protected]>
Signed-off-by: Marc Handalian <[email protected]>
Signed-off-by: Kunal Kotwani <[email protected]>
Signed-off-by: Andrew Ross <[email protected]>
Signed-off-by: Andriy Redko <[email protected]>
Signed-off-by: Tianli Feng <[email protected]>
Signed-off-by: Sachin Kale <[email protected]>
Signed-off-by: Lukáš Vlček <[email protected]>
Signed-off-by: Suraj Singh <[email protected]>
Signed-off-by: Kartik Ganesh <[email protected]>
Signed-off-by: Rabi Panda <[email protected]>
Signed-off-by: Bharathwaj G <[email protected]>
Signed-off-by: dependabot[bot] <[email protected]>
Signed-off-by: Ajay Kumar Movva <[email protected]>
Signed-off-by: Craig Perkins <[email protected]>
Signed-off-by: Rishikesh1159 <[email protected]>
Signed-off-by: Owais Kazi <[email protected]>
Signed-off-by: Xue Zhou <[email protected]>
Signed-off-by: Mike Wilkinson <[email protected]>
Signed-off-by: Andrija Pantovic <[email protected]>
Signed-off-by: Andrija Pantovic <[email protected]>
Signed-off-by: Ankit Kala <[email protected]>
Signed-off-by: Ketan Verma <[email protected]>
Signed-off-by: Daniel Widdis <[email protected]>
Signed-off-by: Hauck <[email protected]>
Signed-off-by: Ashish Singh <[email protected]>
Signed-off-by: Anshu Agarwal <[email protected]>
Signed-off-by: Navneet Verma <[email protected]>
Signed-off-by: Rishab Nahata <[email protected]>
Signed-off-by: Michael Froh <[email protected]>
Signed-off-by: Heemin Kim <[email protected]>
Signed-off-by: Dhwanil Patel <[email protected]>
Co-authored-by: Alex Burck <[email protected]>
Co-authored-by: Marc Handalian <[email protected]>
Co-authored-by: Kunal Kotwani <[email protected]>
Co-authored-by: Andrew Ross <[email protected]>
Co-authored-by: Andriy Redko <[email protected]>
Co-authored-by: Tianli Feng <[email protected]>
Co-authored-by: Sachin Kale <[email protected]>
Co-authored-by: Lukáš Vlček <[email protected]>
Co-authored-by: Suraj Singh <[email protected]>
Co-authored-by: Kartik Ganesh <[email protected]>
Co-authored-by: Rabi Panda <[email protected]>
Co-authored-by: Bharathwaj G <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: dependabot[bot] <dependabot[bot]@users.noreply.github.com>
Co-authored-by: opensearch-trigger-bot[bot] <98922864+opensearch-trigger-bot[bot]@users.noreply.github.com>
Co-authored-by: opensearch-ci-bot <[email protected]>
Co-authored-by: Movva Ajaykumar <[email protected]>
Co-authored-by: Craig Perkins <[email protected]>
Co-authored-by: Rishikesh Pasham <[email protected]>
Co-authored-by: Owais Kazi <[email protected]>
Co-authored-by: Xue Zhou <[email protected]>
Co-authored-by: mwilkinson-imo <[email protected]>
Co-authored-by: Mike Wilkinson <[email protected]>
Co-authored-by: Andrija Pantovic <[email protected]>
Co-authored-by: Ankit Kala <[email protected]>
Co-authored-by: Ketan Verma <[email protected]>
Co-authored-by: Daniel Widdis <[email protected]>
Co-authored-by: Hauck <[email protected]>
Co-authored-by: Ashish <[email protected]>
Co-authored-by: Anshu Agarwal <[email protected]>
Co-authored-by: Navneet Verma <[email protected]>
Co-authored-by: Rishab Nahata <[email protected]>
Co-authored-by: msfroh <[email protected]>
Co-authored-by: Heemin Kim <[email protected]>
Bukhtawar pushed a commit that referenced this pull request Oct 8, 2022
* [BUG] Running "opensearch-service.bat start" and "opensearch-service.bat manager" (#4289)

* [BUG] Update opensearch-service-x64.exe parameters to //ES for Execute Service. Update opensearch-service-mgr.exe parameters to //ES for Edit Service. Add code comments for the Apache Commons Daemon.

Signed-off-by: Alex Burck <[email protected]>

* update changelog with pull request link

Signed-off-by: Alex Burck <[email protected]>

Signed-off-by: Alex Burck <[email protected]>

* Removing dead code in RecoveryTarget. (#4278)

* Removing dead code in RecoveryTarget.

This code in RecoveryTarget is not invoked, all of these methods are implemented by the parent ReplicationTarget with the same behavior.

Signed-off-by: Marc Handalian <[email protected]>

* PR Comments.

Signed-off-by: Marc Handalian <[email protected]>

Signed-off-by: Marc Handalian <[email protected]>

* Update the head ref to changelog verifier (#4296)

* Update changelog contribution guide

Signed-off-by: Kunal Kotwani <[email protected]>

* Fix reference to pull request

Signed-off-by: Kunal Kotwani <[email protected]>

Signed-off-by: Kunal Kotwani <[email protected]>

* Add 2.x version to CHANGELOG (#4297)

Signed-off-by: Kunal Kotwani <[email protected]>

Signed-off-by: Kunal Kotwani <[email protected]>

* Do not fail replica shard due to primary closure (#4133)

This commit prevents a replica shard from being failed in the case that
a replication action to a replica is canceled due to the primary shard
being closed.

Signed-off-by: Andrew Ross <[email protected]>

Signed-off-by: Andrew Ross <[email protected]>

* Some dependency updates (#4308)

Signed-off-by: Andriy Redko <[email protected]>

Signed-off-by: Andriy Redko <[email protected]>

* Restore using the class ClusterInfoRequest and ClusterInfoRequestBuilder from package 'org.opensearch.action.support.master.info' for subclasses (#4307)

* Restore using the class ClusterInfoRequest and ClusterInfoRequestBuilder from package 'org.opensearch.action.support.master.info' for subclasses

Signed-off-by: Tianli Feng <[email protected]>

* Add changelog

Signed-off-by: Tianli Feng <[email protected]>

Signed-off-by: Tianli Feng <[email protected]>
Co-authored-by: Andrew Ross <[email protected]>

* [BUG] Create logs directory before running OpenSearch on Windows (#4305)

* [BUG] Create logs directory before running OpenSearch on Windows

Signed-off-by: Alex Burck <[email protected]>

* update changlog pr link

Signed-off-by: Alex Burck <[email protected]>

Signed-off-by: Alex Burck <[email protected]>

* Use RemoteSegmentStoreDirectory instead of RemoteDirectory (#4240)

* Use RemoteSegmentStoreDirectory instead of RemoteDirectory

Signed-off-by: Sachin Kale <[email protected]>

* ZIP publication groupId value is configurable (#4156)

When publishing Zip POM the groupId value was hard-coded to `org.opensearch.plugin` value which worked fine for existing core plugins but is not convenient for other plugins (such as community plugins maintained in independent repositories).

This PR changes the sources of the ZIP publishing groupId value.

Specifically, there are two ways to set the value:
1) It is automatically inherited from the Gradle "project.group"
2) It can be manually specified in the ZIP publication POM object

This PR also brings a major rework of tests in PublishTests class. Individual testing scenarios are driven by "real" gradle building scripts (utilizing `java-gradle-plugin` gradle plugin).

Closes #3692

Signed-off-by: Lukáš Vlček <[email protected]>

Signed-off-by: Lukáš Vlček <[email protected]>

* [Segment Replication] Add timeout on Mockito.verify to reduce flakyness in testReplicationOnDone test (#4314)

* [Segment Replication] testReplicationOnDone Add timeout to allow time for verify call

Signed-off-by: Suraj Singh <[email protected]>

* Update changelog

Signed-off-by: Suraj Singh <[email protected]>

* Add change log entry

Signed-off-by: Suraj Singh <[email protected]>

Signed-off-by: Suraj Singh <[email protected]>

* Adding @dreamer-89 to Opensearch maintainers. (#4342)

Signed-off-by: Kartik Ganesh <[email protected]>

Signed-off-by: Kartik Ganesh <[email protected]>

* [CVE] Update snakeyaml dependency (#4341)

The package `org.yaml:snakeyaml` before version 1.31 are vulnerable to Denial of Service (DoS) due missing to nested depth limitation for collections.

Details at https://nvd.nist.gov/vuln/detail/CVE-2022-25857

Signed-off-by: Rabi Panda <[email protected]>

* Fixed commit workflow for dependabot PR helper (#4331)

* Fixed label for dependabot PR helper

Signed-off-by: Kunal Kotwani <[email protected]>

* Update autocommit workflow for dependabot changelog

Signed-off-by: Kunal Kotwani <[email protected]>

* Add version config for dependabot changelog helper

Signed-off-by: Kunal Kotwani <[email protected]>

Signed-off-by: Kunal Kotwani <[email protected]>

* Add release notes for patch release 1.3.5 (#4343)


Signed-off-by: Rabi Panda <[email protected]>

* Add release notes for patch release 2.2.1 (#4344)


Signed-off-by: Rabi Panda <[email protected]>

* Add label configuration for dependabot PRs (#4348)

* Support for HTTP/2 (server-side)  (#3847)

* Support for HTTP/2 (server-side)

Signed-off-by: Andriy Redko <[email protected]>

* Addressing code review comments

Signed-off-by: Andriy Redko <[email protected]>

* Added HTTP/1.1 channel configuration

Signed-off-by: Andriy Redko <[email protected]>

* Addressing code review comments

Signed-off-by: Andriy Redko <[email protected]>

* Update pul request URL in CHANGELOG.md

Signed-off-by: Andriy Redko <[email protected]>

Signed-off-by: Andriy Redko <[email protected]>

* Fix token usage for changelog helper (#4351)

Signed-off-by: Kunal Kotwani <[email protected]>

Signed-off-by: Kunal Kotwani <[email protected]>

* Revert "Fix token usage for changelog helper (#4351)" (#4361)

This reverts commit c28221e0176ad3ce782c18a2b23ea2e59ed0e0a8.

Signed-off-by: Kunal Kotwani <[email protected]>

Signed-off-by: Kunal Kotwani <[email protected]>

* Segment Replication - Implement segment replication event cancellation. (#4225)

* Segment Replication.  Fix Cancellation of replication events.

This PR updates segment replication paths to correctly cancel replication events on the primary and replica.
In the source service, any ongoing event for a primary that is sending to a replica that shuts down or is promoted as a new primary are cancelled.
In the target service, any ongoing event for a replica that is promoted as a new primary or is fetching from a primary that shuts down.
It wires up SegmentReplicationSourceService as an IndexEventListener so that it can respond to events and cancel any ongoing transfer state.
This change also includes some test cleanup for segment replication to rely on actual components over mocks.

Signed-off-by: Marc Handalian <[email protected]>

Fix to not start/stop SegmentReplicationSourceService as a lifecycle component with feature flag off.

Signed-off-by: Marc Handalian <[email protected]>

Update logic to properly mark SegmentReplicationTarget as cancelled when cancel initiated by primary.

Signed-off-by: Marc Handalian <[email protected]>

Minor updates from self review.

Signed-off-by: Marc Handalian <[email protected]>

* Add missing changelog entry.

Signed-off-by: Marc Handalian <[email protected]>

Signed-off-by: Marc Handalian <[email protected]>

* Bug fixes for dependabot changelog verifier (#4364)

* Fix token usage for changelog helper

Signed-off-by: Kunal Kotwani <[email protected]>

* Add conditional check for dependabot steps

Signed-off-by: Kunal Kotwani <[email protected]>

* Add dependency section

Signed-off-by: Kunal Kotwani <[email protected]>

* Bug fixes for dependabot changelog verifier

Signed-off-by: Kunal Kotwani <[email protected]>

* Update the changelog

Signed-off-by: Kunal Kotwani <[email protected]>

Signed-off-by: Kunal Kotwani <[email protected]>

* Add changes for Create PIT and Delete PIT rest layer and rest high level client (#4064)

* Create and delete PIT search rest layer changes

Signed-off-by: Bharathwaj G <[email protected]>

* Bump com.diffplug.spotless from 6.9.1 to 6.10.0 (#4319)

* Update to Netty 4.1.80.Final (#4359)

Signed-off-by: Andriy Redko <[email protected]>

* Bump xmlbeans from 5.1.0 to 5.1.1 in /plugins/ingest-attachment (#4354)

* Bump xmlbeans from 5.1.0 to 5.1.1 in /plugins/ingest-attachment

Bumps xmlbeans from 5.1.0 to 5.1.1.

---
updated-dependencies:
- dependency-name: org.apache.xmlbeans:xmlbeans
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>

* Updating SHAs

Signed-off-by: dependabot[bot] <[email protected]>

* Update changelog

Signed-off-by: dependabot[bot] <[email protected]>

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: dependabot[bot] <dependabot[bot]@users.noreply.github.com>

* Fix randomized test failure NRTReplicationEngineTests.testUpdateSegments (#4352)

Overload `generateHistoryOnReplica` to be able to generate only a specific `Engine.Operation.TYPE` operations as required by the `testUpdateSegments` test

Signed-off-by: Rabi Panda <[email protected]>

Signed-off-by: Rabi Panda <[email protected]>

* [AUTO] [main] Added bwc version 2.2.2. (#4383)

* Added bwc version 2.2.2

* Add changelog

Signed-off-by: Kunal Kotwani <[email protected]>

Signed-off-by: Kunal Kotwani <[email protected]>
Co-authored-by: opensearch-ci-bot <[email protected]>
Co-authored-by: Kunal Kotwani <[email protected]>

* [Segment Replication] Bump segment infos counter before commit during replica promotion (#4365)

* [Segment Replication] Bump segment infos counter before commit during replica promotion

Signed-off-by: Suraj Singh <[email protected]>

* Add changelog entry

Signed-off-by: Suraj Singh <[email protected]>

Signed-off-by: Suraj Singh <[email protected]>

* [Segment Replication] Add check to cancel ongoing replication with old primary on onNewCheckpoint on replica (#4363)

* [Segment Replication] Add check to cancel ongoing replication with old primary on onNewCheckpoint on replica

Signed-off-by: Suraj Singh <[email protected]>

* Add changelog entry

Signed-off-by: Suraj Singh <[email protected]>

* Address review comments

Signed-off-by: Suraj Singh <[email protected]>

* Address review comments 2

Signed-off-by: Suraj Singh <[email protected]>

* Test failures

Signed-off-by: Suraj Singh <[email protected]>

Signed-off-by: Suraj Singh <[email protected]>

* Adding support for labels on version bump PRs, skip label support for… (#4391)

* Adding support for labels on version bump PRs, skip label support for changelog verifier

Signed-off-by: Kunal Kotwani <[email protected]>

* Add changelog

Signed-off-by: Kunal Kotwani <[email protected]>

Signed-off-by: Kunal Kotwani <[email protected]>

* [Segment Replication] Extend FileChunkWriter to allow cancel on transport client (#4386)

* [Segment Replication] Extend FileChunkWriter to allow cancel on retryable transport client

Signed-off-by: Suraj Singh <[email protected]>

* Add changelog entry

Signed-off-by: Suraj Singh <[email protected]>

* Address review comments

Signed-off-by: Suraj Singh <[email protected]>

* Integration test

Signed-off-by: Suraj Singh <[email protected]>

Signed-off-by: Suraj Singh <[email protected]>

* Added RestLayer Changes for PIT stats (#4217)

Signed-off-by: Ajay Kumar Movva <[email protected]>

* Modified cat shards test for pit stats (#4408)

Signed-off-by: Ajay Kumar Movva <[email protected]>

* [Remote Store] Add index specific setting for remote repository (#4253)

* Add index specific setting for remote repository
* Fix for failover incremental uploads

Signed-off-by: Sachin Kale <[email protected]>

* [Semgnet Replication] Update flaky testOnNewCheckpointFromNewPrimaryCancelOngoingReplication unit test (#4414)

* [Semgnet Replication] Update flaky testOnNewCheckpointFromNewPrimaryCancelOngoingReplication unit test

Signed-off-by: Suraj Singh <[email protected]>

* Add changelog entry

Signed-off-by: Suraj Singh <[email protected]>

* Update changelog entry

Signed-off-by: Suraj Singh <[email protected]>

Signed-off-by: Suraj Singh <[email protected]>

* Segment Replication - Fix NoSuchFileException errors caused when computing metadata snapshot on primary shards. (#4366)

* Segment Replication - Fix NoSuchFileException errors caused when computing metadata snapshot on primary shards.

This change fixes the errors that occur when computing metadata snapshots on primary shards from the latest in-memory SegmentInfos.  The error occurs when a segments_N file that is referenced by the in-memory infos is deleted as part of a concurrent commit.  The segments themselves are incref'd by IndexWriter.incRefDeleter but the commit file (Segments_N) is not.  This change resolves this by ignoring the segments_N file when computing metadata for CopyState and only sending incref'd segment files to replicas.

Signed-off-by: Marc Handalian <[email protected]>

* Fix spotless.

Signed-off-by: Marc Handalian <[email protected]>

* Update StoreTests.testCleanupAndPreserveLatestCommitPoint to assert additional segments are deleted.

Signed-off-by: Marc Handalian <[email protected]>

* Rename snapshot to metadataMap in CheckpointInfoResponse.

Signed-off-by: Marc Handalian <[email protected]>

* Refactor segmentReplicationDiff method to compute off two maps instead of MetadataSnapshots.

Signed-off-by: Marc Handalian <[email protected]>

* Fix spotless.

Signed-off-by: Marc Handalian <[email protected]>

* Revert catchall in SegmentReplicationSourceService.

Signed-off-by: Marc Handalian <[email protected]>

* Revert log lvl change.

Signed-off-by: Marc Handalian <[email protected]>

* Fix SegmentReplicationTargetTests

Signed-off-by: Marc Handalian <[email protected]>

* Cleanup unused logger.

Signed-off-by: Marc Handalian <[email protected]>

Signed-off-by: Marc Handalian <[email protected]>
Co-authored-by: Suraj Singh <[email protected]>

* Bump org.gradle.test-retry from 1.4.0 to 1.4.1 (#4411)

* Bump org.gradle.test-retry from 1.4.0 to 1.4.1

Bumps org.gradle.test-retry from 1.4.0 to 1.4.1.

---
updated-dependencies:
- dependency-name: org.gradle.test-retry
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>

* Update changelog

Signed-off-by: dependabot[bot] <[email protected]>

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: dependabot[bot] <dependabot[bot]@users.noreply.github.com>

* Revert to Netty 4.1.79.Final (#4428)

Signed-off-by: Craig Perkins <[email protected]>

Signed-off-by: Craig Perkins <[email protected]>

* [Segment Replication] Fix timeout issue by calculating time needed to process getSegmentFiles. (#4426)

* Fix timeout issue by calculating time needed to process getSegmentFiles.

Signed-off-by: Rishikesh1159 <[email protected]>

* Formatting sizeOfSegmentFiles for time calculation.

Signed-off-by: Rishikesh1159 <[email protected]>

* Addressing comments and applying spotless check.

Signed-off-by: Rishikesh1159 <[email protected]>

Signed-off-by: Rishikesh1159 <[email protected]>

* [Bug]: gradle check failing with java heap OutOfMemoryError (#4328)

* [Bug]: gradle check failing with java heap OutOfMemoryError

Signed-off-by: Andriy Redko <[email protected]>

* Fork JavaCompile task

Signed-off-by: Andriy Redko <[email protected]>

Signed-off-by: Andriy Redko <[email protected]>

* Bump azure-core-http-netty from 1.12.0 to 1.12.4 in /plugins/repository-azure (#4160)

* Bump azure-core-http-netty in /plugins/repository-azure

Bumps [azure-core-http-netty](https:/Azure/azure-sdk-for-java) from 1.12.0 to 1.12.4.
- [Release notes](https:/Azure/azure-sdk-for-java/releases)
- [Commits](https:/Azure/azure-sdk-for-java/compare/azure-core_1.12.0...azure-core-http-netty_1.12.4)

---
updated-dependencies:
- dependency-name: com.azure:azure-core-http-netty
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>

* Updating SHAs

Signed-off-by: dependabot[bot] <[email protected]>

* Added missing forbidden classes

Signed-off-by: Owais Kazi <[email protected]>

* update version of azure-storage-common and azure-core-http-netty

Signed-off-by: Xue Zhou <[email protected]>

* update version of azure-storage-common and azure-core-http-netty

Signed-off-by: Xue Zhou <[email protected]>

* adding changelog information

Signed-off-by: Xue Zhou <[email protected]>

Signed-off-by: dependabot[bot] <[email protected]>
Signed-off-by: Owais Kazi <[email protected]>
Signed-off-by: Xue Zhou <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: dependabot[bot] <dependabot[bot]@users.noreply.github.com>
Co-authored-by: Owais Kazi <[email protected]>
Co-authored-by: Xue Zhou <[email protected]>

* Bugfix: Allow opensearch.bat file and opensearch-env.bat files to run when install path includes a space. (#4362)

* Bugfix: Prevent escaping of in `else-if` statement by setting variable without double quotes.

Signed-off-by: Mike Wilkinson <[email protected]>

* Add changelog entry for fix

Signed-off-by: Mike Wilkinson <[email protected]>

* Escape double quotes for environment variables set by `opensearch-env.bat`. Explicitly apply quotes where those environment variables are invoked.

Signed-off-by: Mike Wilkinson <[email protected]>

Signed-off-by: Mike Wilkinson <[email protected]>
Co-authored-by: Mike Wilkinson <[email protected]>

* [Segment Replication] - Update replicas to commit SegmentInfos instead of relying on segments_N from primary shards. (#4402)

* Segment Replication - Update replicas to commit SegmentInfos instead of relying on segments_N from primary shards.

This change updates replicas to commit SegmentInfos before the shard is closed, on receiving a new commit point from a primary, and when a new primary is detected. This change also makes the public commitSegmentInfos on NRTEngine obsolete, refactoring IndexShard to simply call reset on the engine.

Signed-off-by: Marc Handalian <[email protected]>

* Remove noise & extra log statement.

Signed-off-by: Marc Handalian <[email protected]>

* PR feedback.

Signed-off-by: Marc Handalian <[email protected]>

Signed-off-by: Marc Handalian <[email protected]>

* Bump reactor-netty-core from 1.0.19 to 1.0.22 in /plugins/repository-azure (#4447)

* Bump reactor-netty-core in /plugins/repository-azure

Bumps [reactor-netty-core](https:/reactor/reactor-netty) from 1.0.19 to 1.0.22.
- [Release notes](https:/reactor/reactor-netty/releases)
- [Commits](https:/reactor/reactor-netty/compare/v1.0.19...v1.0.22)

---
updated-dependencies:
- dependency-name: io.projectreactor.netty:reactor-netty-core
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>

* Updating SHAs

Signed-off-by: dependabot[bot] <[email protected]>

* Update changelog

Signed-off-by: dependabot[bot] <[email protected]>

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: dependabot[bot] <dependabot[bot]@users.noreply.github.com>

* Add bwcVersion 2.4.0 (#4455)

* Add bwcVersion 2.4.0

Signed-off-by: Suraj Singh <[email protected]>

* Add changelog entry

Signed-off-by: Suraj Singh <[email protected]>

Signed-off-by: Suraj Singh <[email protected]>

* add support for s390x architecture (#4001)

* add s390x support in systemcallfilter

https:/opensearch-project/OpenSearch/issues/4000
Signed-off-by: Andrija Pantovic <[email protected]>

* add gradle cfg for s390x

Signed-off-by: Andrija Pantovic <[email protected]>

* change assertion for architecture

Signed-off-by: Andrija Pantovic <[email protected]>

* change assertion for architecture

Signed-off-by: Andrija Pantovic <[email protected]>

* update changelog

Signed-off-by: Andrija Pantovic <[email protected]>

Signed-off-by: Andrija Pantovic <[email protected]>
Signed-off-by: Andrija Pantovic <[email protected]>

* 2.3.0 release notes (#4457) (#4464)

* 2.3.0 release notes

Signed-off-by: Suraj Singh <[email protected]>

* Add changelog entry

Signed-off-by: Suraj Singh <[email protected]>

Signed-off-by: Suraj Singh <[email protected]>

Signed-off-by: Suraj Singh <[email protected]>

* Add getHistoryOperationsFromTranslog method to fetch the history snapshot from translogs (#3948)

* Add getHistoryOperationsFromTranslog method to fetch the hostory snapshot from translogs

Signed-off-by: Ankit Kala <[email protected]>

* Fixed flaky test: ResourceAwareTasksTests.testTaskIdPersistsInThreadContext (#4484)

Signed-off-by: Ketan Verma <[email protected]>

* Getting security exception due to access denied 'java.lang.RuntimePermission' 'accessDeclaredMembers' when trying to get snapshot with S3 IRSA (#4469)

Signed-off-by: Andriy Redko <[email protected]>

Signed-off-by: Andriy Redko <[email protected]>
Co-authored-by: Suraj Singh <[email protected]>

* [Javadoc] add missing javadocs for :distribution:tools modules (#4483)

* Add javadocs for distribution:tools:java-version-checker

Signed-off-by: Daniel Widdis <[email protected]>

* Add javadocs for distribution:tools:keystore-cli

Signed-off-by: Daniel Widdis <[email protected]>

* Add javadocs for distribution:tools:plugin-cli

Signed-off-by: Daniel Widdis <[email protected]>

* Add javadocs for distribution:tools:launchers

Signed-off-by: Daniel Widdis <[email protected]>

* Change log

Signed-off-by: Daniel Widdis <[email protected]>

Signed-off-by: Daniel Widdis <[email protected]>

* Bump reactive-streams from 1.0.3 to 1.0.4 in /plugins/repository-azure (#4488)

* Bump reactive-streams from 1.0.3 to 1.0.4 in /plugins/repository-azure

Bumps [reactive-streams](https:/reactive-streams/reactive-streams) from 1.0.3 to 1.0.4.
- [Release notes](https:/reactive-streams/reactive-streams/releases)
- [Changelog](https:/reactive-streams/reactive-streams-jvm/blob/master/RELEASE-NOTES.md)
- [Commits](https:/reactive-streams/reactive-streams/compare/v1.0.3...v1.0.4)

---
updated-dependencies:
- dependency-name: org.reactivestreams:reactive-streams
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>

* Updating SHAs

Signed-off-by: dependabot[bot] <[email protected]>

* Update changelog

Signed-off-by: dependabot[bot] <[email protected]>

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: dependabot[bot] <dependabot[bot]@users.noreply.github.com>

* Ignore all malformed objects when ignore_malformed is true (#4494)

Fixes a bug to not fail the entire document when "ignore_malformed" is set to true. Allowing the valid fields 
to be indexed and ignore only the malformed fields.

Signed-off-by: Hauck <[email protected]>

* [AUTO] [main] Added bwc version 2.3.1. (#4513)

* Added bwc version 2.3.1
* Add changelog of adding bwc version 2.3.1

Signed-off-by: Tianli Feng <[email protected]>

* [Segment Replication] Add snapshot and restore tests for segment replication feature (#3993)

* [Segment Replication] Add snapshots tests with segment replication enabled

Signed-off-by: Suraj Singh <[email protected]>

* Fix spotless failures

Signed-off-by: Suraj Singh <[email protected]>

* Add changelog entry, address review comments, add failover test

Signed-off-by: Suraj Singh <[email protected]>

* Fix spotless failures

Signed-off-by: Suraj Singh <[email protected]>

* Address review comments 2

Signed-off-by: Suraj Singh <[email protected]>

Signed-off-by: Suraj Singh <[email protected]>

* [Remote Store] Change behaviour in replica recovery for remote translog enabled indices (#4318)

Signed-off-by: Ashish Singh <[email protected]>

* Weighted round-robin scheduling policy for shard coordination traffic… (#4241)

* Weighted round-robin scheduling policy for shard coordination traffic routing

Signed-off-by: Anshu Agarwal <[email protected]>

* [Javadoc] add missing javadocs for :example-plugin modules (#4540)

* Add javadocs for example-plugins:custom-settings module

Signed-off-by: Daniel Widdis <[email protected]>

* Add javadocs for example-plugins:custom-significance-heuristic

Signed-off-by: Daniel Widdis <[email protected]>

* Add javadocs for example-plugins:custom-suggester

Signed-off-by: Daniel Widdis <[email protected]>

* Add javadocs to example-plugins:painless-allowlist

Signed-off-by: Daniel Widdis <[email protected]>

* Add javadocs to example-plugins:rescore

Signed-off-by: Daniel Widdis <[email protected]>

* Add javadocs to example-plugins:rest-handler

Signed-off-by: Daniel Widdis <[email protected]>

* Add javadocs to example-plugins:script-expert-scoring

Signed-off-by: Daniel Widdis <[email protected]>

* Remove exclusions for module which aren't giving javadoc errors

Signed-off-by: Daniel Widdis <[email protected]>

* CI testing apparently needs to instantiate a no-op class

Signed-off-by: Daniel Widdis <[email protected]>

Signed-off-by: Daniel Widdis <[email protected]>

* Add GeoBounds aggregation on GeoShape field type.(#3980) (#4266)

Enables geo_bounds aggregation to work with geo_shape field types.

This enhancement includes:
    * Addition of Doc values on the GeoShape Field.
    * Addition of GeoShape ValueSource level code interfaces for accessing the DocValues.
    * Addition of Missing Value feature in the GeoShape Aggregations.

Signed-off-by: Navneet Verma <[email protected]>

* Updates jackson and snakeyml dependencies (#4556)

* Upgrade jackson and snakeyml dependencies

Signed-off-by: Owais Kazi <[email protected]>

* Updated changelog

Signed-off-by: Owais Kazi <[email protected]>

Signed-off-by: Owais Kazi <[email protected]>

* Bump com.diffplug.spotless from 6.10.0 to 6.11.0 (#4547)

* Bump com.diffplug.spotless from 6.10.0 to 6.11.0

---
updated-dependencies:
- dependency-name: com.diffplug.spotless
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>

* Bump reactor-core from 3.4.18 to 3.4.23 in /plugins/repository-azure (#4548)

* Bump reactor-core from 3.4.18 to 3.4.23 in /plugins/repository-azure

Bumps [reactor-core](https:/reactor/reactor-core) from 3.4.18 to 3.4.23.
- [Release notes](https:/reactor/reactor-core/releases)
- [Commits](https:/reactor/reactor-core/compare/v3.4.18...v3.4.23)

---
updated-dependencies:
- dependency-name: io.projectreactor:reactor-core
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>

* Bump jempbox from 1.8.16 to 1.8.17 in /plugins/ingest-attachment (#4550)

* Bump jempbox from 1.8.16 to 1.8.17 in /plugins/ingest-attachment

Bumps jempbox from 1.8.16 to 1.8.17.

---
updated-dependencies:
- dependency-name: org.apache.pdfbox:jempbox
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>

* Bump log4j-core from 2.18.0 to 2.19.0 in /buildSrc/src/testKit/thirdPartyAudit (#4549)

* Bump log4j-core in /buildSrc/src/testKit/thirdPartyAudit

Bumps log4j-core from 2.18.0 to 2.19.0.

---
updated-dependencies:
- dependency-name: org.apache.logging.log4j:log4j-core
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>

* Update changelog

Signed-off-by: dependabot[bot] <[email protected]>

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: dependabot[bot] <dependabot[bot]@users.noreply.github.com>

* Ignore lock file when testing cleanupAndPreserveLatestCommitPoint (#4544)

Signed-off-by: Daniel Widdis <[email protected]>

Signed-off-by: Daniel Widdis <[email protected]>

* Remove deprecated code to add node name into log pattern of log4j property file (#4568)

Signed-off-by: Tianli Feng <[email protected]>

* Unmute RelocationIT.testRelocationWhileIndexingRandom. (#4580)

Signed-off-by: Marc Handalian <[email protected]>

Signed-off-by: Marc Handalian <[email protected]>

* Add DecommissionService and helper to execute awareness attribute decommissioning (#4084)

* Add Executor to decommission node attribute
* Decommission service implementation with cluster metadata
* Master abdication changes to decommission local awareness leader
* Update join validator changes to validate decommissioned node join request

Signed-off-by: Rishab Nahata <[email protected]>

* Added rest layer changes for List all PITs and PIT segments (#4388)

* Changes for list all and pit segments

Signed-off-by: Bharathwaj G <[email protected]>

* Add PUT api to update shard routing weights (#4272)

* Add PUT api to update shard routing weights

Signed-off-by: Anshu Agarwal <[email protected]>

* Further simplification of the ZIP publication implementation (#4360)

A follow-up of PR #4156 that brings in further simplification of the ZIP publication implementation and new tests.

It is possible to remove some of the initialization code because the work is already handled by other library under the hood (most likely by NebulaPublishPlugin).

For instance the condition to test the `groupId` presence: `if (groupId == null)` was pointless. It was never `true`. If the `project.group` is not defined the publication task fails with an exception, if there is a custom `groupId` value setup in publication config then it overrides the `project.group` as well. Tests are provided to cover these use cases.

As for the new tests they cover the following cases:

- verify that the task "publishToMavenLocal" gets expected results. The inspiration for this comes from https:/opensearch-project/opensearch-plugin-template-java/pull/35

- verify that applying only the 'opensearch.pluginzip' is enough, because both the NebulaPublish and MavenPublishPlugin plugins are added explicitly and tasks are chained correctly

- verify that if the plugin is applied but no publication is defined then a message is printed for the user

Signed-off-by: Lukáš Vlček <[email protected]>

Signed-off-by: Lukáš Vlček <[email protected]>

* Add missing Javadoc tag descriptions in unit tests (#4629)

* Add missing Javadoc tag descriptions in unit tests

Using JDK14 (downloaded from https://jdk.java.net/archive/), I tried
running ./gradlew check, and received errors like:

server/src/test/java/org/opensearch/indices/replication/SegmentReplicationTargetTests.java:440:
warning: no description for @throws

The build then failed with "warnings found and -Werror specified".

I tried again with JDK17 and the build passed.

According to DEVELOPER_GUIDE.md, we should be able to build with JDK14,
I added the missing Javadoc tag descriptions.

Signed-off-by: Michael Froh <[email protected]>

* Update CHANGELOG.md

Signed-off-by: Michael Froh <[email protected]>

Signed-off-by: Michael Froh <[email protected]>

* Bump reactor-netty-http from 1.0.18 to 1.0.23 in /plugins/repository-azure (#4594)

* Bump reactor-netty-http in /plugins/repository-azure

Bumps [reactor-netty-http](https:/reactor/reactor-netty) from 1.0.18 to 1.0.23.
- [Release notes](https:/reactor/reactor-netty/releases)
- [Commits](https:/reactor/reactor-netty/compare/v1.0.18...v1.0.23)

---
updated-dependencies:
- dependency-name: io.projectreactor.netty:reactor-netty-http
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>

* Updating SHAs

Signed-off-by: dependabot[bot] <[email protected]>

* Update changelog

Signed-off-by: dependabot[bot] <[email protected]>

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: dependabot[bot] <dependabot[bot]@users.noreply.github.com>

* Bump jettison from 1.5.0 to 1.5.1 in /plugins/discovery-azure-classic (#4592)

* Bump jettison from 1.5.0 to 1.5.1 in /plugins/discovery-azure-classic

Bumps [jettison](https:/jettison-json/jettison) from 1.5.0 to 1.5.1.
- [Release notes](https:/jettison-json/jettison/releases)
- [Commits](https:/jettison-json/jettison/compare/jettison-1.5.0...jettison-1.5.1)

---
updated-dependencies:
- dependency-name: org.codehaus.jettison:jettison
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>

* Updating SHAs

Signed-off-by: dependabot[bot] <[email protected]>

* Update changelog

Signed-off-by: dependabot[bot] <[email protected]>

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: dependabot[bot] <dependabot[bot]@users.noreply.github.com>

* Fix invalid search location of JDK for arm64 (#4613)

Related commit: 0e9f74e35f1255cb9ec45be3d8960aad195a9f6e

Signed-off-by: Heemin Kim <[email protected]>

Signed-off-by: Heemin Kim <[email protected]>

* Remove unused object and import from TransportClusterAllocationExplainAction (#4639)

Signed-off-by: Kunal Kotwani <[email protected]>

Signed-off-by: Kunal Kotwani <[email protected]>

* Relax visibility of the HTTP_CHANNEL_KEY and HTTP_SERVER_CHANNEL_KEY to make it possible for the plugins to access associated Netty4HttpChannel / Netty4HttpServerChannel instance (#4638)

Signed-off-by: Andriy Redko <[email protected]>

Signed-off-by: Andriy Redko <[email protected]>

* Bumping hadoop-hdfs version to 3.3.4 (#4644)

* Updating hadoop-hdfs version

Signed-off-by: Sarat Vemulapalli <[email protected]>

* Adding changelog

Signed-off-by: Sarat Vemulapalli <[email protected]>

Signed-off-by: Sarat Vemulapalli <[email protected]>

* Bugfix/496 rollover alias with filters (#4499)

* 496: Added filters, indexRouting and searchRouting when doing rollover on alias

Signed-off-by: Stevan Buzejic <[email protected]>

* 496: Removed unused map property in metada alias rollover tests

Signed-off-by: Stevan Buzejic <[email protected]>

Signed-off-by: Stevan Buzejic <[email protected]>
Co-authored-by: Stevan Buzejic <[email protected]>

* Load the deprecated master role in a dedicated method instead of in setAdditionalRoles() (#4582)

Signed-off-by: Tianli Feng <[email protected]>

* Add APIs (GET/PUT) to decommission awareness attribute (#4261)

* Add APIs (GET/PUT) to decommission awareness attribute

Signed-off-by: Rishab Nahata <[email protected]>

* Adding check to make sure checkpoint is not processed when a shard's shard routing is primary. (#4630)

Signed-off-by: Rishikesh1159 <[email protected]>

Signed-off-by: Rishikesh1159 <[email protected]>
Co-authored-by: Suraj Singh <[email protected]>

* Bump azure-storage-common from 12.18.0 to 12.18.1 in /plugins/repository-azure (#4664)

* Bump azure-storage-common in /plugins/repository-azure

Bumps [azure-storage-common](https:/Azure/azure-sdk-for-java) from 12.18.0 to 12.18.1.
- [Release notes](https:/Azure/azure-sdk-for-java/releases)
- [Commits](https:/Azure/azure-sdk-for-java/compare/azure-storage-blob_12.18.0...azure-storage-common_12.18.1)

---
updated-dependencies:
- dependency-name: com.azure:azure-storage-common
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>

* Updating SHAs

Signed-off-by: dependabot[bot] <[email protected]>

* Update changelog

Signed-off-by: dependabot[bot] <[email protected]>

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: dependabot[bot] <dependabot[bot]@users.noreply.github.com>

* Bump forbiddenapis from 3.3 to 3.4 in /buildSrc/src/testKit/thirdPartyAudit (#4662)

* Bump forbiddenapis in /buildSrc/src/testKit/thirdPartyAudit

Bumps [forbiddenapis](https:/policeman-tools/forbidden-apis) from 3.3 to 3.4.
- [Release notes](https:/policeman-tools/forbidden-apis/releases)
- [Commits](https:/policeman-tools/forbidden-apis/compare/3.3...3.4)

---
updated-dependencies:
- dependency-name: de.thetaphi:forbiddenapis
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>

* Update changelog

Signed-off-by: dependabot[bot] <[email protected]>

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: dependabot[bot] <dependabot[bot]@users.noreply.github.com>

* Fixed the SnapshotsInProgress error during index deletion (#4570)

Signed-off-by: Xue Zhou <[email protected]>

* Update to Apache Lucene 9.4.0 (#4661)

Signed-off-by: Andriy Redko <[email protected]>

Signed-off-by: Andriy Redko <[email protected]>

* Fixed day of year defaulting for round up parser (#4627)

Signed-off-by: Vishal Sarda <[email protected]>

* Fix PIT flaky tests (#4632)

* Fixing PIT flaky tests

Signed-off-by: Bharathwaj G <[email protected]>

* Add getter for path field in NestedQueryBuilder (#4636)

* Pre-commit checks now check for missing javadoc, and the Gradle check Jenkins build now waits for pre-commit checks to pass before attempting (#4660)

* Ignore all malformed objects when ignore_malformed is true (#4494)

Fixes a bug to not fail the entire document when "ignore_malformed" is set to true. Allowing the valid fields 
to be indexed and ignore only the malformed fields.

Signed-off-by: Hauck <[email protected]>
Signed-off-by: Braddy Yeoh <[email protected]>

* Adding javadoc check to the precommi\t GitHub Action

Signed-off-by: Braddy Yeoh <[email protected]>

* gradle check now only runs after successful gradle precommit check

Signed-off-by: Braddy Yeoh <[email protected]>

* Added to CHANGELOG

Signed-off-by: Braddy Yeoh [email protected]
Signed-off-by: Braddy Yeoh <[email protected]>

Signed-off-by: Hauck <[email protected]>
Signed-off-by: Braddy Yeoh <[email protected]>
Signed-off-by: Braddy Yeoh [email protected]
Co-authored-by: Hauck <[email protected]>
Co-authored-by: Braddy Yeoh <[email protected]>

* Backport Apache Lucene version change for 2.4.0 (#4677)

Signed-off-by: Andriy Redko <[email protected]>

Signed-off-by: Andriy Redko <[email protected]>

* Attempt to fix Github workflow for Gradle Check job (#4679)

Signed-off-by: Andriy Redko <[email protected]>

Signed-off-by: Andriy Redko <[email protected]>

* Adding precommit support for Windows (#4676)

* First draft for Windows precommit

Signed-off-by: Sarat Vemulapalli <[email protected]>

* Adding changelog

Signed-off-by: Sarat Vemulapalli <[email protected]>

Signed-off-by: Sarat Vemulapalli <[email protected]>

* Adding precommit support for MacOS (darwin) (#4682)

* First draft for Windows precommit

Signed-off-by: Sarat Vemulapalli <[email protected]>

* Adding changelog

Signed-off-by: Sarat Vemulapalli <[email protected]>

* Adding precommit for macos

Signed-off-by: Sarat Vemulapalli <[email protected]>

* Adding Changelog

Signed-off-by: Sarat Vemulapalli <[email protected]>

Signed-off-by: Sarat Vemulapalli <[email protected]>

* Fix flaky DecommissionControllerTests.testTimesOut (#4683)

This test fails pretty reliably if I run it on repeat. I believe the
problem is that the test assumes the function will take longer than 2ms,
which is likely not a valid assumption in all cases. Fortunately, I can
pass in a zero duration which is guaranteed to timeout even if the
system clock does not advance at all.

Also moved the assertions out of the callback into the main test method,
otherwise the assertion error messages would get buried and the test
report would just show a timeout error.

Signed-off-by: Andrew Ross <[email protected]>

Signed-off-by: Andrew Ross <[email protected]>

* Include Windows OS in Bootstrap initializeNatives() check for definitelyRunningAsRoot() (#4656)

* Bump jna from 5.11.0 to 5.12.1

Signed-off-by: Daniel Widdis <[email protected]>

* Include Windows OS in check for definitelyRunningAsRoot()

Signed-off-by: Daniel Widdis <[email protected]>

* Combine try/catch blocks

Signed-off-by: Daniel Widdis <[email protected]>

* Someone sniped my PR number between predicting and pushing

Signed-off-by: Daniel Widdis <[email protected]>

* Update SHAs

Signed-off-by: Daniel Widdis <[email protected]>

Signed-off-by: Daniel Widdis <[email protected]>

* Add release notes for 1.3.6 (#4681)

Signed-off-by: Rishikesh1159 <[email protected]>

Signed-off-by: Rishikesh1159 <[email protected]>

* Service Layer changes for Recommission API (#4320)

* Recommission API service level changes

Signed-off-by: pranikum <[email protected]>

* Add GET api to get shard routing weights (#4275)

* Weighted round-robin scheduling policy for shard coordination traffic routing

Signed-off-by: Anshu Agarwal <[email protected]>

* Fix new race condition in DecommissionControllerTests (#4688)

My previous fix introduced a new race condition by making the assertions
before waiting on the latch.

Signed-off-by: Andrew Ross <[email protected]>

Signed-off-by: Andrew Ross <[email protected]>

* Fixing SearchStats (de)serialization (#4697)

Fixes bwc failure caused by commit
6993ac9834d0f7e8e77e6cade09de2245d2a20f7.

Signed-off-by: Andriy Redko <[email protected]>

* Fixed misunderstanding message 'No OpenSearchException found' when detailed_error disabled (#4669)

* Fixed misunderstanding message 'No OpenSearchException found' when detailed_error disabled

Signed-off-by: Xue Zhou <[email protected]>

* Update GeoGrid base class access modifier to support extensibility (#4572)

* Update access modifier to support extensibility

Change access modifier from default to protected.
This will help to build new geo based aggregation
outside OpenSearch, by keeping GeoGrid Classes as base class.

Signed-off-by: Vijayan Balasubramanian <[email protected]>

* Updated CHANGELOG

Added PR details to CHANGELOG.md

Signed-off-by: Vijayan Balasubramanian <[email protected]>

* Rename InternalGeoGridBucket to BaseGeoGridBucket

Update class names, references and comments.

Signed-off-by: Vijayan Balasubramanian <[email protected]>

* Rename InternalGeoGrid to BaseGeoGrid

Signed-off-by: Vijayan Balasubramanian <[email protected]>

* Make GridBucket classes package-private

Signed-off-by: Vijayan Balasubramanian <[email protected]>

* Remove Internal prefix from Geo Grid classes

Signed-off-by: Vijayan Balasubramanian <[email protected]>

* Update constructor and class access modifier

Signed-off-by: Vijayan Balasubramanian <[email protected]>

* Update access modifier based on usage

Made classes package private if it is not used
outside the package.

Signed-off-by: Vijayan Balasubramanian <[email protected]>

Signed-off-by: Vijayan Balasubramanian <[email protected]>

* [Remove] LegacyESVersion.V_7_0_* and V_7_1_* constants (#2768)

* [Remove] LegacyESVersion.V_7_0_* and V_7_1_* constants

Removes all usages of LegacyESVersion.V_7_0_ and LegacyESVersion.V_7_1 version
constants.

Signed-off-by: Nicholas Walter Knize <[email protected]>

* Rebase from main

Signed-off-by: Nicholas Walter Knize <[email protected]>

* fix serialization issue with build flavor removal

Signed-off-by: Nicholas Walter Knize <[email protected]>

* remove stale bwc test

Signed-off-by: Nicholas Walter Knize <[email protected]>

* rebase and update

Signed-off-by: Nicholas Walter Knize <[email protected]>

* cleanup

Signed-off-by: Nicholas Walter Knize <[email protected]>

* fix failing mapper test

Signed-off-by: Nicholas Walter Knize <[email protected]>

Signed-off-by: Nicholas Walter Knize <[email protected]>

* Fixing Gradle warnings associated with publishPluginZipPublicationToXxx tasks (#4696)

Signed-off-by: Andriy Redko <[email protected]>

Signed-off-by: Andriy Redko <[email protected]>

* Bump gson from 2.9.0 to 2.9.1 in /test/fixtures/hdfs-fixture (#4066)

* Bump gson from 2.9.0 to 2.9.1 in /test/fixtures/hdfs-fixture

Bumps [gson](https:/google/gson) from 2.9.0 to 2.9.1.
- [Release notes](https:/google/gson/releases)
- [Changelog](https:/google/gson/blob/master/CHANGELOG.md)
- [Commits](https:/google/gson/compare/gson-parent-2.9.0...gson-parent-2.9.1)

---
updated-dependencies:
- dependency-name: com.google.code.gson:gson
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>

* Update changelog

Signed-off-by: dependabot[bot] <[email protected]>

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: dependabot[bot] <dependabot[bot]@users.noreply.github.com>

* Always auto release the flood stage block (#4703)

* Always auto release the flood stage block

Removes support for using a system property to disable the automatic release of
the write block applied when a node exceeds the flood-stage watermark.

Signed-off-by: Nicholas Walter Knize <[email protected]>

* update IAE message

Signed-off-by: Nicholas Walter Knize <[email protected]>

Signed-off-by: Nicholas Walter Knize <[email protected]>

* Controlling discovery for decommissioned nodes (#4590)

* Controlling discovery for decommissioned nodes

Signed-off-by: Rishab Nahata <[email protected]>

* [Remove] LegacyESVersion.V_7_2_* and V_7_3_* constants (#4702)

Removes all usages of LegacyESVersion.V_7_2_ and LegacyESVersion.V_7_3 version
constants along with related ancient APIs.

Signed-off-by: Nicholas Walter Knize <[email protected]>

* [Remove] LegacyESVersion.V_7_4_* and V_7_5_* constants (#4704)

Removes all usages of LegacyESVersion.V_7_4_ and LegacyESVersion.V_7_5
version constants along with ancient API logic.

Signed-off-by: Nicholas Walter Knize <[email protected]>

Signed-off-by: Alex Burck <[email protected]>
Signed-off-by: Marc Handalian <[email protected]>
Signed-off-by: Kunal Kotwani <[email protected]>
Signed-off-by: Andrew Ross <[email protected]>
Signed-off-by: Andriy Redko <[email protected]>
Signed-off-by: Tianli Feng <[email protected]>
Signed-off-by: Sachin Kale <[email protected]>
Signed-off-by: Lukáš Vlček <[email protected]>
Signed-off-by: Suraj Singh <[email protected]>
Signed-off-by: Kartik Ganesh <[email protected]>
Signed-off-by: Rabi Panda <[email protected]>
Signed-off-by: Bharathwaj G <[email protected]>
Signed-off-by: dependabot[bot] <[email protected]>
Signed-off-by: Ajay Kumar Movva <[email protected]>
Signed-off-by: Craig Perkins <[email protected]>
Signed-off-by: Rishikesh1159 <[email protected]>
Signed-off-by: Owais Kazi <[email protected]>
Signed-off-by: Xue Zhou <[email protected]>
Signed-off-by: Mike Wilkinson <[email protected]>
Signed-off-by: Andrija Pantovic <[email protected]>
Signed-off-by: Andrija Pantovic <[email protected]>
Signed-off-by: Ankit Kala <[email protected]>
Signed-off-by: Ketan Verma <[email protected]>
Signed-off-by: Daniel Widdis <[email protected]>
Signed-off-by: Hauck <[email protected]>
Signed-off-by: Ashish Singh <[email protected]>
Signed-off-by: Anshu Agarwal <[email protected]>
Signed-off-by: Navneet Verma <[email protected]>
Signed-off-by: Rishab Nahata <[email protected]>
Signed-off-by: Michael Froh <[email protected]>
Signed-off-by: Heemin Kim <[email protected]>
Signed-off-by: Sarat Vemulapalli <[email protected]>
Signed-off-by: Stevan Buzejic <[email protected]>
Signed-off-by: Vishal Sarda <[email protected]>
Signed-off-by: Braddy Yeoh <[email protected]>
Signed-off-by: Braddy Yeoh [email protected]
Signed-off-by: pranikum <[email protected]>
Signed-off-by: Vijayan Balasubramanian <[email protected]>
Signed-off-by: Nicholas Walter Knize <[email protected]>
Signed-off-by: Dhwanil Patel <[email protected]>
Co-authored-by: Alex Burck <[email protected]>
Co-authored-by: Marc Handalian <[email protected]>
Co-authored-by: Kunal Kotwani <[email protected]>
Co-authored-by: Andrew Ross <[email protected]>
Co-authored-by: Andriy Redko <[email protected]>
Co-authored-by: Tianli Feng <[email protected]>
Co-authored-by: Sachin Kale <[email protected]>
Co-authored-by: Lukáš Vlček <[email protected]>
Co-authored-by: Suraj Singh <[email protected]>
Co-authored-by: Kartik Ganesh <[email protected]>
Co-authored-by: Rabi Panda <[email protected]>
Co-authored-by: Bharathwaj G <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: dependabot[bot] <dependabot[bot]@users.noreply.github.com>
Co-authored-by: opensearch-trigger-bot[bot] <98922864+opensearch-trigger-bot[bot]@users.noreply.github.com>
Co-authored-by: opensearch-ci-bot <[email protected]>
Co-authored-by: Movva Ajaykumar <[email protected]>
Co-authored-by: Craig Perkins <[email protected]>
Co-authored-by: Rishikesh Pasham <[email protected]>
Co-authored-by: Owais Kazi <[email protected]>
Co-authored-by: Xue Zhou <[email protected]>
Co-authored-by: mwilkinson-imo <[email protected]>
Co-authored-by: Mike Wilkinson <[email protected]>
Co-authored-by: Andrija Pantovic <[email protected]>
Co-authored-by: Ankit Kala <[email protected]>
Co-authored-by: Ketan Verma <[email protected]>
Co-authored-by: Daniel Widdis <[email protected]>
Co-authored-by: Hauck <[email protected]>
Co-authored-by: Ashish <[email protected]>
Co-authored-by: Anshu Agarwal <[email protected]>
Co-authored-by: Navneet Verma <[email protected]>
Co-authored-by: Rishab Nahata <[email protected]>
Co-authored-by: msfroh <[email protected]>
Co-authored-by: Heemin Kim <[email protected]>
Co-authored-by: Sarat Vemulapalli <[email protected]>
Co-authored-by: Stevan Buzejic <[email protected]>
Co-authored-by: Stevan Buzejic <[email protected]>
Co-authored-by: Xue Zhou <[email protected]>
Co-authored-by: Vishal Sarda <[email protected]>
Co-authored-by: Pavlo Smahin <[email protected]>
Co-authored-by: Braddy Yeoh <[email protected]>
Co-authored-by: Braddy Yeoh <[email protected]>
Co-authored-by: pranikum <[email protected]>
Co-authored-by: Vijayan Balasubramanian <[email protected]>
Co-authored-by: Nick Knize <[email protected]>
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.

4 participants