goutamadwant opened a new pull request, #12451:
URL: https://github.com/apache/seatunnel/pull/12451
### Purpose of this pull request
Related to #10753 (Sentry source).
Add a bounded source for one Sentry project's error events within an
explicit time window. It follows cursor pagination, handles transient failures
and rate limits, and exposes event metadata plus the returned event summary
serialized as JSON.
Requests retain the configured endpoint and time bounds. Malformed
responses, missing pagination, repeated cursors and safety-limit violations
fail the job rather than silently returning partial results. The existing
Sentry sink is preserved.
### Does this PR introduce _any_ user-facing change?
Yes. Previously Sentry was available only as a sink. Users can now configure
a `Sentry` source in BATCH mode with parallelism 1 and a project-read bearer
token. A sink DSN cannot authenticate the source.
The source has a fixed eight-column STRING schema. It reads error-event
summaries, not traces, attachments or full stack traces. Recovery replays the
configured window; immutable snapshots, exactly-once delivery and complete
retained history are not promised. Existing sink configuration is unchanged.
### How was this patch tested?
- Reproduced missing source-factory discovery before implementation.
- Java 8 and Java 11: 30 tests covering source behavior, factory discovery,
four existing sink tests, actual startup-token masking and fixture request
matching.
- Four packaged-engine tests passed: Flink 1.18, Flink 1.20, Spark 3.3 and
Zeta. Each verifies a rate-limit retry, two pages, exact requests and three
output rows.
- Full repository `./mvnw -q -DskipTests verify` passed on Java 8.
Subsequent test-only fixture/logging changes passed scoped verification and the
engine matrix.
Focused tests, with Java 8 or Java 11 selected:
```sh
./mvnw -q -pl seatunnel-e2e/seatunnel-connector-v2-e2e/connector-sentry-e2e
-am \
-Dtest=SentrySourceTest,SentryFactoryTest,SentryMaskingTest,SentryFixtureTest \
-Dsurefire.failIfNoSpecifiedTests=false -DskipIT=true verify
```
Reduced PR engine matrix, with Docker available:
```sh
TEST_IN_PR=true RUN_ALL_CONTAINER=false RUN_ZETA_CONTAINER=true \
./mvnw -q -pl seatunnel-e2e/seatunnel-connector-v2-e2e/connector-sentry-e2e
-am \
-DskipUT=true -DskipIT=false -Dit.test=SentryIT \
-DfailIfNoTests=false -Dfailsafe.failIfNoSpecifiedTests=false verify
```
Engine tests use a deterministic API fixture, not a live Sentry deployment.
Live token scopes, server-version compatibility and retention completeness were
not validated.
### Check list
- [x] Updated LICENSE/NOTICE for the HTTP transport dependencies.
- [x] Added English/Chinese source documentation.
- [x] Checked incompatibilities; existing sink configuration is unchanged.
- [x] Updated source mapping and CI scope; added the E2E module. Existing
Sentry distribution and plugin configuration entries already cover the
connector artifact.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]