<a id="topics-faq"></a>

# FAQ for Confluent Cloud Topics

Find answers to frequently asked questions about Confluent Cloud topics.

## Can I maintain unlimited retention using log-compacted topics with Confluent Cloud?

Yes. You can set retention per topic in Confluent Cloud, including unlimited retention with log compaction. You are only limited
by the amount of total storage for your cluster. For more information, see [Configuration Reference for Topics in Confluent Cloud](manage.md#cloud-topic-config).

## Are there topic or partition limits?

Yes, these are described in [Kafka Cluster Types in Confluent Cloud](../clusters/cluster-types.md#cloud-cluster-types). If you try to create more partitions than you are allowed, you will see
this error:

```none
"You may not create more than the maximum number of partitions"
```

## How can I change the replication factor for an existing topic in Confluent Cloud?

Confluent Cloud does not allow changing the replication factor for a topic.
Confluent Cloud enforces a replication factor of three to ensure data durability.
For more information, see [Optimize Confluent Cloud Clients for Durability](../client-apps/optimizing/durability.md#optimizing-for-durability).

## How do I list all topics in a Confluent Cloud Kafka cluster?

Use the Confluent CLI with `confluent kafka topic list` or [view topics](overview.md#cloud-topics) in the Confluent Cloud Console.

## Can I limit the throughput or rate of messages on a topic?

Topics have no built-in throttling, but you can configure [producers](../client-apps/producer.md#kafka-producer) to control the rate using producer configuration settings.

## Is it possible to migrate topics from self-managed Kafka to Confluent Cloud?

Yes, you can use [Cluster Linking](../multi-cloud/cluster-linking/index.md#cloud-cluster-linking) or MirrorMaker for migration.

## Is there a way to bulk delete topics via CLI or API?

Topics must be deleted individually using the Confluent CLI or API.
Confluent Cloud does not currently support bulk deletion.

## Is there a way to schedule automatic topic creation or deletion?

Confluent Cloud has no built-in scheduler for topic creation or deletion. You must
script it using the API or Confluent CLI externally.

## What limits exist for the number of topics or partitions per cluster?

Default limits exist on topics and partitions. For information about limits, see [Kafka Cluster Types in Confluent Cloud](../clusters/cluster-types.md#cloud-cluster-types). For limit increases, contact [Confluent Support](https://support.confluent.io).

## How do I resolve a 403 Forbidden error when trying to access a topic using the Java client?

This is likely due to missing ACLs. Ensure your service account has appropriate `READ` and `DESCRIBE` permissions on the topic.
For more information, see [ACL Overview](../security/access-control/acls/overview.md#acl-overview).

## What does the error “unknown topic or partition” mean when consuming from a topic?

This error usually means the topic does not exist or the client does not have the correct permissions.
To fix this, check whether the topic exists and [review your ACLs](../security/access-control/acls/overview.md#acl-overview).

## How can I validate that data is flowing from my producer to a topic?

You can use the [message browser](messages.md#ccloud-topic-message-browser) in the Cloud Console or use
[kafka-console-consumer](/platform/current/tools/cli-reference.html#kafka-console-consumer) CLI to validate ingestion.

## How can I find the exact timestamp of a Kafka message?

Use [kafka-console-consumer](/platform/current/tools/cli-reference.html#kafka-console-consumer) with `--property print.timestamp=true` or
inspect metadata with the API.

## How do I validate that Kafka Connect has permissions to read from a topic?

Verify ACLs for the service account used by the connector and ensure it has
`READ` and `DESCRIBE` permissions. For more information,
see [Manage Service Accounts for Connectors in Confluent Cloud](../connectors/service-account.md#s3-cloud-service-account).

## Is there a way to back up data from a topic periodically?

Use the [S3 Sink Connector](../connectors/cc-s3-sink/cc-s3-sink.md#cc-s3-connect-sink) or Apache Kafka® consumer jobs to write data to persistent storage.

## How do I connect Confluent Cloud for Flink SQL to a Confluent Cloud Kafka topic?

Connect using Apache Flink® connectors with proper Kafka properties and Schema Registry integration. For more information, see [Stream Processing with Confluent Cloud for Apache Flink](../flink/overview.md#ccloud-flink).

## Is Stream Sharing available for Dedicated Kafka clusters?

Yes, Stream Sharing is available for Dedicated Kafka clusters, but
Confluent Cloud does not support all private networking options. For more
information, see [Share Data with Stream Sharing from Confluent Cloud](../stream-sharing/index.md#cloud-data-sharing).

## How do I change the cleanup policy for an existing topic?

You cannot directly change `cleanup.policy` from `delete` to `compact, delete`. You must first change from `delete`
to `compact`, then change to `compact, delete`. For more information, see [Configuration Reference for Topics in Confluent Cloud](manage.md#cloud-topic-config).

## What happens when I switch a topic’s cleanup policy from delete to compact?

Records without keys are considered invalid and deleted when switching the cleanup policy from `delete` to `compact`.
For more information, see [Configuration Reference for Topics in Confluent Cloud](manage.md#cloud-topic-config).

## Can I change the number of partitions for an existing topic?

Yes, you can increase but not decrease the number of partitions for an existing topic. For procedures, see [num.partitions](manage.md#topics-num-partitions).

## What are the maximum message size limits for different cluster types?

The `max.message.bytes` limits vary by cluster type: Dedicated and Enterprise clusters allow up to 20 MB (20,971,520 bytes),
while Basic and Standard clusters allow up to 8 MB (8,388,608 bytes). For more information, see [Configuration Reference for Topics in Confluent Cloud](manage.md#cloud-topic-config).

## Why can’t I see metrics for all my topics in the Cloud Console?

If you have more than 1,000 topics, Cloud Console might not display metrics for all topics. For complete monitoring
of all topics, use the Metrics API. For more information, see [Confluent Cloud Metrics](../monitoring/metrics-api.md#metrics-api).

## Why doesn’t the message browser show the maximum number of results I selected?

The message browser might not always display results equal to the maximum selected due to filtering selections and data ordering
in the topic. Change from **Latest** to **From beginning** or select a specific time or offset to see different result sets.
For more information, see [Use Message Browser in Confluent Cloud](messages.md#ccloud-topic-message-browser).

## How much does using the message browser cost?

You pay for data consumed and produced to your cluster by the message browser. The message browser costs the same
as any other client you deploy. For more information, see [Use Message Browser in Confluent Cloud](messages.md#ccloud-topic-message-browser).

## Can I filter message browser results?

Yes, you can filter across available columns, but you can only filter results that are currently displayed. To add more
results, increase maximum results, manipulate start time, or add partitions. For more information, see [Use Message Browser in Confluent Cloud](messages.md#ccloud-topic-message-browser).

## What schema strategies does the message browser support?

The message browser displays messages with associated schemas and only uses `TopicNameStrategy` schemas to deserialize messages.
Where multiple schema contexts are available, you can select between them with a drop-down list. For more information, see [Use Message Browser in Confluent Cloud](messages.md#ccloud-topic-message-browser).

## What are the prerequisites for enabling Stream Sharing?

An administrator must select a Stream Governance package, enable Stream Sharing for the organization, and use Confluent Cloud Schema Registry for
schema-enabled topics. Self-managed Schema Registry cannot share schema-enabled topics. For procedures, see [Share Data with Stream Sharing from Confluent Cloud](../stream-sharing/index.md#cloud-data-sharing).

## What cluster types support Stream Sharing?

Basic, Standard, and Dedicated clusters allow
Stream Sharing. Enterprise and Freight clusters do not allow
Stream Sharing. Confluent Cloud does not support all private networking options for
Dedicated clusters.
For more information, see [Limitations](../stream-sharing/index.md#cloud-data-sharing-limits).

## What are the data throughput limits for Stream Sharing?

Each share is limited to 10 MB per second. If you need this limit adjusted, contact
[Confluent Support](https://support.confluent.io). For more information, see [Limitations](../stream-sharing/index.md#cloud-data-sharing-limits).

## How long do Stream Sharing invitations remain valid?

By default, you have one week to access the link to shared data or redeem the access token, although the provider can
invalidate the link at any time. For more information, see [Share Data with Stream Sharing from Confluent Cloud](../stream-sharing/index.md#cloud-data-sharing).

## Can I redeem a Stream Sharing invitation multiple times?

No, you can only redeem a stream share once. After receiving credentials, you cannot redeem the same stream share again.
Once redeemed, it remains active indefinitely until deleted or access is revoked. For more information, see [Share Data with Stream Sharing from Confluent Cloud](../stream-sharing/index.md#cloud-data-sharing).

## What happens if I don’t receive a Stream Sharing invitation email?

Check your junk or spam folders. If you still can’t find it, contact the data provider. The provider can resend invitations
as often as needed until accepted. For more information, see [Share Data with Stream Sharing from Confluent Cloud](../stream-sharing/index.md#cloud-data-sharing).

## What networking requirements exist for private endpoint Stream Sharing?

The data provider and recipient must use the same cloud provider. You must set up network connectivity to the Confluent Cloud
network before accessing the topic. Supported options include AWS PrivateLink, Azure Private Link, and Google Cloud Private Service Connect.
For more information, see [Limitations](../stream-sharing/index.md#cloud-data-sharing-limits).

## What permissions do Stream Sharing consumers receive?

Consumers receive read-only access through internal role-based access control (RBAC) roles: `StreamShareRead` (for topics and groups) and
`StreamShareSchemaRegistryRead` (for Schema Registry subjects). For more information, see [Share Data with Stream Sharing from Confluent Cloud](../stream-sharing/index.md#cloud-data-sharing).

## Why can’t I access topic management features with private networking enabled?

When private networking is enabled, some Cloud Console components (including topic management) use cluster endpoints
that aren’t publicly reachable. You must configure your network to route requests over the private connection.
For details, see [Use the Confluent Cloud Console with Private Networking](../networking/ccloud-console-access.md#ccloud-console-access-networking).
