Skip to content

6484 system test ecs state store#6609

Open
ca61688 wants to merge 46 commits intodevelopfrom
6484-system-test-ecs-state-store
Open

6484 system test ecs state store#6609
ca61688 wants to merge 46 commits intodevelopfrom
6484-system-test-ecs-state-store

Conversation

@ca61688
Copy link
Collaborator

@ca61688 ca61688 commented Feb 11, 2026

Make sure you have checked all steps below.

Issue

  • My PR fully resolves the following issues. I've referenced an issue in the PR title, for example "Issue 1234 - My
    Feature". Note that before an issue is finished, you can still make a pull request by raising a separate issue
    for your progress.

Tests

  • My PR adds the following tests based on our test strategy OR does not need testing for this extremely good reason:
    • ECSStateStoreCommitterST, ECSStateStoreCommitterThroughputST

Documentation

  • In case of new functionality, my PR adds documentation that describes how to use it, or I have linked to a
    separate issue for that below.
  • If I have added new Java code, I have added Javadoc that explains it following our conventions and style.
  • If I have added or removed any dependencies from the project, I have updated the NOTICES file.

@ca61688 ca61688 linked an issue Feb 11, 2026 that may be closed by this pull request
@ca61688 ca61688 marked this pull request as ready for review February 18, 2026 15:59
@ca61688 ca61688 added the needs-reviewer Pull requests that need a reviewer to be assigned label Feb 18, 2026
// been written to the config bucket yet when we first start up.
if (response.hasMessages()) {
if (!isProcessingTasks) {
LOGGER.info("State store committer process started at {}", Instant.now());
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It doesn't seem like we'll always get this log in a system test? When one test finishes, it'll move straight on to the next, and it seems like it could submit more messages to the queue before the isProcessingTasks flag gets unset.

It seems like it would be more reliable to process the logs after the fact rather than have logic in the committer for whether it should make the log in the first place? There's already a log just below here that happens every time we receive messages. We could process that rather than adding an extra one.

private StateStoreProvider stateStoreProvider;
private RetryOnThrottling retryOnThrottling;
private Map<String, CompletableFuture<Instant>> tableFutures = new HashMap<>();
private boolean isProcessingTasks = false;
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This field name is a bit confusing. This class doesn't process tasks, it runs in a task. It processes state store commits.

/**
* A log entry recording that a state store committer batch finished processing.
*/
public class StateStoreCommitterRunBatchFinished extends StateStoreCommitterRunFinished {
Copy link
Collaborator

@patchwork01 patchwork01 Feb 19, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It doesn't look like there are any tests for the handling of this new log type, or for handling the logs that will be emitted overall by the ECS-based committer.

The existing unit tests are in:

  • ReadStateStoreCommitterLogsTest
  • StateStoreCommitterRunsFromEntriesTest
  • StateStoreCommitterRequestsPerSecondTest

@patchwork01 patchwork01 removed the needs-reviewer Pull requests that need a reviewer to be assigned label Feb 19, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

System test ECS-based state store committer

2 participants

Comments