Skip to content

ExecutionContext dirty flag does not remain true when null is put for a non-existent key #4692

Closed
@GGHDMS

Description

@GGHDMS
Contributor

Issue Description

Description:
There is an issue with the ExecutionContext class where the dirty flag does not stay true when a null value is passed for a key that does not exist in the context. This behavior leads to unexpected results, especially when the dirty flag is used to determine if any modifications have been made to the context.

Steps to Reproduce:

  1. Create a new ExecutionContext
  2. Add a new key-value pair using put, which sets the dirty flag to true
  3. Call put again with a different key and null value
  4. Observe that the dirty flag is incorrectly reset to false even though no change occurred

Example Code:

@Test
void testDirty() {
    ExecutionContext context = new ExecutionContext();
    context.put("1", "testString1");
    assertTrue(context.isDirty()); // Expected to be true
    context.put("2", null);
    assertTrue(context.isDirty()); // This fails, `dirty` flag is reset to false
}

Activity

changed the title [-]`ExecutionContext` `dirty` flag does not remain `true` when `null` is put for a non-existent key[/-] [+]`ExecutionContext dirty` flag does not remain `true` when `null` is put for a non-existent key[/+] on Oct 27, 2024
changed the title [-]`ExecutionContext dirty` flag does not remain `true` when `null` is put for a non-existent key[/-] [+]ExecutionContext dirty flag does not remain true when null is put for a non-existent key[/+] on Oct 27, 2024
added this to the 5.2.2 milestone on Feb 26, 2025
added a commit that references this issue on Feb 26, 2025
42b1464
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

      Development

      No branches or pull requests

        Participants

        @fmbenhassine@GGHDMS

        Issue actions

          ExecutionContext dirty flag does not remain true when null is put for a non-existent key · Issue #4692 · spring-projects/spring-batch