KAFKA-17469: Moved share external interfaces to share module. (#17262)

Reviewers: Apoorv Mittal <apoorvmittal10@gmail.com>, David Arthur <mumrah@gmail.com>
This commit is contained in:
Sushant Mahajan 2024-09-24 21:38:01 +05:30 committed by GitHub
parent 1bd9dc3ffc
commit 67f966f348
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
40 changed files with 59 additions and 57 deletions

View File

@ -1637,6 +1637,7 @@ project(':share-coordinator') {
implementation project(':metadata') implementation project(':metadata')
implementation project(':server') implementation project(':server')
implementation project(':server-common') implementation project(':server-common')
implementation project(':share')
implementation libs.slf4jApi implementation libs.slf4jApi
implementation libs.metrics implementation libs.metrics

View File

@ -56,7 +56,7 @@
<allow pkg="org.apache.kafka.metadata" /> <allow pkg="org.apache.kafka.metadata" />
<allow pkg="org.apache.kafka.server.common" /> <allow pkg="org.apache.kafka.server.common" />
<allow pkg="org.apache.kafka.server.config" /> <allow pkg="org.apache.kafka.server.config" />
<allow pkg="org.apache.kafka.server.group.share" /> <allow pkg="org.apache.kafka.server.share" />
<allow pkg="org.apache.kafka.server.record" /> <allow pkg="org.apache.kafka.server.record" />
<allow pkg="org.apache.kafka.server.util" /> <allow pkg="org.apache.kafka.server.util" />
<allow pkg="org.apache.kafka.server.util.timer" /> <allow pkg="org.apache.kafka.server.util.timer" />

View File

@ -33,6 +33,7 @@
<!-- anyone can use public classes --> <!-- anyone can use public classes -->
<allow pkg="org.apache.kafka.common" exact-match="true" /> <allow pkg="org.apache.kafka.common" exact-match="true" />
<allow pkg="org.apache.kafka.common.utils" /> <allow pkg="org.apache.kafka.common.utils" />
<allow pkg="org.apache.kafka.common.annotation" />
<!-- protocol, records and request/response utilities --> <!-- protocol, records and request/response utilities -->
<allow pkg="org.apache.kafka.common.message" /> <allow pkg="org.apache.kafka.common.message" />

View File

@ -32,18 +32,18 @@ import org.apache.kafka.common.message.ShareFetchResponseData.AcquiredRecords;
import org.apache.kafka.common.protocol.Errors; import org.apache.kafka.common.protocol.Errors;
import org.apache.kafka.common.record.RecordBatch; import org.apache.kafka.common.record.RecordBatch;
import org.apache.kafka.common.utils.Time; import org.apache.kafka.common.utils.Time;
import org.apache.kafka.server.group.share.GroupTopicPartitionData; import org.apache.kafka.server.share.GroupTopicPartitionData;
import org.apache.kafka.server.group.share.PartitionAllData; import org.apache.kafka.server.share.PartitionAllData;
import org.apache.kafka.server.group.share.PartitionErrorData; import org.apache.kafka.server.share.PartitionErrorData;
import org.apache.kafka.server.group.share.PartitionFactory; import org.apache.kafka.server.share.PartitionFactory;
import org.apache.kafka.server.group.share.PartitionIdLeaderEpochData; import org.apache.kafka.server.share.PartitionIdLeaderEpochData;
import org.apache.kafka.server.group.share.PartitionStateBatchData; import org.apache.kafka.server.share.PartitionStateBatchData;
import org.apache.kafka.server.group.share.Persister; import org.apache.kafka.server.share.Persister;
import org.apache.kafka.server.group.share.PersisterStateBatch; import org.apache.kafka.server.share.PersisterStateBatch;
import org.apache.kafka.server.group.share.ReadShareGroupStateParameters; import org.apache.kafka.server.share.ReadShareGroupStateParameters;
import org.apache.kafka.server.group.share.TopicData;
import org.apache.kafka.server.group.share.WriteShareGroupStateParameters;
import org.apache.kafka.server.share.ShareAcknowledgementBatch; import org.apache.kafka.server.share.ShareAcknowledgementBatch;
import org.apache.kafka.server.share.TopicData;
import org.apache.kafka.server.share.WriteShareGroupStateParameters;
import org.apache.kafka.server.util.timer.Timer; import org.apache.kafka.server.util.timer.Timer;
import org.apache.kafka.server.util.timer.TimerTask; import org.apache.kafka.server.util.timer.TimerTask;
import org.apache.kafka.storage.internals.log.FetchPartitionData; import org.apache.kafka.storage.internals.log.FetchPartitionData;

View File

@ -38,8 +38,8 @@ import org.apache.kafka.common.requests.ShareFetchRequest;
import org.apache.kafka.common.requests.ShareRequestMetadata; import org.apache.kafka.common.requests.ShareRequestMetadata;
import org.apache.kafka.common.utils.ImplicitLinkedHashCollection; import org.apache.kafka.common.utils.ImplicitLinkedHashCollection;
import org.apache.kafka.common.utils.Time; import org.apache.kafka.common.utils.Time;
import org.apache.kafka.server.group.share.Persister;
import org.apache.kafka.server.share.CachedSharePartition; import org.apache.kafka.server.share.CachedSharePartition;
import org.apache.kafka.server.share.Persister;
import org.apache.kafka.server.share.ShareAcknowledgementBatch; import org.apache.kafka.server.share.ShareAcknowledgementBatch;
import org.apache.kafka.server.share.context.FinalContext; import org.apache.kafka.server.share.context.FinalContext;
import org.apache.kafka.server.share.context.ShareFetchContext; import org.apache.kafka.server.share.context.ShareFetchContext;

View File

@ -47,7 +47,7 @@ import org.apache.kafka.server.{AssignmentsManager, ClientMetricsManager, NodeTo
import org.apache.kafka.server.authorizer.Authorizer import org.apache.kafka.server.authorizer.Authorizer
import org.apache.kafka.server.common.{ApiMessageAndVersion, DirectoryEventHandler, TopicIdPartition} import org.apache.kafka.server.common.{ApiMessageAndVersion, DirectoryEventHandler, TopicIdPartition}
import org.apache.kafka.server.config.ConfigType import org.apache.kafka.server.config.ConfigType
import org.apache.kafka.server.group.share.{NoOpShareStatePersister, Persister} import org.apache.kafka.server.share.{NoOpShareStatePersister, Persister}
import org.apache.kafka.server.log.remote.storage.RemoteLogManagerConfig import org.apache.kafka.server.log.remote.storage.RemoteLogManagerConfig
import org.apache.kafka.server.metrics.{ClientMetricsReceiverPlugin, KafkaYammerMetrics} import org.apache.kafka.server.metrics.{ClientMetricsReceiverPlugin, KafkaYammerMetrics}
import org.apache.kafka.server.network.{EndpointReadyFutures, KafkaAuthorizerServerInfo} import org.apache.kafka.server.network.{EndpointReadyFutures, KafkaAuthorizerServerInfo}

View File

@ -49,10 +49,10 @@ import org.apache.kafka.common.requests.ShareRequestMetadata;
import org.apache.kafka.common.utils.ImplicitLinkedHashCollection; import org.apache.kafka.common.utils.ImplicitLinkedHashCollection;
import org.apache.kafka.common.utils.MockTime; import org.apache.kafka.common.utils.MockTime;
import org.apache.kafka.common.utils.Time; import org.apache.kafka.common.utils.Time;
import org.apache.kafka.server.group.share.NoOpShareStatePersister;
import org.apache.kafka.server.group.share.Persister;
import org.apache.kafka.server.share.CachedSharePartition; import org.apache.kafka.server.share.CachedSharePartition;
import org.apache.kafka.server.share.ErroneousAndValidPartitionData; import org.apache.kafka.server.share.ErroneousAndValidPartitionData;
import org.apache.kafka.server.share.NoOpShareStatePersister;
import org.apache.kafka.server.share.Persister;
import org.apache.kafka.server.share.ShareAcknowledgementBatch; import org.apache.kafka.server.share.ShareAcknowledgementBatch;
import org.apache.kafka.server.share.context.FinalContext; import org.apache.kafka.server.share.context.FinalContext;
import org.apache.kafka.server.share.context.ShareFetchContext; import org.apache.kafka.server.share.context.ShareFetchContext;

View File

@ -37,14 +37,14 @@ import org.apache.kafka.common.record.MemoryRecordsBuilder;
import org.apache.kafka.common.record.TimestampType; import org.apache.kafka.common.record.TimestampType;
import org.apache.kafka.common.utils.MockTime; import org.apache.kafka.common.utils.MockTime;
import org.apache.kafka.common.utils.Time; import org.apache.kafka.common.utils.Time;
import org.apache.kafka.server.group.share.NoOpShareStatePersister; import org.apache.kafka.server.share.NoOpShareStatePersister;
import org.apache.kafka.server.group.share.PartitionFactory; import org.apache.kafka.server.share.PartitionFactory;
import org.apache.kafka.server.group.share.Persister; import org.apache.kafka.server.share.Persister;
import org.apache.kafka.server.group.share.PersisterStateBatch; import org.apache.kafka.server.share.PersisterStateBatch;
import org.apache.kafka.server.group.share.ReadShareGroupStateResult; import org.apache.kafka.server.share.ReadShareGroupStateResult;
import org.apache.kafka.server.group.share.TopicData;
import org.apache.kafka.server.group.share.WriteShareGroupStateResult;
import org.apache.kafka.server.share.ShareAcknowledgementBatch; import org.apache.kafka.server.share.ShareAcknowledgementBatch;
import org.apache.kafka.server.share.TopicData;
import org.apache.kafka.server.share.WriteShareGroupStateResult;
import org.apache.kafka.server.util.FutureUtils; import org.apache.kafka.server.util.FutureUtils;
import org.apache.kafka.server.util.timer.SystemTimer; import org.apache.kafka.server.util.timer.SystemTimer;
import org.apache.kafka.server.util.timer.SystemTimerReaper; import org.apache.kafka.server.util.timer.SystemTimerReaper;

View File

@ -19,7 +19,7 @@ package org.apache.kafka.coordinator.share;
import org.apache.kafka.common.message.WriteShareGroupStateRequestData; import org.apache.kafka.common.message.WriteShareGroupStateRequestData;
import org.apache.kafka.coordinator.share.generated.ShareUpdateValue; import org.apache.kafka.coordinator.share.generated.ShareUpdateValue;
import org.apache.kafka.server.group.share.PersisterStateBatch; import org.apache.kafka.server.share.PersisterStateBatch;
import java.util.Objects; import java.util.Objects;

View File

@ -43,8 +43,8 @@ import org.apache.kafka.coordinator.common.runtime.MultiThreadedEventProcessor;
import org.apache.kafka.coordinator.common.runtime.PartitionWriter; import org.apache.kafka.coordinator.common.runtime.PartitionWriter;
import org.apache.kafka.coordinator.share.metrics.ShareCoordinatorMetrics; import org.apache.kafka.coordinator.share.metrics.ShareCoordinatorMetrics;
import org.apache.kafka.server.config.ShareCoordinatorConfig; import org.apache.kafka.server.config.ShareCoordinatorConfig;
import org.apache.kafka.server.group.share.SharePartitionKey;
import org.apache.kafka.server.record.BrokerCompressionType; import org.apache.kafka.server.record.BrokerCompressionType;
import org.apache.kafka.server.share.SharePartitionKey;
import org.apache.kafka.server.util.timer.Timer; import org.apache.kafka.server.util.timer.Timer;
import org.slf4j.Logger; import org.slf4j.Logger;

View File

@ -47,8 +47,8 @@ import org.apache.kafka.image.MetadataDelta;
import org.apache.kafka.image.MetadataImage; import org.apache.kafka.image.MetadataImage;
import org.apache.kafka.server.common.ApiMessageAndVersion; import org.apache.kafka.server.common.ApiMessageAndVersion;
import org.apache.kafka.server.config.ShareCoordinatorConfig; import org.apache.kafka.server.config.ShareCoordinatorConfig;
import org.apache.kafka.server.group.share.PartitionFactory; import org.apache.kafka.server.share.PartitionFactory;
import org.apache.kafka.server.group.share.SharePartitionKey; import org.apache.kafka.server.share.SharePartitionKey;
import org.apache.kafka.timeline.SnapshotRegistry; import org.apache.kafka.timeline.SnapshotRegistry;
import org.apache.kafka.timeline.TimelineHashMap; import org.apache.kafka.timeline.TimelineHashMap;

View File

@ -40,7 +40,7 @@ import org.apache.kafka.image.TopicImage;
import org.apache.kafka.metadata.PartitionRegistration; import org.apache.kafka.metadata.PartitionRegistration;
import org.apache.kafka.server.common.ApiMessageAndVersion; import org.apache.kafka.server.common.ApiMessageAndVersion;
import org.apache.kafka.server.config.ShareCoordinatorConfig; import org.apache.kafka.server.config.ShareCoordinatorConfig;
import org.apache.kafka.server.group.share.SharePartitionKey; import org.apache.kafka.server.share.SharePartitionKey;
import org.apache.kafka.timeline.SnapshotRegistry; import org.apache.kafka.timeline.SnapshotRegistry;
import org.junit.jupiter.api.Test; import org.junit.jupiter.api.Test;

View File

@ -15,7 +15,7 @@
* limitations under the License. * limitations under the License.
*/ */
package org.apache.kafka.server.group.share; package org.apache.kafka.server.share;
import org.apache.kafka.common.message.DeleteShareGroupStateRequestData; import org.apache.kafka.common.message.DeleteShareGroupStateRequestData;

View File

@ -15,7 +15,7 @@
* limitations under the License. * limitations under the License.
*/ */
package org.apache.kafka.server.group.share; package org.apache.kafka.server.share;
import org.apache.kafka.common.message.DeleteShareGroupStateResponseData; import org.apache.kafka.common.message.DeleteShareGroupStateResponseData;

View File

@ -15,7 +15,7 @@
* limitations under the License. * limitations under the License.
*/ */
package org.apache.kafka.server.group.share; package org.apache.kafka.server.share;
import java.util.List; import java.util.List;
import java.util.Objects; import java.util.Objects;

View File

@ -15,7 +15,7 @@
* limitations under the License. * limitations under the License.
*/ */
package org.apache.kafka.server.group.share; package org.apache.kafka.server.share;
import org.apache.kafka.common.message.InitializeShareGroupStateRequestData; import org.apache.kafka.common.message.InitializeShareGroupStateRequestData;

View File

@ -15,7 +15,7 @@
* limitations under the License. * limitations under the License.
*/ */
package org.apache.kafka.server.group.share; package org.apache.kafka.server.share;
import org.apache.kafka.common.message.InitializeShareGroupStateResponseData; import org.apache.kafka.common.message.InitializeShareGroupStateResponseData;

View File

@ -15,7 +15,7 @@
* limitations under the License. * limitations under the License.
*/ */
package org.apache.kafka.server.group.share; package org.apache.kafka.server.share;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Collections; import java.util.Collections;
@ -111,4 +111,4 @@ public class NoOpShareStatePersister implements Persister {
public void stop() { public void stop() {
//noop //noop
} }
} }

View File

@ -15,7 +15,7 @@
* limitations under the License. * limitations under the License.
*/ */
package org.apache.kafka.server.group.share; package org.apache.kafka.server.share;
import java.util.List; import java.util.List;

View File

@ -15,7 +15,7 @@
* limitations under the License. * limitations under the License.
*/ */
package org.apache.kafka.server.group.share; package org.apache.kafka.server.share;
import java.util.List; import java.util.List;
import java.util.Objects; import java.util.Objects;

View File

@ -15,7 +15,7 @@
* limitations under the License. * limitations under the License.
*/ */
package org.apache.kafka.server.group.share; package org.apache.kafka.server.share;
/** /**
* This interface is implemented by classes used to contain the data for a partition with error data * This interface is implemented by classes used to contain the data for a partition with error data

View File

@ -15,7 +15,7 @@
* limitations under the License. * limitations under the License.
*/ */
package org.apache.kafka.server.group.share; package org.apache.kafka.server.share;
import org.apache.kafka.common.protocol.Errors; import org.apache.kafka.common.protocol.Errors;

View File

@ -15,7 +15,7 @@
* limitations under the License. * limitations under the License.
*/ */
package org.apache.kafka.server.group.share; package org.apache.kafka.server.share;
/** /**
* This interface is implemented by classes used to contain the data for a partition with its partition index * This interface is implemented by classes used to contain the data for a partition with its partition index

View File

@ -15,7 +15,7 @@
* limitations under the License. * limitations under the License.
*/ */
package org.apache.kafka.server.group.share; package org.apache.kafka.server.share;
/** /**
* This interface is implemented by classes used to contain the data for a partition with its leader epoch * This interface is implemented by classes used to contain the data for a partition with its leader epoch

View File

@ -15,7 +15,7 @@
* limitations under the License. * limitations under the License.
*/ */
package org.apache.kafka.server.group.share; package org.apache.kafka.server.share;
/** /**
* This interface is implemented by classes used to contain the data for a partition in the * This interface is implemented by classes used to contain the data for a partition in the

View File

@ -15,7 +15,7 @@
* limitations under the License. * limitations under the License.
*/ */
package org.apache.kafka.server.group.share; package org.apache.kafka.server.share;
import java.util.List; import java.util.List;

View File

@ -15,7 +15,7 @@
* limitations under the License. * limitations under the License.
*/ */
package org.apache.kafka.server.group.share; package org.apache.kafka.server.share;
/** /**
* This interface is implemented by classes used to contain the data for a partition with the state epoch and * This interface is implemented by classes used to contain the data for a partition with the state epoch and

View File

@ -15,7 +15,7 @@
* limitations under the License. * limitations under the License.
*/ */
package org.apache.kafka.server.group.share; package org.apache.kafka.server.share;
/** /**
* This interface is implemented by classes used to contain the data for a partition with state and error data * This interface is implemented by classes used to contain the data for a partition with state and error data

View File

@ -15,7 +15,7 @@
* limitations under the License. * limitations under the License.
*/ */
package org.apache.kafka.server.group.share; package org.apache.kafka.server.share;
import org.apache.kafka.common.annotation.InterfaceStability; import org.apache.kafka.common.annotation.InterfaceStability;

View File

@ -15,7 +15,7 @@
* limitations under the License. * limitations under the License.
*/ */
package org.apache.kafka.server.group.share; package org.apache.kafka.server.share;
/** /**
* Marker interface for parameter classes related to the {@link Persister} result classes. * Marker interface for parameter classes related to the {@link Persister} result classes.

View File

@ -15,7 +15,7 @@
* limitations under the License. * limitations under the License.
*/ */
package org.apache.kafka.server.group.share; package org.apache.kafka.server.share;
/** /**
* Marker interface for result classes related to the {@link Persister} result classes. * Marker interface for result classes related to the {@link Persister} result classes.

View File

@ -15,7 +15,7 @@
* limitations under the License. * limitations under the License.
*/ */
package org.apache.kafka.server.group.share; package org.apache.kafka.server.share;
import org.apache.kafka.common.message.ReadShareGroupStateResponseData; import org.apache.kafka.common.message.ReadShareGroupStateResponseData;
import org.apache.kafka.common.message.WriteShareGroupStateRequestData; import org.apache.kafka.common.message.WriteShareGroupStateRequestData;

View File

@ -15,7 +15,7 @@
* limitations under the License. * limitations under the License.
*/ */
package org.apache.kafka.server.group.share; package org.apache.kafka.server.share;
import org.apache.kafka.common.message.ReadShareGroupStateRequestData; import org.apache.kafka.common.message.ReadShareGroupStateRequestData;

View File

@ -15,7 +15,7 @@
* limitations under the License. * limitations under the License.
*/ */
package org.apache.kafka.server.group.share; package org.apache.kafka.server.share;
import org.apache.kafka.common.message.ReadShareGroupStateResponseData; import org.apache.kafka.common.message.ReadShareGroupStateResponseData;

View File

@ -15,7 +15,7 @@
* limitations under the License. * limitations under the License.
*/ */
package org.apache.kafka.server.group.share; package org.apache.kafka.server.share;
import org.apache.kafka.common.message.ReadShareGroupStateSummaryRequestData; import org.apache.kafka.common.message.ReadShareGroupStateSummaryRequestData;

View File

@ -15,7 +15,7 @@
* limitations under the License. * limitations under the License.
*/ */
package org.apache.kafka.server.group.share; package org.apache.kafka.server.share;
import org.apache.kafka.common.message.ReadShareGroupStateSummaryResponseData; import org.apache.kafka.common.message.ReadShareGroupStateSummaryResponseData;

View File

@ -14,7 +14,7 @@
* See the License for the specific language governing permissions and * See the License for the specific language governing permissions and
* limitations under the License. * limitations under the License.
*/ */
package org.apache.kafka.server.group.share; package org.apache.kafka.server.share;
import org.apache.kafka.common.TopicIdPartition; import org.apache.kafka.common.TopicIdPartition;
import org.apache.kafka.common.Uuid; import org.apache.kafka.common.Uuid;

View File

@ -15,7 +15,7 @@
* limitations under the License. * limitations under the License.
*/ */
package org.apache.kafka.server.group.share; package org.apache.kafka.server.share;
import org.apache.kafka.common.Uuid; import org.apache.kafka.common.Uuid;

View File

@ -15,7 +15,7 @@
* limitations under the License. * limitations under the License.
*/ */
package org.apache.kafka.server.group.share; package org.apache.kafka.server.share;
import org.apache.kafka.common.message.WriteShareGroupStateRequestData; import org.apache.kafka.common.message.WriteShareGroupStateRequestData;

View File

@ -15,7 +15,7 @@
* limitations under the License. * limitations under the License.
*/ */
package org.apache.kafka.server.group.share; package org.apache.kafka.server.share;
import org.apache.kafka.common.message.WriteShareGroupStateResponseData; import org.apache.kafka.common.message.WriteShareGroupStateResponseData;