Extract impressions module#625
Merged
gthea merged 6 commits intomod_baselinefrom Apr 28, 2026
Merged
Conversation
…d empty source tree AI-Session-Id: 52375eb8-af89-45b8-bbad-1698b6636202 AI-Tool: claude-code AI-Model: unknown
…rs, and clean strategy files to impressions module - Move impression DTOs (KeyImpression, TestImpressions, ImpressionCount, DecoratedImpression, UniqueKeys) - Move core impression files (Impression, ImpressionCounter, ImpressionHasher, ImpressionObserver, ImpressionUtils, ImpressionsResult, ImpressionsSender, ImpressionsStorage*, InMemoryImpressionsStorage, ImpressionsManager, ImpressionListener, UniqueKeysTracker) - Move filters/ package wholesale (BloomFilterImp, Filter, FilterAdapter, FilterAdapterImpl) - Move clean strategy files (ProcessImpressionDebug, ProcessImpressionNone, ProcessImpressionStrategy) - Copy MurmurHash3 into impressions module to avoid targeting-engine dependency - Replace Preconditions.checkNotNull with Objects.requireNonNull in ImpressionCounter - Add hamcrest-all test dep; fix ImpressionObserverTest logger reference - impressions module builds and all moved tests pass standalone AI-Session-Id: 52375eb8-af89-45b8-bbad-1698b6636202 AI-Tool: claude-code AI-Model: unknown
… ThreadFactoryBuilder with inline ThreadFactory AI-Session-Id: 52375eb8-af89-45b8-bbad-1698b6636202 AI-Tool: claude-code AI-Model: unknown
… UniqueKeysTrackerImp from TelemetrySynchronizer - Add UniqueKeysSender interface replacing TelemetrySynchronizer dependency - git mv UniqueKeysTrackerImp to impressions module - Constructor now accepts UniqueKeysSender instead of TelemetrySynchronizer - Replace Lists.partition (Guava) with local partition() helper using subList - Replace SplitExecutorFactory with Executors.newSingleThreadScheduledExecutor - Update tests to mock UniqueKeysSender AI-Session-Id: 52375eb8-af89-45b8-bbad-1698b6636202 AI-Tool: claude-code AI-Model: unknown
…ionsTelemetryRecorder; decouple ImpressionsManagerImpl and ProcessImpressionOptimized - Add ImpressionsManagerConfig (replaces SplitClientConfig reads) - Add ImpressionsTelemetryRecorder interface + NoopImpressionsTelemetryRecorder - git mv ImpressionsManagerImpl: accepts ImpressionsManagerConfig + ImpressionsTelemetryRecorder, removes SplitClientConfig/TelemetryRuntimeProducer/SplitExecutorFactory deps, inlines scheduler with Executors.newScheduledThreadPool, removes @VisibleForTesting/checkNotNull - git mv ProcessImpressionOptimized: uses ImpressionsTelemetryRecorder instead of TelemetryRuntimeProducer - git mv ImpressionsManagerImplTest: updated all 25 tests to use new abstractions AI-Session-Id: 52375eb8-af89-45b8-bbad-1698b6636202 AI-Tool: claude-code AI-Model: unknown
Add impressions dependency to client/pom.xml. Add adapter classes TelemetryRuntimeImpressionsRecorder and TelemetryUniqueKeysSender to bridge the old telemetry interfaces to the new impressions module boundaries. Update SplitFactoryImpl to build ImpressionsManagerConfig and use the adapters when constructing ImpressionsManagerImpl and UniqueKeysTrackerImp. Move strategy tests and UniqueKeysTrackerImpTest to the impressions module where their dependencies now live. AI-Session-Id: 52375eb8-af89-45b8-bbad-1698b6636202 AI-Tool: claude-code AI-Model: unknown
EmilianoSanchez
approved these changes
Apr 28, 2026
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.


Extracted impressions module. Murmur3 implementation was copied to prevent coupling to targeting-engine module (one class only).