Skip to content

Chunk Completion Policy for ItemReaders #72

Description

@jgoldverg

Setting:Currently pipeSize is a variable in the TransferJobRequest that allows the API to determine how many read() calls to a single write() in any reader and writer implemented.

Problem: We need to change this variable dynamically for all steps that are processing. The reason is pipeSize effectively determines how much we hit the network/disk using consecutive calls which can be thought to similarly as Sequential IO for a segment of a file. This in itself needs to be dynamic as network conditions can dramatically change and pipSize directly impacts how much IO we do.

Solution: Spring Batch provides a CompletionPolicy.java interface where we can define when a chunk is deemed fully read in/produced. We can create an impl that will determine how many times are read through a variable that gets changed via the Rest API. This will allow for dynamic control of the commit-interval/pipeSize of the running job.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions