The GitHub Actions job "Build" on rocketmq-flink.git/feat/simple-consumer has 
failed.
Run started by GitHub user lizhimins (triggered by lizhimins).

Head commit for run:
b94bcbc45275c0b6f2637b678f7d14e4077d0bfe / lizhimins <[email protected]>
[ISSUE #137] feat: add a simple consumer mode for normal-topic consumption

Add a SIMPLE consumption mode to the gRPC connector so a normal topic can be
consumed through the SDK SimpleConsumer, next to the existing LITE mode that
binds a main lite topic through the LiteSimpleConsumer.

- rocketmq.source.mode (SQL: source.mode) selects the mode and defaults to
  SIMPLE; LITE must now be requested explicitly.
- SIMPLE subscribes one topic with an optional tag / SQL92 filter expression and
  acknowledges messages itself: the receipt handles of emitted records are
  grouped per checkpoint by CheckpointAckTracker and acked from
  notifyCheckpointComplete through the very consumer that received them, so no
  second gRPC connection is needed. Ack failures are tolerated and logged, so a
  single stale handle can never fail the job; un-acked messages are redelivered
  once their invisible duration expires, which is the at-least-once guarantee.
- PopConsumer abstracts the two SDK Pop clients, which expose the same
  receive / ack / changeInvisibleDuration operations but share no common
  interface, keeping the split reader mode-agnostic.
- RocketMQLiteAckClient is renamed to RocketMQAckClient and now serves only the
  LITE downstream-ack path, which genuinely needs credentials and pooling.
- The SQL factory exposes source.mode, source.filter-expression and
  source.filter-type; docs/grpc-connector.md documents both modes, the
  checkpoint-ack semantics and how to size the invisible duration.

Verified end to end against an open-source cluster and an Alibaba Cloud
commercial instance: 50 messages received, acked after checkpoint completion and
zero redelivery once the invisible duration expired.

BREAKING CHANGE: the source now consumes a normal topic with a
checkpoint-aligned SimpleConsumer by default. Jobs relying on the main lite
topic with downstream acknowledgement must select LITE explicitly via
setMode(ConsumerMode.LITE) or 'source.mode' = 'lite'.

Report URL: https://github.com/apache/rocketmq-flink/actions/runs/32005783531

With regards,
GitHub Actions via GitBox

Reply via email to