Skip to content

[pull] main from getsentry:main - #415

Merged
pull[bot] merged 11 commits into
NOUIY:mainfrom
getsentry:main
Aug 5, 2026
Merged

[pull] main from getsentry:main#415
pull[bot] merged 11 commits into
NOUIY:mainfrom
getsentry:main

Conversation

@pull

@pull pull Bot commented Aug 5, 2026

Copy link
Copy Markdown

See Commits and Changes for more details.


Created by pull[bot] (v2.0.0-alpha.4)

Can you help keep this open source service alive? 💖 Please sponsor : )

runningcode and others added 11 commits August 5, 2026 09:52
#5851)

* perf: Drop pending timer tasks on shutdown to unblock close (JAVA-653)

The timer executor is shut down by Scopes.close() via shutdown() followed
by awaitTermination(). ScheduledThreadPoolExecutor keeps queued delayed
tasks across shutdown() by default, so awaitTermination() blocks for the
full shutdown timeout (2s by default) whenever a long timeout is still
pending: an unfinished transaction's idle/deadline timer, the 30s
LifecycleWatcher end-session task, or a rate limit lifted notification.

Those tasks are discarded by the subsequent shutdownNow() anyway, so
dropping them upfront is behaviour preserving and only saves the wait.
This only affects shutdown(), so the SDK restart path that intentionally
leaves the timer executor running is unaffected.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>

* changelog

* test: Drop SentryExecutorService shutdown policy tests (JAVA-653)

One test only asserted the setter took effect and the other timed
close() against a wall-clock bound, which is flaky on loaded CI. The
comment on setExecuteExistingDelayedTasksAfterShutdownPolicy explains
why the policy is set, which is enough to prevent someone removing it.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
Bumps the github-actions group with 1 update: [gradle/actions/setup-gradle](https://github.com/gradle/actions).


Updates `gradle/actions/setup-gradle` from 6.2.0 to 6.3.0
- [Release notes](https://github.com/gradle/actions/releases)
- [Commits](gradle/actions@3f131e8...9c97196)

---
updated-dependencies:
- dependency-name: gradle/actions/setup-gradle
  dependency-version: 6.3.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: github-actions
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Moves Choreographer field lookup out of the frame metrics collector constructor so that Sentry.init() doesn't synchronously perform framework reflection. Helps us reduce the likelihood of another common class of Sentry.init() ANRs (see [here](https://sentry.sentry.io/issues/6138715212/?project=4506812075540480&referrer=seer.agent.in-chat-link)).

Behavior change from the user's perspective should usually be non-existant, and minor in the worst case. The choreographer and choreographerLastFrameTimeField properties are still initialized by a main-thread Handler post made during collector construction, before later startCollection() calls post frame-listener registration work to the same main looper. Since those main-looper tasks run in order, the Choreographer fallback should be populated before any collected frame or pending-frame interpolation normally needs it. If it's not ready yet, the failure mode is a missed/less precise first pending-frame calculation rather than a crash.

Co-Authored-By: OpenCode <noreply@opencode.ai>
changelog-preview.yml is disabled_manually on GitHub and unused. Rather
than fixing its secrets: inherit usage, remove the workflow entirely,
consistent with how other getsentry repos are dropping this disabled
workflow.

Refs VULN-2260

Co-authored-by: Claude Sonnet 5 <noreply@anthropic.com>
Drop the "Build entire project" command from AGENTS.md Essential
Commands so agents aren't instructed to run a full ./gradlew build,
which is an expensive step not needed for the documented workflow.

Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
Restore the interrupt status when the inter-envelope processing delay is interrupted so callers can observe the interruption after directory processing returns.

Add regression coverage for the interrupted delay path.

Fixes JAVA-666
Co-Authored-By: OpenCode <noreply@opencode.ai>
* perf: Let HostnameCache worker thread idle out (JAVA-653)

HostnameCache used Executors.newSingleThreadExecutor, whose worker
thread stays alive for the life of the process even though the cache
refreshes at most once every 5 hours. Use a ThreadPoolExecutor with a
keep-alive and allowCoreThreadTimeOut(true) so the thread terminates
when idle and is recreated on the next refresh. Keeping a dedicated
executor (rather than sharing one) preserves the blocking
future.get(1s) timeout behavior.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* changelog

---------

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
The unreleased Performance entry for #5867 quoted specific allocation
counts (188 of 221). Simplify it to state the benefit — fewer main-thread
allocations — without the implementation detail.

Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
@pull pull Bot locked and limited conversation to collaborators Aug 5, 2026
@pull pull Bot added the ⤵️ pull label Aug 5, 2026
@pull
pull Bot merged commit c70653f into NOUIY:main Aug 5, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants