Skip to content

Questions on batch operations #26

@abhideodhar

Description

@abhideodhar

I want to seek some clarity on the batch operations:

  1. A connection can have a single batch running on it at a given time - right? Can operations other than PUT/DELETE outside the batch happen on that connection while the batch is active? Or is the server supposed to reject those commands?
  2. In a batch, there could be a sequence of operations (puts/deletes). If we have a multi-threaded kinetic client which is using the same connection, then the different threads could send requests in an order. So lets say thread1 sends operations 1->5 and thread2 sends operations 6->10. These operations could arrive in a different order on the server due to the network layer. So server may receive 6->10 before 1->5. So where does the onus of ordering the request lie - I am assuming that the client needs to provide the necessary synchronization and the server simply processes whatever it receives at its end in that order. Is my understanding correct?
  3. This question is about the END_BATCH_RESPONSE. If client sent 10 operations in a batch (assume 1->10) and during commit the 5th operation failed, the server will report 5 in the failedSequence. Now - I am thinking that its the client's responsibility to maintain atomicity by rolling back 1->4 or reissuing 5->10? Is my understanding correct?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions