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

Update GeoGrid base class access modifier to support extensibility #4572

Merged
merged 8 commits into from
Oct 7, 2022

Conversation

VijayanB
Copy link
Member

@VijayanB VijayanB commented Sep 22, 2022

Description

  • 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.

  • Updated GeoTileGrid and GeoHashGrid classes accordingly.

  • Updated doc to reflect base class as api

  • Renamed API class to reflect that it is not internal anymore

Signed-off-by: Vijayan Balasubramanian balasvij@amazon.com

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
  • Commit changes are listed out in CHANGELOG.md file (See: Changelog)

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.

@VijayanB VijayanB requested review from a team and reta as code owners September 22, 2022 12:29
@VijayanB VijayanB marked this pull request as draft September 22, 2022 12:30
@VijayanB VijayanB changed the title Update access modifier to support extensibility Update GeoGrid base class access modifier to support extensibility Sep 22, 2022
@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:

@VijayanB VijayanB marked this pull request as ready for review September 22, 2022 16:53
@github-actions
Copy link
Contributor

Gradle Check (Jenkins) Run Completed with:

@reta
Copy link
Collaborator

reta commented Sep 23, 2022

@VijayanB all these classes are desribed as internal, we need to update that to reflect that API is public now

* ...
* @opensearch.internal
* ...

See please the relevant discussion here: #3716 (comment), CC @nknize

@@ -54,7 +54,7 @@
* All geo-grid hash-encoding in a grid are of the same precision and held internally as a single long
* for efficiency's sake.
*
* @opensearch.internal
* @opensearch.api
*/
public abstract class InternalGeoGrid<B extends InternalGeoGridBucket> extends InternalMultiBucketAggregation<
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 rename these classes to get rid if InternalXxx prefix? It does not look like API for public use, naming should be appropriate

Copy link
Collaborator

Choose a reason for hiding this comment

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

Alternatively, we could introduce interfaces (as public APIs) and keep these classes indeed internal

Copy link
Member Author

Choose a reason for hiding this comment

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

We already have public GeoGrid/GeoGridBucket interfaces. I can rename from InternalGeoGrid to AbstractGeoGrid. Do you have any other suggestions?

Copy link
Collaborator

Choose a reason for hiding this comment

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

May be GeoGridBase ? The classes are abstract already ....

Copy link
Contributor

Choose a reason for hiding this comment

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

Only in terms of aggregation:
In my mind Internal prefix was added to classes which will be used when data nodes send the response to coordinator for aggregation. Which made sense to me.

Then the other classes GeoGridBucket classes are the actual interfaces which provides the response to customer.

Copy link
Contributor

Choose a reason for hiding this comment

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

Yeah thats a valid point. Thanks for providing this idea. +1 on this.

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 In other classes, i see either BaseInterfaceName or AbstractInterfaceName. i couldn't find any abstract class that ends with "Base". I don't have strong opinion on one over other, do you have? However, i slightly prefer Base as prefix over suffix :)

Copy link
Collaborator

Choose a reason for hiding this comment

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

@VijayanB it is up to us :)

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 updated name with prefix. Can you take another look? Thanks

Copy link
Collaborator

Choose a reason for hiding this comment

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

@VijayanB my apologies, missed the notification

@VijayanB
Copy link
Member Author

@VijayanB all these classes are desribed as internal, we need to update that to reflect that API is public now

* ...
* @opensearch.internal
* ...

See please the relevant discussion here: #3716 (comment), CC @nknize
Thanks @reta . I updated the abstract class and interface that will be extended/inherited by plugins outside this repository. Is there anything else pending other than updating doc to convey that these classes are public?

@VijayanB VijayanB requested a review from reta September 23, 2022 17:09
@github-actions
Copy link
Contributor

Gradle Check (Jenkins) Run Completed with:

@@ -54,7 +54,7 @@
* All geo-grid hash-encoding in a grid are of the same precision and held internally as a single long
* for efficiency's sake.
*
* @opensearch.internal
* @opensearch.api
Copy link
Contributor

Choose a reason for hiding this comment

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

I am not sure if we want to add api here. @nknize can get some suggestion from your side.

Copy link
Contributor

@navneet1v navneet1v left a comment

Choose a reason for hiding this comment

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

We have changed the modifier for both HashGrid and TileGrid classes. As this of GeoH3 I am not sure we need to make this amount of changes.

@VijayanB
Copy link
Member Author

VijayanB commented Sep 23, 2022

We have changed the modifier for both HashGrid and TileGrid classes. As this of GeoH3 I am not sure we need to make this amount of changes.

@navneet1v Do we have these changes available in another PR? if not, i believe these changes are required if we want to add new aggregation outside this repository.

@navneet1v
Copy link
Contributor

We have changed the modifier for both HashGrid and TileGrid classes. As this of GeoH3 I am not sure we need to make this amount of changes.

@navneet1v Do we have these changes available in another PR? if not, i believe these changes are required if we want to add new aggregation outside this repository.

What I was saying is in this PR we are making changes in both HashGrid and TileGrid so do we need both?

@VijayanB
Copy link
Member Author

We have changed the modifier for both HashGrid and TileGrid classes. As this of GeoH3 I am not sure we need to make this amount of changes.

@navneet1v Do we have these changes available in another PR? if not, i believe these changes are required if we want to add new aggregation outside this repository.

What I was saying is in this PR we are making changes in both HashGrid and TileGrid so do we need both?

Yes. We are changing access modifier in their base class.

@navneet1v
Copy link
Contributor

We have changed the modifier for both HashGrid and TileGrid classes. As this of GeoH3 I am not sure we need to make this amount of changes.

@navneet1v Do we have these changes available in another PR? if not, i believe these changes are required if we want to add new aggregation outside this repository.

What I was saying is in this PR we are making changes in both HashGrid and TileGrid so do we need both?

Yes. We are changing access modifier in their base class.

Oh my bad. The changes in base class are tricking up to the top level classes.

@github-actions
Copy link
Contributor

Gradle Check (Jenkins) Run Completed with:

@VijayanB VijayanB requested review from navneet1v and removed request for reta and navneet1v September 29, 2022 17:12
@github-actions
Copy link
Contributor

github-actions bot commented Oct 6, 2022

Gradle Check (Jenkins) Run Completed with:

@VijayanB
Copy link
Member Author

