Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  1. FetchRequestManager reads SubscriptionState which now includes RemoteLogSegmentId and RemoteLogSegmentCustomMetadata
  2. FetchRequestsManager constructs UnsentRequest objects with remote segment location information
  3. NetworkClientDelegate routes requests
    1. Standard requests -> NetworkClient -> KafkaBroker
    2. RemoteStorageRequests -> RemoteStorageClient -> RemoteTierStorage
  4. RemoteStorageNetworkClient.send() invokes RemoteStorageFetcher.fetchLogSegment
  5. RemoteStorageNetworkClient.poll() reads the InputStream, converts server log batches to MemoryRecords
  6. FetchRequestManager.handleFetchSuccess creates FetchResponse
  7. FetchRequestManager appends the FetchResponse to FetchBuffer

Image Added

ClassicKafkaConsumer Path

...

  1. Fetcher checks SubscriptionState for remote segment location
  2. Routes to RemoteStorageNetworkClient for remote fetches
  3. Same conversion logic applies via callback to FetchBuffer


Image Added

Transactions

Raw segments may contain messages from aborted transactions. The handling depends on isolation level:

...