packages feed

eventstore 1.3.2 → 1.3.3

raw patch · 3 files changed

+25/−5 lines, 3 filesPVP: major bump suggested

API removals or changes: PVP suggests a major version bump

API changes (from Hackage documentation)

- Database.EventStore: LogCallback :: (LogStr -> IO ()) -> IO () -> LogType
- Database.EventStore: LogFile :: FileLogSpec -> BufSize -> LogType
- Database.EventStore: LogFileNoRotate :: FilePath -> BufSize -> LogType
- Database.EventStore: LogFileTimedRotate :: TimedFileLogSpec -> BufSize -> LogType
- Database.EventStore: LogNone :: LogType
- Database.EventStore: LogStderr :: BufSize -> LogType
- Database.EventStore: LogStdout :: BufSize -> LogType
- Database.EventStore: data LogType
+ Database.EventStore: Pinned :: SystemConsumerStrategy
+ Database.EventStore: type LogType = LogType' LogStr

Files

CHANGELOG.markdown view
@@ -1,3 +1,7 @@+1.3.3+-----+* Add `Pinned` system consumer strategy.+ 1.3.2 ----- * Bug fix: Driver could end in a situation where it receives a close-connection message during
Database/EventStore/Internal/Types.hs view
@@ -1084,10 +1084,24 @@ -- | System supported consumer strategies for use with persistent subscriptions. data SystemConsumerStrategy     = DispatchToSingle-      -- ^ Distributes events to a single client until it is full. Then round-      --   robin to the next client.+      -- ^ Distributes events to a single client until the bufferSize is reached.+      --   After which the next client is selected in a round robin style,+      --   and the process is repeated.     | RoundRobin-      -- ^ Distributes events to each client in a round robin fashion.+      -- ^ Distributes events to all clients evenly. If the client buffer-size+      --   is reached the client is ignored until events are+      --   acknowledged/not acknowledged.+    | Pinned+      -- ^ For use with an indexing projection such as the system $by_category+      --   projection. Event Store inspects event for its source stream id,+      --   hashing the id to one of 1024 buckets assigned to individual clients.+      --   When a client disconnects it's buckets are assigned to other clients.+      --   When a client connects, it is assigned some of the existing buckets.+      --   This naively attempts to maintain a balanced workload.+      --   The main aim of this strategy is to decrease the likelihood of+      --   concurrency and ordering issues while maintaining load balancing.+      --   This is not a guarantee, and you should handle the usual ordering+      --   and concurrency issues.     deriving (Show, Eq)  --------------------------------------------------------------------------------@@ -1095,12 +1109,14 @@ strategyText :: SystemConsumerStrategy -> Text strategyText DispatchToSingle = "DispatchToSingle" strategyText RoundRobin       = "RoundRobin"+strategyText Pinned           = "Pinned"  -------------------------------------------------------------------------------- -- | Tries to parse a 'SystemConsumerStrategy' given a raw 'Text'. strategyFromText :: Text -> Maybe SystemConsumerStrategy strategyFromText "DispatchToSingle" = Just DispatchToSingle strategyFromText "RoundRobin"       = Just RoundRobin+strategyFromText "Pinned"           = Just Pinned strategyFromText _                  = Nothing  --------------------------------------------------------------------------------
eventstore.cabal view
@@ -4,10 +4,10 @@ -- -- see: https://github.com/sol/hpack ----- hash: 171ce48c5ca32c8763beafe10906ae6d4b555cfc1b24872d3f56cef12b1d761d+-- hash: bf11e2eb3f56e21967cbcbcdbafbb405a8955a6942e4b7f12ddaae7597d57737  name:           eventstore-version:        1.3.2+version:        1.3.3 synopsis:       EventStore TCP Client description:    EventStore TCP Client <https://eventstore.org> category:       Database