The opaque transactional topology has overcome the limitation of the transactional topology, and the opaque transactional spout is fault tolerant even if the data source nodes are down. The opaque transactional spout has the following characteristics:
Every tuple is processed in exactly one batch.
If a tuple is not processed in one batch, it would be processed in the next batch. But, the second batch doesn't have the same set of tuples as the first processed batch.
In the case of a transactional topology, we would maintain both the txid
and count
parameters to make the decision whether the tuple was processed earlier or not. On the other hand, in the case of an opaque transactional topology, we would need to store the txid
, count
, and previous count
parameters to maintain the consistency of the database.
For example, we are processing a txid
5 which contains the following set of tuples:
[India] [India] [Japan] [China]
The current state of the key/value in the...