VijayanB commented Oct 6, 2022

precommit failure looks like irrelevant to this PR.

> Task :qa:evil-tests:thirdPartyAudit FAILED
Unnecessary exclusions, following classes have no violations:
   * com.google.common.hash.Striped64$Cell
  * com.google.common.util.concurrent.AbstractFuture$UnsafeAtomicHelper

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 <balasvij@amazon.com>
Added PR details to CHANGELOG.md

Signed-off-by: Vijayan Balasubramanian <balasvij@amazon.com>
Update class names, references and comments.

Signed-off-by: Vijayan Balasubramanian <balasvij@amazon.com>
Signed-off-by: Vijayan Balasubramanian <balasvij@amazon.com>
Signed-off-by: Vijayan Balasubramanian <balasvij@amazon.com>
Signed-off-by: Vijayan Balasubramanian <balasvij@amazon.com>
Signed-off-by: Vijayan Balasubramanian <balasvij@amazon.com>
Made classes package private if it is not used
outside the package.

Signed-off-by: Vijayan Balasubramanian <balasvij@amazon.com>
@github-actions
Copy link
Contributor

github-actions bot commented Oct 7, 2022

Gradle Check (Jenkins) Run Completed with:

@VijayanB
Copy link
Member Author

VijayanB commented Oct 7, 2022

@reta Can this be merged? Thanks

@reta reta merged commit b1bc4d9 into opensearch-project:main Oct 7, 2022
@reta
Copy link
Collaborator

reta commented Oct 7, 2022

@VijayanB since we already released this functionality in 2.3 , it will be a breaking change if backported to 2.x / 2.3, so backport label was not applied

@reta reta added the v3.0.0 Issues and PRs related to version 3.0.0 label Oct 7, 2022
@VijayanB
Copy link
Member Author

VijayanB commented Oct 7, 2022

@reta Since this is just refactor ( compile time ) and not limiting existing scope, Will releasing in 2.4 break backward compatibility?

@reta
Copy link
Collaborator

reta commented Oct 7, 2022

The classes / interfaces were renamed, beside just visibility changes, we will just break people's code if someone is building on top of the GeoModulePlugin ...

@VijayanB
Copy link
Member Author

VijayanB commented Oct 7, 2022

The classes / interfaces were renamed, beside just visibility changes, we will just break people's code if someone is building on top of the GeoModulePlugin ...

Thanks for clarifications. The visibility change is prerequisite for opensearch-project/geospatial#98 . Do you have any recommendation on how to make those visibility changes available to 2.x?

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 <me@alexburck.com>

* update changelog with pull request link

Signed-off-by: Alex Burck <me@alexburck.com>

Signed-off-by: Alex Burck <me@alexburck.com>

* 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 <handalm@amazon.com>

* PR Comments.

Signed-off-by: Marc Handalian <handalm@amazon.com>

Signed-off-by: Marc Handalian <handalm@amazon.com>

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

* Update changelog contribution guide

Signed-off-by: Kunal Kotwani <kkotwani@amazon.com>

* Fix reference to pull request

Signed-off-by: Kunal Kotwani <kkotwani@amazon.com>

Signed-off-by: Kunal Kotwani <kkotwani@amazon.com>

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

Signed-off-by: Kunal Kotwani <kkotwani@amazon.com>

Signed-off-by: Kunal Kotwani <kkotwani@amazon.com>

* 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 <andrross@amazon.com>

Signed-off-by: Andrew Ross <andrross@amazon.com>

