org.apache.storm.trident.state

## Interface State

- All Known Subinterfaces:
    MapState<T>, ReadOnlyMapState<T>, ReadOnlySnapshottable<T>, RemovableMapState<T>, Snapshottable<T>
  All Known Implementing Classes:
    CassandraState, DebugMemoryMapState, HBaseState, HdfsState, HiveState, JdbcState, JmsState, LRUMemoryMapState, MemoryMapState, MongoState, NonTransactionalMap, OpaqueMap, OpenTsdbState, ReadOnlyState, RedisClusterState, RedisState, RocketMqState, SnapshottableMap, SolrState, TransactionalMap, TridentKafkaState, TridentReach.StaticSingleKeyMapState, WindowsState

      public interface State

  There’s 3 different kinds of state:

  1. non-transactional: ignores commits, updates are permanent. no rollback. a cassandra incrementing state would be like this 2. repeat-transactional: idempotent as long as all batches for a txid are identical 3. opaque-transactional: the most general kind of state. updates are always done based on the previous version of the value if the current commit = latest stored commit Idempotent even if the batch for a txid can change.

  repeat transactional is idempotent for transactional spouts opaque transactional is idempotent for opaque or transactional spouts

  Trident should log warnings when state is idempotent but updates will not be idempotent because of spout

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `beginCommit(Long txid)`
    `void` | `commit(Long txid)`

- - ### Method Detail

    - #### beginCommit

          void beginCommit(Long txid)

    - #### commit

          void commit(Long txid)

Copyright © 2021 The Apache Software Foundation. All rights reserved.