Do you have some uniqueness in messages based on which you can define a DB constraint ? If there is one you define a unique constraint in DB, if the spout retries the bolt writing to DB will fail with constraint violation and the exception should also tell you which constraint was violated, you can ignore the unique constraint violations and ack back so the spout will stop retrying.
Its not clean but should work. Thanks Parth From: Javier Gonzalez <[email protected]<mailto:[email protected]>> Reply-To: "[email protected]<mailto:[email protected]>" <[email protected]<mailto:[email protected]>> Date: Tuesday, March 3, 2015 at 9:37 AM To: "[email protected]<mailto:[email protected]>" <[email protected]<mailto:[email protected]>> Subject: Exactly once transactions and storm We don't see the need for batching, and we don't quite see how Trident would help us in this case. If you could offer suggestions of alternatives (or point out what are we missing about Trident), we would be very grateful.