* Some dependency updates (#4308)

Signed-off-by: Andriy Redko <andriy.redko@aiven.io>

Signed-off-by: Andriy Redko <andriy.redko@aiven.io>

* 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 <ftianli@amazon.com>

* Add changelog

Signed-off-by: Tianli Feng <ftianli@amazon.com>

Signed-off-by: Tianli Feng <ftianli@amazon.com>
Co-authored-by: Andrew Ross <andrross@amazon.com>

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

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

Signed-off-by: Alex Burck <me@alexburck.com>

* update changlog pr link

Signed-off-by: Alex Burck <me@alexburck.com>

Signed-off-by: Alex Burck <me@alexburck.com>

* Use RemoteSegmentStoreDirectory instead of RemoteDirectory (#4240)

* Use RemoteSegmentStoreDirectory instead of RemoteDirectory

Signed-off-by: Sachin Kale <kalsac@amazon.com>

* 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 <lukas.vlcek@aiven.io>

Signed-off-by: Lukáš Vlček <lukas.vlcek@aiven.io>

* [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 <surajrider@gmail.com>

* Update changelog

Signed-off-by: Suraj Singh <surajrider@gmail.com>

* Add change log entry

Signed-off-by: Suraj Singh <surajrider@gmail.com>

Signed-off-by: Suraj Singh <surajrider@gmail.com>

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

Signed-off-by: Kartik Ganesh <gkart@amazon.com>

Signed-off-by: Kartik Ganesh <gkart@amazon.com>

* [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 <adnapibar@gmail.com>

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

* Fixed label for dependabot PR helper

Signed-off-by: Kunal Kotwani <kkotwani@amazon.com>

* Update autocommit workflow for dependabot changelog

Signed-off-by: Kunal Kotwani <kkotwani@amazon.com>

* Add version config for dependabot changelog helper

Signed-off-by: Kunal Kotwani <kkotwani@amazon.com>

Signed-off-by: Kunal Kotwani <kkotwani@amazon.com>

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


Signed-off-by: Rabi Panda <adnapibar@gmail.com>

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


Signed-off-by: Rabi Panda <adnapibar@gmail.com>

* 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 <andriy.redko@aiven.io>

* Addressing code review comments

Signed-off-by: Andriy Redko <andriy.redko@aiven.io>

* Added HTTP/1.1 channel configuration

Signed-off-by: Andriy Redko <andriy.redko@aiven.io>

* Addressing code review comments

Signed-off-by: Andriy Redko <andriy.redko@aiven.io>

* Update pul request URL in CHANGELOG.md

Signed-off-by: Andriy Redko <andriy.redko@aiven.io>

Signed-off-by: Andriy Redko <andriy.redko@aiven.io>

* Fix token usage for changelog helper (#4351)

Signed-off-by: Kunal Kotwani <kkotwani@amazon.com>

Signed-off-by: Kunal Kotwani <kkotwani@amazon.com>

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

This reverts commit c28221e0176ad3ce782c18a2b23ea2e59ed0e0a8.

Signed-off-by: Kunal Kotwani <kkotwani@amazon.com>

Signed-off-by: Kunal Kotwani <kkotwani@amazon.com>

* 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 <handalm@amazon.com>

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

Signed-off-by: Marc Handalian <handalm@amazon.com>

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

Signed-off-by: Marc Handalian <handalm@amazon.com>

Minor updates from self review.

Signed-off-by: Marc Handalian <handalm@amazon.com>

* Add missing changelog entry.

Signed-off-by: Marc Handalian <handalm@amazon.com>

Signed-off-by: Marc Handalian <handalm@amazon.com>

* Bug fixes for dependabot changelog verifier (#4364)

* Fix token usage for changelog helper

Signed-off-by: Kunal Kotwani <kkotwani@amazon.com>

* Add conditional check for dependabot steps

Signed-off-by: Kunal Kotwani <kkotwani@amazon.com>

* Add dependency section

Signed-off-by: Kunal Kotwani <kkotwani@amazon.com>

* Bug fixes for dependabot changelog verifier

Signed-off-by: Kunal Kotwani <kkotwani@amazon.com>

* Update the changelog

Signed-off-by: Kunal Kotwani <kkotwani@amazon.com>

Signed-off-by: Kunal Kotwani <kkotwani@amazon.com>

* 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 <bharath78910@gmail.com>

* 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 <andriy.redko@aiven.io>

* 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] <support@github.com>

* Updating SHAs

Signed-off-by: dependabot[bot] <support@github.com>

* Update changelog

Signed-off-by: dependabot[bot] <support@github.com>

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

* 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 <adnapibar@gmail.com>

Signed-off-by: Rabi Panda <adnapibar@gmail.com>

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

* Added bwc version 2.2.2

* Add changelog

Signed-off-by: Kunal Kotwani <kkotwani@amazon.com>

Signed-off-by: Kunal Kotwani <kkotwani@amazon.com>
Co-authored-by: opensearch-ci-bot <opensearch-ci-bot@users.noreply.github.com>
Co-authored-by: Kunal Kotwani <kkotwani@amazon.com>

* [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 <surajrider@gmail.com>

* Add changelog entry

Signed-off-by: Suraj Singh <surajrider@gmail.com>

Signed-off-by: Suraj Singh <surajrider@gmail.com>

* [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 <surajrider@gmail.com>

* Add changelog entry

Signed-off-by: Suraj Singh <surajrider@gmail.com>

* Address review comments

Signed-off-by: Suraj Singh <surajrider@gmail.com>

* Address review comments 2

Signed-off-by: Suraj Singh <surajrider@gmail.com>

* Test failures

Signed-off-by: Suraj Singh <surajrider@gmail.com>

Signed-off-by: Suraj Singh <surajrider@gmail.com>

* 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 <kkotwani@amazon.com>

* Add changelog

Signed-off-by: Kunal Kotwani <kkotwani@amazon.com>

Signed-off-by: Kunal Kotwani <kkotwani@amazon.com>

* [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 <surajrider@gmail.com>

* Add changelog entry

Signed-off-by: Suraj Singh <surajrider@gmail.com>

* Address review comments

Signed-off-by: Suraj Singh <surajrider@gmail.com>

* Integration test

Signed-off-by: Suraj Singh <surajrider@gmail.com>

Signed-off-by: Suraj Singh <surajrider@gmail.com>

* Added RestLayer Changes for PIT stats (#4217)

Signed-off-by: Ajay Kumar Movva <movvaam@amazon.com>

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

Signed-off-by: Ajay Kumar Movva <movvaam@amazon.com>

* [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 <kalsac@amazon.com>

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

* [Semgnet Replication] Update flaky testOnNewCheckpointFromNewPrimaryCancelOngoingReplication unit test

Signed-off-by: Suraj Singh <surajrider@gmail.com>

* Add changelog entry

Signed-off-by: Suraj Singh <surajrider@gmail.com>

* Update changelog entry

Signed-off-by: Suraj Singh <surajrider@gmail.com>

Signed-off-by: Suraj Singh <surajrider@gmail.com>

* 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 <handalm@amazon.com>

* Fix spotless.

Signed-off-by: Marc Handalian <handalm@amazon.com>

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

Signed-off-by: Marc Handalian <handalm@amazon.com>

* Rename snapshot to metadataMap in CheckpointInfoResponse.

Signed-off-by: Marc Handalian <handalm@amazon.com>

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

Signed-off-by: Marc Handalian <handalm@amazon.com>

* Fix spotless.

Signed-off-by: Marc Handalian <handalm@amazon.com>

* Revert catchall in SegmentReplicationSourceService.

Signed-off-by: Marc Handalian <handalm@amazon.com>

* Revert log lvl change.

Signed-off-by: Marc Handalian <handalm@amazon.com>

* Fix SegmentReplicationTargetTests

Signed-off-by: Marc Handalian <handalm@amazon.com>

* Cleanup unused logger.

Signed-off-by: Marc Handalian <handalm@amazon.com>

Signed-off-by: Marc Handalian <handalm@amazon.com>
Co-authored-by: Suraj Singh <surajrider@gmail.com>

* 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] <support@github.com>

* Update changelog

Signed-off-by: dependabot[bot] <support@github.com>

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

* Revert to Netty 4.1.79.Final (#4428)

Signed-off-by: Craig Perkins <cwperx@amazon.com>

Signed-off-by: Craig Perkins <cwperx@amazon.com>

* [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 <rishireddy1159@gmail.com>

* Formatting sizeOfSegmentFiles for time calculation.

Signed-off-by: Rishikesh1159 <rishireddy1159@gmail.com>

* Addressing comments and applying spotless check.

Signed-off-by: Rishikesh1159 <rishireddy1159@gmail.com>

Signed-off-by: Rishikesh1159 <rishireddy1159@gmail.com>

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

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

Signed-off-by: Andriy Redko <andriy.redko@aiven.io>

* Fork JavaCompile task

Signed-off-by: Andriy Redko <andriy.redko@aiven.io>

Signed-off-by: Andriy Redko <andriy.redko@aiven.io>

* 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://github.com/Azure/azure-sdk-for-java) from 1.12.0 to 1.12.4.
- [Release notes](https://github.com/Azure/azure-sdk-for-java/releases)
- [Commits](https://github.com/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] <support@github.com>

* Updating SHAs

Signed-off-by: dependabot[bot] <support@github.com>

* Added missing forbidden classes

Signed-off-by: Owais Kazi <owaiskazi19@gmail.com>

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

Signed-off-by: Xue Zhou <xuezhou@amazon.com>

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

Signed-off-by: Xue Zhou <xuezhou@amazon.com>

* adding changelog information

Signed-off-by: Xue Zhou <xuezhou@amazon.com>

Signed-off-by: dependabot[bot] <support@github.com>
Signed-off-by: Owais Kazi <owaiskazi19@gmail.com>
Signed-off-by: Xue Zhou <xuezhou@amazon.com>
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 <owaiskazi19@gmail.com>
Co-authored-by: Xue Zhou <xuezhou@amazon.com>

* 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 <mwilkinson@imohealth.com>

* Add changelog entry for fix

Signed-off-by: Mike Wilkinson <mwilkinson@imohealth.com>

* 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 <mwilkinson@imohealth.com>

Signed-off-by: Mike Wilkinson <mwilkinson@imohealth.com>
Co-authored-by: Mike Wilkinson <mwilkinson@imohealth.com>

* [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 <handalm@amazon.com>

* Remove noise & extra log statement.

Signed-off-by: Marc Handalian <handalm@amazon.com>

* PR feedback.

Signed-off-by: Marc Handalian <handalm@amazon.com>

Signed-off-by: Marc Handalian <handalm@amazon.com>

* 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://github.com/reactor/reactor-netty) from 1.0.19 to 1.0.22.
- [Release notes](https://github.com/reactor/reactor-netty/releases)
- [Commits](https://github.com/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] <support@github.com>

* Updating SHAs

Signed-off-by: dependabot[bot] <support@github.com>

* Update changelog

Signed-off-by: dependabot[bot] <support@github.com>

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

* Add bwcVersion 2.4.0 (#4455)

* Add bwcVersion 2.4.0

Signed-off-by: Suraj Singh <surajrider@gmail.com>

* Add changelog entry

Signed-off-by: Suraj Singh <surajrider@gmail.com>

Signed-off-by: Suraj Singh <surajrider@gmail.com>

* add support for s390x architecture (#4001)

* add s390x support in systemcallfilter

https://github.com/opensearch-project/OpenSearch/issues/4000
Signed-off-by: Andrija Pantovic <andrija.pantovic@phoenix-systems.ch>

* add gradle cfg for s390x

Signed-off-by: Andrija Pantovic <andrija.pantovic@gmail.com>

* change assertion for architecture

Signed-off-by: Andrija Pantovic <andrija.pantovic@gmail.com>

* change assertion for architecture

Signed-off-by: Andrija Pantovic <andrija.pantovic@gmail.com>

* update changelog

Signed-off-by: Andrija Pantovic <andrija.pantovic@gmail.com>

Signed-off-by: Andrija Pantovic <andrija.pantovic@phoenix-systems.ch>
Signed-off-by: Andrija Pantovic <andrija.pantovic@gmail.com>

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

* 2.3.0 release notes

Signed-off-by: Suraj Singh <surajrider@gmail.com>

* Add changelog entry

Signed-off-by: Suraj Singh <surajrider@gmail.com>

Signed-off-by: Suraj Singh <surajrider@gmail.com>

Signed-off-by: Suraj Singh <surajrider@gmail.com>

* 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 <ankikala@amazon.com>

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

Signed-off-by: Ketan Verma <ketan9495@gmail.com>

* 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 <andriy.redko@aiven.io>

Signed-off-by: Andriy Redko <andriy.redko@aiven.io>
Co-authored-by: Suraj Singh <surajrider@gmail.com>

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

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

Signed-off-by: Daniel Widdis <widdis@gmail.com>

* Add javadocs for distribution:tools:keystore-cli

Signed-off-by: Daniel Widdis <widdis@gmail.com>

* Add javadocs for distribution:tools:plugin-cli

Signed-off-by: Daniel Widdis <widdis@gmail.com>

* Add javadocs for distribution:tools:launchers

Signed-off-by: Daniel Widdis <widdis@gmail.com>

* Change log

Signed-off-by: Daniel Widdis <widdis@gmail.com>

Signed-off-by: Daniel Widdis <widdis@gmail.com>

* 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://github.com/reactive-streams/reactive-streams) from 1.0.3 to 1.0.4.
- [Release notes](https://github.com/reactive-streams/reactive-streams/releases)
- [Changelog](https://github.com/reactive-streams/reactive-streams-jvm/blob/master/RELEASE-NOTES.md)
- [Commits](https://github.com/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] <support@github.com>

* Updating SHAs

Signed-off-by: dependabot[bot] <support@github.com>

* Update changelog

Signed-off-by: dependabot[bot] <support@github.com>

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

* 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 <joaoh14@gmail.com>

* [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 <ftianli@amazon.com>

* [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 <surajrider@gmail.com>

* Fix spotless failures

Signed-off-by: Suraj Singh <surajrider@gmail.com>

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

Signed-off-by: Suraj Singh <surajrider@gmail.com>

* Fix spotless failures

Signed-off-by: Suraj Singh <surajrider@gmail.com>

* Address review comments 2

Signed-off-by: Suraj Singh <surajrider@gmail.com>

Signed-off-by: Suraj Singh <surajrider@gmail.com>

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

Signed-off-by: Ashish Singh <ssashish@amazon.com>

* 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 <anshukag@amazon.com>

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

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

Signed-off-by: Daniel Widdis <widdis@gmail.com>

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

Signed-off-by: Daniel Widdis <widdis@gmail.com>

* Add javadocs for example-plugins:custom-suggester

Signed-off-by: Daniel Widdis <widdis@gmail.com>

* Add javadocs to example-plugins:painless-allowlist

Signed-off-by: Daniel Widdis <widdis@gmail.com>

* Add javadocs to example-plugins:rescore

Signed-off-by: Daniel Widdis <widdis@gmail.com>

* Add javadocs to example-plugins:rest-handler

Signed-off-by: Daniel Widdis <widdis@gmail.com>

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

Signed-off-by: Daniel Widdis <widdis@gmail.com>

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

Signed-off-by: Daniel Widdis <widdis@gmail.com>

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

Signed-off-by: Daniel Widdis <widdis@gmail.com>

Signed-off-by: Daniel Widdis <widdis@gmail.com>

* 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 <navneev@amazon.com>

* Updates jackson and snakeyml dependencies (#4556)

* Upgrade jackson and snakeyml dependencies

Signed-off-by: Owais Kazi <owaiskazi19@gmail.com>

* Updated changelog

Signed-off-by: Owais Kazi <owaiskazi19@gmail.com>

Signed-off-by: Owais Kazi <owaiskazi19@gmail.com>

* 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] <support@github.com>

* 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://github.com/reactor/reactor-core) from 3.4.18 to 3.4.23.
- [Release notes](https://github.com/reactor/reactor-core/releases)
- [Commits](https://github.com/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] <support@github.com>

* 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] <support@github.com>

* 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] <support@github.com>

* Update changelog

Signed-off-by: dependabot[bot] <support@github.com>

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

* Ignore lock file when testing cleanupAndPreserveLatestCommitPoint (#4544)

Signed-off-by: Daniel Widdis <widdis@gmail.com>

Signed-off-by: Daniel Widdis <widdis@gmail.com>

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

Signed-off-by: Tianli Feng <ftianli@amazon.com>

* Unmute RelocationIT.testRelocationWhileIndexingRandom. (#4580)

Signed-off-by: Marc Handalian <handalm@amazon.com>

Signed-off-by: Marc Handalian <handalm@amazon.com>

* 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 <rnnahata@amazon.com>

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

* Changes for list all and pit segments

Signed-off-by: Bharathwaj G <bharath78910@gmail.com>

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

* Add PUT api to update shard routing weights

Signed-off-by: Anshu Agarwal <anshukag@amazon.com>

* 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://github.com/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 <lukas.vlcek@aiven.io>

Signed-off-by: Lukáš Vlček <lukas.vlcek@aiven.io>

* 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 <froh@amazon.com>

* Update CHANGELOG.md

Signed-off-by: Michael Froh <froh@amazon.com>

Signed-off-by: Michael Froh <froh@amazon.com>

* 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://github.com/reactor/reactor-netty) from 1.0.18 to 1.0.23.
- [Release notes](https://github.com/reactor/reactor-netty/releases)
- [Commits](https://github.com/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] <support@github.com>

* Updating SHAs

Signed-off-by: dependabot[bot] <support@github.com>

* Update changelog

Signed-off-by: dependabot[bot] <support@github.com>

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

* 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://github.com/jettison-json/jettison) from 1.5.0 to 1.5.1.
- [Release notes](https://github.com/jettison-json/jettison/releases)
- [Commits](https://github.com/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] <support@github.com>

* Updating SHAs

Signed-off-by: dependabot[bot] <support@github.com>

* Update changelog

Signed-off-by: dependabot[bot] <support@github.com>

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

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

Related commit: 0e9f74e35f1255cb9ec45be3d8960aad195a9f6e

Signed-off-by: Heemin Kim <heemin@amazon.com>

Signed-off-by: Heemin Kim <heemin@amazon.com>

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

Signed-off-by: Kunal Kotwani <kkotwani@amazon.com>

Signed-off-by: Kunal Kotwani <kkotwani@amazon.com>

* 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 <andriy.redko@aiven.io>

Signed-off-by: Andriy Redko <andriy.redko@aiven.io>

* Bumping hadoop-hdfs version to 3.3.4 (#4644)

* Updating hadoop-hdfs version

Signed-off-by: Sarat Vemulapalli <vemulapallisarat@gmail.com>

* Adding changelog

Signed-off-by: Sarat Vemulapalli <vemulapallisarat@gmail.com>

Signed-off-by: Sarat Vemulapalli <vemulapallisarat@gmail.com>

* Bugfix/496 rollover alias with filters (#4499)

* 496: Added filters, indexRouting and searchRouting when doing rollover on alias

Signed-off-by: Stevan Buzejic <buzejic.stevan@gmail.com>

* 496: Removed unused map property in metada alias rollover tests

Signed-off-by: Stevan Buzejic <buzejic.stevan@gmail.com>

Signed-off-by: Stevan Buzejic <buzejic.stevan@gmail.com>
Co-authored-by: Stevan Buzejic <stevan.buzejic@htecgroup.com>

* Load the deprecated master role in a dedicated method instead of in setAdditionalRoles() (#4582)

Signed-off-by: Tianli Feng <ftianli@amazon.com>

* Add APIs (GET/PUT) to decommission awareness attribute (#4261)

* Add APIs (GET/PUT) to decommission awareness attribute

Signed-off-by: Rishab Nahata <rnnahata@amazon.com>

* Adding check to make sure checkpoint is not processed when a shard's shard routing is primary. (#4630)

Signed-off-by: Rishikesh1159 <rishireddy1159@gmail.com>

Signed-off-by: Rishikesh1159 <rishireddy1159@gmail.com>
Co-authored-by: Suraj Singh <surajrider@gmail.com>

* 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://github.com/Azure/azure-sdk-for-java) from 12.18.0 to 12.18.1.
- [Release notes](https://github.com/Azure/azure-sdk-for-java/releases)
- [Commits](https://github.com/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] <support@github.com>

* Updating SHAs

Signed-off-by: dependabot[bot] <support@github.com>

* Update changelog

Signed-off-by: dependabot[bot] <support@github.com>

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

* Bump forbiddenapis from 3.3 to 3.4 in /buildSrc/src/testKit/thirdPartyAudit (#4662)

* Bump forbiddenapis in /buildSrc/src/testKit/thirdPartyAudit

Bumps [forbiddenapis](https://github.com/policeman-tools/forbidden-apis) from 3.3 to 3.4.
- [Release notes](https://github.com/policeman-tools/forbidden-apis/releases)
- [Commits](https://github.com/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] <support@github.com>

* Update changelog

Signed-off-by: dependabot[bot] <support@github.com>

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

* Fixed the SnapshotsInProgress error during index deletion (#4570)

Signed-off-by: Xue Zhou <xuezhou@amazon.com>

* Update to Apache Lucene 9.4.0 (#4661)

Signed-off-by: Andriy Redko <andriy.redko@aiven.io>

Signed-off-by: Andriy Redko <andriy.redko@aiven.io>

* Fixed day of year defaulting for round up parser (#4627)

Signed-off-by: Vishal Sarda <vsarda@amazon.com>

* Fix PIT flaky tests (#4632)

* Fixing PIT flaky tests

Signed-off-by: Bharathwaj G <bharath78910@gmail.com>

* 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 <joaoh14@gmail.com>
Signed-off-by: Braddy Yeoh <braddy.yeoh@ucdconnect.ie>

* Adding javadoc check to the precommi\t GitHub Action

Signed-off-by: Braddy Yeoh <braddy.yeoh@ucdconnect.ie>

* gradle check now only runs after successful gradle precommit check

Signed-off-by: Braddy Yeoh <braddy.yeoh@ucdconnect.ie>

* Added to CHANGELOG

Signed-off-by: Braddy Yeoh yeohbraddy@gmail.com
Signed-off-by: Braddy Yeoh <braddy.yeoh@ucdconnect.ie>

Signed-off-by: Hauck <joaoh14@gmail.com>
Signed-off-by: Braddy Yeoh <braddy.yeoh@ucdconnect.ie>
Signed-off-by: Braddy Yeoh yeohbraddy@gmail.com
Co-authored-by: Hauck <67768441+hauck-jvsh@users.noreply.github.com>
Co-authored-by: Braddy Yeoh <braddy.yeoh@ucdconnect.ie>

* Backport Apache Lucene version change for 2.4.0 (#4677)

Signed-off-by: Andriy Redko <andriy.redko@aiven.io>

Signed-off-by: Andriy Redko <andriy.redko@aiven.io>

* Attempt to fix Github workflow for Gradle Check job (#4679)

Signed-off-by: Andriy Redko <andriy.redko@aiven.io>

Signed-off-by: Andriy Redko <andriy.redko@aiven.io>

* Adding precommit support for Windows (#4676)

* First draft for Windows precommit

Signed-off-by: Sarat Vemulapalli <vemulapallisarat@gmail.com>

* Adding changelog

Signed-off-by: Sarat Vemulapalli <vemulapallisarat@gmail.com>

Signed-off-by: Sarat Vemulapalli <vemulapallisarat@gmail.com>

* Adding precommit support for MacOS (darwin) (#4682)

* First draft for Windows precommit

Signed-off-by: Sarat Vemulapalli <vemulapallisarat@gmail.com>

* Adding changelog

Signed-off-by: Sarat Vemulapalli <vemulapallisarat@gmail.com>

* Adding precommit for macos

Signed-off-by: Sarat Vemulapalli <vemulapallisarat@gmail.com>

* Adding Changelog

Signed-off-by: Sarat Vemulapalli <vemulapallisarat@gmail.com>

Signed-off-by: Sarat Vemulapalli <vemulapallisarat@gmail.com>

* 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 <andrross@amazon.com>

Signed-off-by: Andrew Ross <andrross@amazon.com>

* 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 <widdis@gmail.com>

* Include Windows OS in check for definitelyRunningAsRoot()

Signed-off-by: Daniel Widdis <widdis@gmail.com>

* Combine try/catch blocks

Signed-off-by: Daniel Widdis <widdis@gmail.com>

* Someone sniped my PR number between predicting and pushing

Signed-off-by: Daniel Widdis <widdis@gmail.com>

* Update SHAs

Signed-off-by: Daniel Widdis <widdis@gmail.com>

Signed-off-by: Daniel Widdis <widdis@gmail.com>

* Add release notes for 1.3.6 (#4681)

Signed-off-by: Rishikesh1159 <rishireddy1159@gmail.com>

Signed-off-by: Rishikesh1159 <rishireddy1159@gmail.com>

* Service Layer changes for Recommission API (#4320)

* Recommission API service level changes

Signed-off-by: pranikum <109206473+pranikum@users.noreply.github.com>

* Add GET api to get shard routing weights (#4275)

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

Signed-off-by: Anshu Agarwal <anshukag@amazon.com>

* 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 <andrross@amazon.com>

Signed-off-by: Andrew Ross <andrross@amazon.com>

* Fixing SearchStats (de)serialization (#4697)

Fixes bwc failure caused by commit
6993ac9834d0f7e8e77e6cade09de2245d2a20f7.

Signed-off-by: Andriy Redko <andriy.redko@aiven.io>

* 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 <xuezhou@amazon.com>

* 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 <balasvij@amazon.com>

* Updated CHANGELOG

Added PR details to CHANGELOG.md

Signed-off-by: Vijayan Balasubramanian <balasvij@amazon.com>

* Rename InternalGeoGridBucket to BaseGeoGridBucket

Update class names, references and comments.

Signed-off-by: Vijayan Balasubramanian <balasvij@amazon.com>

* Rename InternalGeoGrid to BaseGeoGrid

Signed-off-by: Vijayan Balasubramanian <balasvij@amazon.com>

* Make GridBucket classes package-private

Signed-off-by: Vijayan Balasubramanian <balasvij@amazon.com>

* Remove Internal prefix from Geo Grid classes

Signed-off-by: Vijayan Balasubramanian <balasvij@amazon.com>

* Update constructor and class access modifier

Signed-off-by: Vijayan Balasubramanian <balasvij@amazon.com>

* Update access modifier based on usage

Made classes package private if it is not used
outside the package.

Signed-off-by: Vijayan Balasubramanian <balasvij@amazon.com>

Signed-off-by: Vijayan Balasubramanian <balasvij@amazon.com>

* [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 <nknize@apache.org>

* Rebase from main

Signed-off-by: Nicholas Walter Knize <nknize@apache.org>

* fix serialization issue with build flavor removal

Signed-off-by: Nicholas Walter Knize <nknize@apache.org>

* remove stale bwc test

Signed-off-by: Nicholas Walter Knize <nknize@apache.org>

* rebase and update

Signed-off-by: Nicholas Walter Knize <nknize@apache.org>

* cleanup

Signed-off-by: Nicholas Walter Knize <nknize@apache.org>

* fix failing mapper test

Signed-off-by: Nicholas Walter Knize <nknize@apache.org>

Signed-off-by: Nicholas Walter Knize <nknize@apache.org>

* Fixing Gradle warnings associated with publishPluginZipPublicationToXxx tasks (#4696)

Signed-off-by: Andriy Redko <andriy.redko@aiven.io>

Signed-off-by: Andriy Redko <andriy.redko@aiven.io>

* 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://github.com/google/gson) from 2.9.0 to 2.9.1.
- [Release notes](https://github.com/google/gson/releases)
- [Changelog](https://github.com/google/gson/blob/master/CHANGELOG.md)
- [Commits](https://github.com/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] <support@github.com>

* Update changelog

Signed-off-by: dependabot[bot] <support@github.com>

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

* 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 <nknize@apache.org>

* update IAE message

Signed-off-by: Nicholas Walter Knize <nknize@apache.org>

Signed-off-by: Nicholas Walter Knize <nknize@apache.org>

* Controlling discovery for decommissioned nodes (#4590)

* Controlling discovery for decommissioned nodes

Signed-off-by: Rishab Nahata <rnnahata@amazon.com>

* [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 <nknize@apache.org>

* [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 <nknize@apache.org>

Signed-off-by: Alex Burck <me@alexburck.com>
Signed-off-by: Marc Handalian <handalm@amazon.com>
Signed-off-by: Kunal Kotwani <kkotwani@amazon.com>
Signed-off-by: Andrew Ross <andrross@amazon.com>
Signed-off-by: Andriy Redko <andriy.redko@aiven.io>
Signed-off-by: Tianli Feng <ftianli@amazon.com>
Signed-off-by: Sachin Kale <kalsac@amazon.com>
Signed-off-by: Lukáš Vlček <lukas.vlcek@aiven.io>
Signed-off-by: Suraj Singh <surajrider@gmail.com>
Signed-off-by: Kartik Ganesh <gkart@amazon.com>
Signed-off-by: Rabi Panda <adnapibar@gmail.com>
Signed-off-by: Bharathwaj G <bharath78910@gmail.com>
Signed-off-by: dependabot[bot] <support@github.com>
Signed-off-by: Ajay Kumar Movva <movvaam@amazon.com>
Signed-off-by: Craig Perkins <cwperx@amazon.com>
Signed-off-by: Rishikesh1159 <rishireddy1159@gmail.com>
Signed-off-by: Owais Kazi <owaiskazi19@gmail.com>
Signed-off-by: Xue Zhou <xuezhou@amazon.com>
Signed-off-by: Mike Wilkinson <mwilkinson@imohealth.com>
Signed-off-by: Andrija Pantovic <andrija.pantovic@phoenix-systems.ch>
Signed-off-by: Andrija Pantovic <andrija.pantovic@gmail.com>
Signed-off-by: Ankit Kala <ankikala@amazon.com>
Signed-off-by: Ketan Verma <ketan9495@gmail.com>
Signed-off-by: Daniel Widdis <widdis@gmail.com>
Signed-off-by: Hauck <joaoh14@gmail.com>
Signed-off-by: Ashish Singh <ssashish@amazon.com>
Signed-off-by: Anshu Agarwal <anshukag@amazon.com>
Signed-off-by: Navneet Verma <navneev@amazon.com>
Signed-off-by: Rishab Nahata <rnnahata@amazon.com>
Signed-off-by: Michael Froh <froh@amazon.com>
Signed-off-by: Heemin Kim <heemin@amazon.com>
Signed-off-by: Sarat Vemulapalli <vemulapallisarat@gmail.com>
Signed-off-by: Stevan Buzejic <buzejic.stevan@gmail.com>
Signed-off-by: Vishal Sarda <vsarda@amazon.com>
Signed-off-by: Braddy Yeoh <braddy.yeoh@ucdconnect.ie>
Signed-off-by: Braddy Yeoh yeohbraddy@gmail.com
Signed-off-by: pranikum <109206473+pranikum@users.noreply.github.com>
Signed-off-by: Vijayan Balasubramanian <balasvij@amazon.com>
Signed-off-by: Nicholas Walter Knize <nknize@apache.org>
Signed-off-by: Dhwanil Patel <dhwanip@amazon.com>
Co-authored-by: Alex Burck <me@alexburck.com>
Co-authored-by: Marc Handalian <handalm@amazon.com>
Co-authored-by: Kunal Kotwani <kkotwani@amazon.com>
Co-authored-by: Andrew Ross <andrross@amazon.com>
Co-authored-by: Andriy Redko <andriy.redko@aiven.io>
Co-authored-by: Tianli Feng <ftianli@amazon.com>
Co-authored-by: Sachin Kale <sachinpkale@gmail.com>
Co-authored-by: Lukáš Vlček <lukas.vlcek@aiven.io>
Co-authored-by: Suraj Singh <surajrider@gmail.com>
Co-authored-by: Kartik Ganesh <gkart@amazon.com>
Co-authored-by: Rabi Panda <adnapibar@gmail.com>
Co-authored-by: Bharathwaj G <58062316+bharath-techie@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: dependabot[bot] <dependabot[bot]@users.noreply.github.com>
Co-authored-by: opensearch-trigger-bot[bot] <98922864+opensearch-trigger-bot[bot]@users.noreply.github.com>
Co-authored-by: opensearch-ci-bot <opensearch-ci-bot@users.noreply.github.com>
Co-authored-by: Movva Ajaykumar <majaykumar51@gmail.com>
Co-authored-by: Craig Perkins <cwperx@amazon.com>
Co-authored-by: Rishikesh Pasham <62345295+Rishikesh1159@users.noreply.github.com>
Co-authored-by: Owais Kazi <owaiskazi19@gmail.com>
Co-authored-by: Xue Zhou <xuezhou@amazon.com>
Co-authored-by: mwilkinson-imo <47403752+mwilkinson-imo@users.noreply.github.com>
Co-authored-by: Mike Wilkinson <mwilkinson@imohealth.com>
Co-authored-by: Andrija Pantovic <andrija.pantovic@gmail.com>
Co-authored-by: Ankit Kala <ankikala@amazon.com>
Co-authored-by: Ketan Verma <ketanv3@users.noreply.github.com>
Co-authored-by: Daniel Widdis <widdis@gmail.com>
Co-authored-by: Hauck <67768441+hauck-jvsh@users.noreply.github.com>
Co-authored-by: Ashish <ashking94@gmail.com>
Co-authored-by: Anshu Agarwal <anshuagarwal11@gmail.com>
Co-authored-by: Navneet Verma <navneev@amazon.com>
Co-authored-by: Rishab Nahata <rnnahata@amazon.com>
Co-authored-by: msfroh <msfroh@gmail.com>
Co-authored-by: Heemin Kim <heemin@amazon.com>
Co-authored-by: Sarat Vemulapalli <vemulapallisarat@gmail.com>
Co-authored-by: Stevan Buzejic <30922513+stevanbz@users.noreply.github.com>
Co-authored-by: Stevan Buzejic <stevan.buzejic@htecgroup.com>
Co-authored-by: Xue Zhou <85715413+xuezhou25@users.noreply.github.com>
Co-authored-by: Vishal Sarda <Vishalks@users.noreply.github.com>
Co-authored-by: Pavlo Smahin <Pavlo_Smahin@epam.com>
Co-authored-by: Braddy Yeoh <yeohbraddy@gmail.com>
Co-authored-by: Braddy Yeoh <braddy.yeoh@ucdconnect.ie>
Co-authored-by: pranikum <109206473+pranikum@users.noreply.github.com>
Co-authored-by: Vijayan Balasubramanian <vijayan.balasubramanian@gmail.com>
Co-authored-by: Nick Knize <nknize@apache.org>
@reta
Copy link
Collaborator

reta commented Oct 11, 2022

The classes / interfaces were renamed, beside just visibility changes, we will just break people's code if someone is building on top of the GeoModulePlugin ...

Thanks for clarifications. The visibility change is prerequisite for opensearch-project/geospatial#98 . Do you have any recommendation on how to make those visibility changes available to 2.x?

I think it will be very difficult to refactor this pull request into something which is backward compatible (with 2.x). We may either make the effort to do that, or break the rule of backward compatibility on the ground this is a new module with high probablility not being used widely (or not backport at all which I belive is not desirable), @andrross @dblock what do you think guys?

@andrross
Copy link
Member

@reta For this specific case it looks like we've already backported some breaking changes to 2.x with the rename GeoPlugin->GeoModulePlugin in #4179. Assuming that was released in 2.3 without issue then we can probably continue the pattern here.

@dblock
Copy link
Member

dblock commented Oct 12, 2022

Given what @andrross is saying we either have to revert/update #4179, or we can keep YOLOing it and backport this change to 2.x.

To provide a backward compatible interface we could implement InternalGeoHashGrid that extends from the newly refactored GeoHashGrid. The other idea that @VijayanB had in a brainstorm is to backport the change without doing the renaming (don't rename InternalGeoHashGrid to GeoHashGrid in 2.x). I think I really like this last option, WDYT?

@nknize
Copy link
Collaborator

nknize commented Oct 12, 2022

The classes / interfaces were renamed, beside just visibility changes, we will just break people's code if someone is building on top of the GeoModulePlugin

GeoModulePlugin does not implement ExtensiblePlugin so it, in and of itself, is not extendable. Technically it should be marked @opensearch.internal w/ a final modifier.

@nknize
Copy link
Collaborator

nknize commented Oct 12, 2022

To provide a backward compatible interface we could implement InternalGeoHashGrid that extends from the newly refactored GeoHashGrid.

A couple things here:

  1. Technically the Elasticsearch aggregation framework never provided a formal API. This is (partially) why InternalGeoHashGrid was marked @opensearch.internal thus third party users are not guaranteed bwc outside the HLRC DSL.
  2. GeoHash is legacy, the boundaries of a geohash grid do not align w/ mapping layers (which are technically web mercator grid). This is why there's now a geo_grid w/ geohash_grid remaining to support analytics w/ geohash encoding only.
  3. Moving to a more formalized API in 3.0 w/ the rename from InternalGeoHashGrid to GeoGrid is a good move here that we don't have to guarantee bwc support.. it also allows us to add hex grid as an extension to this same API.
  4. As mentioned above, the GeoModulePlugin is a (installed by default) module that does not implement ExtensiblePlugin so users cannot extend this module anyway (something we may reconsider for 3.0).

I'm not sure there's much of a concern here for 2.x given no formal bwc requirement?

Update: Maybe this is the opportunity to signal formal OpenSearch Geo Aggregation APIs effective OpenSearch 3.0?

I'm curious some thoughts from @hanoch's perspective as a geo user / integrator. @hanoch, don't you have some custom geo grid aggregations that extend the internal classes? These were never guaranteed bwc, how do you feel about us supporting a formal geo aggregation api in 3.0? What extension points do you rely on?

@VijayanB
Copy link
Member Author

@nknize I really like the idea that introducing a formal contract for Geo Plugin/Geo features, to enable other plugins to build on top of it with BWC support. Given there is no commitment so far and this PR only refactored Classes that are marked internal, should we back port this PR to 2.x?

@nknize
Copy link
Collaborator

nknize commented Oct 26, 2022

should we back port this PR to 2.x?

Yes. Given 3.0 is not far off that would be a good time to introduce a formal contract marked w/ @opensearch.api. Until then, backporting is safe.

ashking94 pushed a commit to ashking94/OpenSearch that referenced this pull request Nov 7, 2022
…pensearch-project#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 <balasvij@amazon.com>

* Updated CHANGELOG

Added PR details to CHANGELOG.md

Signed-off-by: Vijayan Balasubramanian <balasvij@amazon.com>

* Rename InternalGeoGridBucket to BaseGeoGridBucket

Update class names, references and comments.

Signed-off-by: Vijayan Balasubramanian <balasvij@amazon.com>

* Rename InternalGeoGrid to BaseGeoGrid

Signed-off-by: Vijayan Balasubramanian <balasvij@amazon.com>

* Make GridBucket classes package-private

Signed-off-by: Vijayan Balasubramanian <balasvij@amazon.com>

* Remove Internal prefix from Geo Grid classes

Signed-off-by: Vijayan Balasubramanian <balasvij@amazon.com>

* Update constructor and class access modifier

Signed-off-by: Vijayan Balasubramanian <balasvij@amazon.com>

* Update access modifier based on usage

Made classes package private if it is not used
outside the package.

Signed-off-by: Vijayan Balasubramanian <balasvij@amazon.com>

Signed-off-by: Vijayan Balasubramanian <balasvij@amazon.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
v3.0.0 Issues and PRs related to version 3.0.0
Projects
None yet
Development

Successfully merging this pull request may close these issues.

8 participants