What happens in the following conditions

Competing consumer model , two subscribers S1 and S2

  1. Event 1 goes to S1, times out and is sent to S2. S1 responds with an Ack/Park. Are all future responses about Event 1 from S1 ignored?
  2. Event 1 goes to s1 at time X, Event 2,3,4 go to s2 and are ack before Event 1. So Event 1 is resent back to S1 at time Y. Will the event store ignore all responses from Event 1 that was sent at time X?

Also do you have any subscribe group setting recommendation (checkpoint time, message timeout etc) for the following environment - 2 to 20 subscribers. Events are handled in separate threads. Events may be ack’ed out of order often and we would like to reduce duplicates.

inline:

Competing consumer model , two subscribers S1 and S2
1. Event 1 goes to S1, times out and is sent to S2. S1 responds with an
Ack/Park. Are all future responses about Event 1 from S1 ignored?

It depends (I do work as a consultant). If it is acked then it will be
acked and future this is a noop. If it is parked then later acked it
will be parked and acked. The checkpoint will move forward and it will
be parked.

2. Event 1 goes to s1 at time X, Event 2,3,4 go to s2 and are ack before
Event 1. So Event 1 is resent back to S1 at time Y. Will the event store
ignore all responses from Event 1 that was sent at time X?

No if an ack comes back it will be ack'ed. Ack is based on message id
not on message id + time sent.

Also do you have any subscribe group setting recommendation (checkpoint
time, message timeout etc) for the following environment - 2 to 20
subscribers. Events are handled in separate threads. Events may be ack'ed
out of order often and we would like to reduce duplicates.

I would need more information.

What kind of information would you need?

What latency do you want per message?
What is your tolerance of repeated messages?
What is your overall throughput goal?
What is the network latency between subscribers and the event store?

It is all trade offs...