Skip to content

Commit 1227fd5

Browse files
committed
gitter badge link and some akka leftovers
1 parent 5a2a592 commit 1227fd5

File tree

2 files changed

+12
-307
lines changed

2 files changed

+12
-307
lines changed

README.md

+5-300
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# pekko-persistence-inmemory
22

3-
[![Join the chat at https://app.gitter.im/#/room/#alstanchev/pekko-persistence-inmemory:gitter.im](https://badges.gitter.im/dnvriend/akka-persistence-inmemory.svg)](https://app.gitter.im/#/room/#alstanchev/pekko-persistence-inmemory:gitter.im?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
3+
[![Join the chat at https://app.gitter.im/#/room/#pekko-persistence-inmemory:gitter.im](https://badges.gitter.im/repo.svg)](https://app.gitter.im/#/room/#pekko-persistence-inmemory:gitter.im)
44
[![Build Status](https://github.com/alstanchev/pekko-persistence-inmemory/actions/workflows/build.yml/badge.svg)](https://github.com/alstanchev/pekko-persistence-inmemory/actions/workflows/build.yml)
55
[![Download](https://api.bintray.com/packages/dnvriend/maven/akka-persistence-inmemory/images/download.svg) ](https://s01.oss.sonatype.org)
66
[![License](http://img.shields.io/:license-Apache%202-red.svg)](http://www.apache.org/licenses/LICENSE-2.0.txt)
@@ -330,302 +330,7 @@ inmemory-storage {
330330
}
331331
```
332332

333-
334-
## Changelog
335-
### 2.5.15.2 (2019-06-28)
336-
- Scala 2.11.x, 2.12.x, 2.13.x support
337-
- Akka 2.5.15 -> 2.5.23
338-
339-
### 2.4.20.1 (2019-06-28)
340-
- Merged PR #59 "Pluggable storage" by [Beat Sager](https://github.com/BeatSager), thanks!
341-
342-
### 2.5.15.1 (2018-09-09)
343-
- Java 8 binary release
344-
345-
### 2.5.15.0 (2018-08-29)
346-
- Applied PR #50 "Fix for Akka Typed Persistence" by [Lukasz Sanek](https://github.com/s4nk), thanks!
347-
- Java 10 binary release
348-
349-
### 2.4.20.0 (2018-08-29)
350-
- Merged PR #50 "Fix for Akka Typed Persistence" by [Lukasz Sanek](https://github.com/s4nk), thanks!
351-
- Merged PR #52 "Provide nice Java API for clearing journal" by [Christopher Batey](https://github.com/chbatey), thanks!
352-
353-
### 2.5.1.2 (2018-08-14)
354-
- Merged PR #53 "Bump dependencies" by [Artsiom Miklushou](https://github.com/mikla), thanks!
355-
356-
### 2.4.18.2 (2017-12-03)
357-
- Merged PR #42 "Scala 2.12.4 support" by [sullis](https://github.com/sullis), thanks!
358-
359-
### 2.5.1.1 (2017-05-23)
360-
- Fix for issue #35 "no serializer for internal plugin messages"
361-
362-
### 2.4.18.1 (2017-05-23)
363-
- Fix for issue #35 "no serializer for internal plugin messages"
364-
365-
### 2.5.1.0 (2017-05-03)
366-
- Akka 2.5.0 -> 2.5.1
367-
368-
### 2.4.18.0 (2017-05-03)
369-
- Akka 2.4.17 -> 2.4.18
370-
371-
### 2.5.0.0 (2017-04-13)
372-
- Support for Akka 2.5.0
373-
374-
### 2.5.0.0-RC2 (2017-04-03)
375-
- Support for Akka 2.5.0-RC2
376-
377-
### 2.5.0.0-RC1 (2017-03-21)
378-
- Support for Akka 2.5.0-RC1
379-
380-
### 2.5.0.0-M2 (2017-02-24)
381-
- Support for Akka 2.5-M2
382-
- Changed to a simpler Time-based UUID generator.
383-
384-
### 2.4.17.3 (2017-02-24)
385-
- Changed to a simpler Time-based UUID generator.
386-
387-
### 2.4.17.2 (2017-02-16)
388-
- Fix for issue #33 'InMemoryReadJournal.eventsByPersistenceId returns deleted messages'
389-
390-
### 2.5.0.1-M1 (2017-02-16)
391-
- Fix for issue #33 'InMemoryReadJournal.eventsByPersistenceId returns deleted messages'
392-
- Fix for PR #31 'eventsByTag including substrings of tag' by [jibbers42](https://github.com/jibbers42), thanks!
393-
- Tags will be matched against the whole tag so tag 'foo' will be matched against 'foo' and not 'fo' or 'f' which was the previous behavior.
394-
395-
### 2.4.17.1 (2017-02-12)
396-
- Fix for PR #31 'eventsByTag including substrings of tag' by [jibbers42](https://github.com/jibbers42), thanks!
397-
- Tags will be matched against the whole tag so tag 'foo' will be matched against 'foo' and not 'fo' or 'f' which was the previous behavior.
398-
399-
### 2.4.17.0 (2017-02-11)
400-
- Akka 2.4.16 -> 2.4.17
401-
402-
### 2.4.16.0 (2017-01-29)
403-
- New versioning scheme; now using the version of Akka with the akka-persistence-inmemory version appended to it, starting from `.0`
404-
- Support for Akka 2.4.16
405-
- Support akka 2.11.x and 2.12.x
406-
- Changed how the `byTag` queries work, the requested offset is excluding, so if a materialized stream is created, when you ask for Sequence(2) for example, you will get Sequence(3) and so on
407-
so this is for the use case when you store the lastest offset on the read side, you can just put that value in the query and the stream will continue with the next offset,
408-
no need to manually do the plus-one operation.
409-
410-
### 2.5.0.0-M1 (2017-01-29)
411-
- New versioning scheme; now using the version of Akka with the akka-persistence-inmemory version appended to it, starting from `.0`
412-
- Support for Akka 2.5-M1
413-
- Support akka 2.11.x and 2.12.x
414-
- You need Java 8 or higher
415-
- Please read the [Akka 2.4 -> 2.5 Migration Guide](http://doc.org.apache.pekko.io/docs/akka/2.5-M1/project/migration-guide-2.4.x-2.5.x.html)
416-
- Changed how the `byTag` queries work, the requested offset is excluding, so if a materialized stream is created, when you ask for Sequence(2) for example, you will get Sequence(3) and so on
417-
so this is for the use case when you store the lastest offset on the read side, you can just put that value in the query and the stream will continue with the next offset,
418-
no need to manually do the plus-one operation.
419-
420-
### 1.3.18 (2016-12-21)
421-
- Akka 2.4.14 -> 2.4.16
422-
423-
### 1.3.17 (2016-12-08)
424-
- Scala 2.12.0 -> 2.12.1
425-
426-
### 1.3.16 (2016-11-22)
427-
- Akka 2.4.13 -> 2.4.14
428-
429-
### 1.3.15 (2016-11-19)
430-
- Akka 2.4.12 -> 2.4.13
431-
432-
### 1.3.14 (2016-11-03)
433-
- cross scala 2.11.8 and 2.12.0 build
434-
435-
### 1.3.13 (2016-11-01 - Birthday Edition!)
436-
- Implemented support for the `org.apache.pekko.persistence.query.TimeBasedUUID`.
437-
- You should set the __new__ configuration key `inmemory-read-journal.offset-mode = "uuid"`, defaults to `sequence`
438-
to produce `EventEnvelope` that contain `TimeBasedUUID` offset fields.
439-
440-
### 1.3.12 (2016-10-28)
441-
- Akka 2.4.11 -> 2.4.12
442-
- Support for the new queries `CurrentEventsByTagQuery2` and `EventsByTagQuery2`, please read the [akka-persistence-query](http://doc.org.apache.pekko.io/docs/akka/2.4.12/scala/persistence-query.html) documentation to see what has changed.
443-
- The akka-persistence-inmemory plugin only supports the `org.apache.pekko.persistence.query.NoOffset` or `org.apache.pekko.persistence.query.Sequence` offset types.
444-
- There is no support for the `org.apache.pekko.persistence.query.TimeBasedUUID` offset type. When used, akka-persistence-inmemory will throw an IllegalArgumentException.
445-
446-
### 1.3.11 (2016-10-23)
447-
- Scala 2.11.8 and 2.12.0-RC2 compatible
448-
449-
### 1.3.10 (2016-09-30)
450-
- Akka 2.4.10 -> 2.4.11
451-
452-
### 1.3.9 (2016-09-22)
453-
- Adapted version of PR #28 by [Yury Gribkov](https://github.com/ygree) - Fix bug: It doesn't adapt events read from journal, thanks!
454-
- As event adapters are no first class citizins of akka-persistence-query (yet), a workaround based on the configuration of akka-persistence-cassandra
455-
has been implemented in the inmemory journal based on the work of [Yury Gribkov](https://github.com/ygree). Basically, the query-journal will look for
456-
a __write-plugin__ entry in the __inmemory-read-journal__ configuration of your application.conf that must point to the _writePluginId_ that
457-
will write the events to the journal. That writePlugin has all event adapters configured and if applicable, those event adapters will be used to
458-
adapt the events from the data-model to the application-model effectively you should have application-model events in your _EventEnvelope_ if
459-
configured correctly.
460-
- Removed the non-official and never-to-be-used bulk loading interface
461-
462-
### 1.3.8 (2016-09-07)
463-
- Akka 2.4.9 -> Akka 2.4.10
464-
465-
### 1.3.7 (2016-08-21)
466-
- Fix for EventsByPersistenceId should terminate when toSequenceNumber is reached as pointed out by [monktastic](https://github.com/monktastic), thanks!
467-
468-
### 1.3.6 (2016-08-20)
469-
- Akka 2.4.9-RC2 -> Akka 2.4.9
470-
471-
### 1.3.6-RC2 (2016-08-06)
472-
- Akka 2.4.9-RC1 -> 2.4.9-RC2
473-
474-
### 1.3.6-RC1 (2016-08-03)
475-
- Akka 2.4.8 -> 2.4.9-RC1
476-
477-
### 1.3.5 (2016-07-23)
478-
- Support for the __non-official__ bulk loading interface [org.apache.pekko.persistence.query.scaladsl.EventWriter](https://github.com/dnvriend/akka-persistence-query-writer/blob/master/src/main/scala/akka/persistence/query/scaladsl/EventWriter.scala)
479-
added. I need this interface to load massive amounts of data, that will be processed by many actors, but initially I just want to create and store one or
480-
more events belonging to an actor, that will handle the business rules eventually. Using actors or a shard region for that matter, just gives to much
481-
actor life cycle overhead ie. too many calls to the data store. The `org.apache.pekko.persistence.query.scaladsl.EventWriter` interface is non-official and puts all
482-
responsibility of ensuring the integrity of the journal on you. This means when some strange things are happening caused by wrong loading of the data,
483-
and therefor breaking the integrity and ruleset of akka-persistence, all the responsibility on fixing it is on you, and not on the Akka team.
484-
485-
### 1.3.4 (2016-07-17)
486-
- Codacy code cleanup release.
487-
488-
### 1.3.3 (2016-07-16)
489-
- No need for Query Publishers with the new akka-streams API.
490-
491-
### 1.3.2 (2016-07-09)
492-
- Journal entry 'deleted' fixed, must be set manually.
493-
494-
### 1.3.1 (2016-07-09)
495-
- Akka 2.4.7 -> 2.4.8,
496-
- Behavior of akka-persistence-query *byTag query should be up to spec,
497-
- Refactored the inmemory plugin code base, should be more clean now.
498-
499-
### 1.3.0 (2016-06-09)
500-
- Removed the queries `eventsByPersistenceIdAndTag` and `currentEventsByPersistenceIdAndTag` as they are not supported by Akka natively and can be configured by filtering the event stream.
501-
- Implemented true async queries using the polling strategy
502-
503-
### 1.2.15 (2016-06-05)
504-
- Akka 2.4.6 -> 2.4.7
505-
506-
### 1.2.14 (2016-05-25)
507-
- Fixed issue Unable to differentiate between persistence failures and serialization issues
508-
- Akka 2.4.4 -> 2.4.6
509-
510-
### 1.2.13 (2016-04-14)
511-
- Akka 2.4.3 -> 2.4.4
512-
513-
### 1.2.12 (2016-04-01)
514-
- Scala 2.11.7 -> 2.11.8
515-
- Akka 2.4.2 -> 2.4.3
516-
517-
### 1.2.11 (2016-03-18)
518-
- Fixed issue on the query api where the offset on eventsByTag and eventsByPersistenceIdAndTag queries were not sequential
519-
520-
### 1.2.10 (2016-03-17)
521-
- Refactored the akka-persistence-query interfaces, integrated it back again in one jar, for jcenter deployment simplicity
522-
523-
### 1.2.9 (2016-03-16)
524-
- Added the appropriate Maven POM resources to be publishing to Bintray's JCenter
525-
526-
### 1.2.8 (2016-03-03)
527-
- Fix for propagating serialization errors to akka-persistence so that any error regarding the persistence of messages will be handled by the callback handler of the Persistent Actor; `onPersistFailure`.
528-
529-
### 1.2.7 (2016-02-18)
530-
- Better storage implementation for journal and snapshot
531-
532-
### 1.2.6 (2016-02-17)
533-
- Akka 2.4.2-RC3 -> 2.4.2
534-
535-
### 1.2.5 (2016-02-13)
536-
- akka-persistence-jdbc-query 1.0.0 -> 1.0.1
537-
538-
### 1.2.4 (2016-02-13)
539-
- Akka 2.4.2-RC2 -> 2.4.2-RC3
540-
541-
### 1.2.3 (2016-02-08)
542-
- Compatibility with Akka 2.4.2-RC2
543-
- Refactored the akka-persistence-query extension interfaces to its own jar: `"com.github.dnvriend" %% "akka-persistence-jdbc-query" % "1.0.0"`
544-
545-
### 1.2.2 (2016-01-30)
546-
- Code is based on [akka-persistence-jdbc](https://github.com/dnvriend/akka-persistence-jdbc)
547-
- Supports the following queries:
548-
- `allPersistenceIds` and `currentPersistenceIds`
549-
- `eventsByPersistenceId` and `currentEventsByPersistenceId`
550-
- `eventsByTag` and `currentEventsByTag`
551-
- `eventsByPersistenceIdAndTag` and `currentEventsByPersistenceIdAndTag`
552-
553-
### 1.2.1 (2016-01-28)
554-
- Supports for the javadsl query API
555-
556-
### 1.2.0 (2016-01-26)
557-
- Compatibility with Akka 2.4.2-RC1
558-
559-
### 1.1.6 (2015-12-02)
560-
- Compatibility with Akka 2.4.1
561-
- Merged PR #17 [Evgeny Shepelyuk](https://github.com/eshepelyuk) Upgrade to AKKA 2.4.1, thanks!
562-
563-
### 1.1.5 (2015-10-24)
564-
- Compatibility with Akka 2.4.0
565-
- Merged PR #13 [Evgeny Shepelyuk](https://github.com/eshepelyuk) HighestSequenceNo should be kept on message deletion, thanks!
566-
- Should be a fix for [Issue #13 - HighestSequenceNo should be kept on message deletion](https://github.com/dnvriend/akka-persistence-inmemory/issues/13) as per [Akka issue #18559](https://github.com/akka/akka/issues/18559)
567-
568-
### 1.1.4 (2015-10-17)
569-
- Compatibility with Akka 2.4.0
570-
- Merged PR #12 [Evgeny Shepelyuk](https://github.com/eshepelyuk) Live version of eventsByPersistenceId, thanks!
571-
572-
### 1.1.3 (2015-10-02)
573-
- Compatibility with Akka 2.4.0
574-
- Akka 2.4.0-RC3 -> 2.4.0
575-
576-
### 1.1.3-RC3 (2015-09-24)
577-
- Merged PR #10 [Evgeny Shepelyuk](https://github.com/eshepelyuk) Live version of allPersistenceIds, thanks!
578-
- Compatibility with Akka 2.4.0-RC3
579-
- Use the following library dependency: `"com.github.dnvriend" %% "akka-persistence-inmemory" % "1.1.3-RC3"`
580-
581-
### 1.1.1-RC3 (2015-09-19)
582-
- Merged Issue #9 [Evgeny Shepelyuk](https://github.com/eshepelyuk) Initial implemenation of Persistence Query for In Memory journal, thanks!
583-
- Compatibility with Akka 2.4.0-RC3
584-
- Use the following library dependency: `"com.github.dnvriend" %% "akka-persistence-inmemory" % "1.1.1-RC3"`
585-
586-
### 1.1.0-RC3 (2015-09-17)
587-
- Merged Issue #6 [Evgeny Shepelyuk](https://github.com/eshepelyuk) Conditional ability to perform full serialization while adding messages to journal, thanks!
588-
- Compatibility with Akka 2.4.0-RC3
589-
- Use the following library dependency: `"com.github.dnvriend" %% "akka-persistence-inmemory" % "1.1.0-RC3"`
590-
591-
### 1.1.0-RC2 (2015-09-05)
592-
- Compatibility with Akka 2.4.0-RC2
593-
- Use the following library dependency: `"com.github.dnvriend" %% "akka-persistence-inmemory" % "1.1.0-RC2"`
594-
595-
### 1.0.5 (2015-09-04)
596-
- Compatibilty with Akka 2.3.13
597-
- Akka 2.3.12 -> 2.3.13
598-
599-
### 1.1.0-RC1 (2015-09-02)
600-
- Compatibility with Akka 2.4.0-RC1
601-
- Use the following library dependency: `"com.github.dnvriend" %% "akka-persistence-inmemory" % "1.1.0-RC1"`
602-
603-
### 1.0.4 (2015-08-16)
604-
- Scala 2.11.6 -> 2.11.7
605-
- Akka 2.3.11 -> 2.3.12
606-
- Apache-2.0 license
607-
608-
### 1.0.3 (2015-05-25)
609-
- Merged Issue #2 [Sebastián Ortega](https://github.com/sortega) Regression: Fix corner case when persisted events are deleted, thanks!
610-
- Added test for the corner case issue #1 and #2
611-
612-
### 1.0.2 (2015-05-20)
613-
- Refactored from the ConcurrentHashMap implementation to a pure Actor managed concurrency model
614-
615-
### 1.0.1 (2015-05-16)
616-
- Some refactoring, fixed some misconceptions about the behavior of Scala Futures one year ago :)
617-
- Akka 2.3.6 -> 2.3.11
618-
- Scala 2.11.1 -> 2.11.6
619-
- Scala 2.10.4 -> 2.10.5
620-
- Merged Issue #1 [Sebastián Ortega](https://github.com/sortega) Fix corner case when persisted events are deleted, thanks!
621-
622-
### 1.0.0 (2014-09-25)
623-
- Moved to bintray
624-
625-
### 0.0.2 (2014-09-05)
626-
- Akka 2.3.4 -> 2.3.6
627-
628-
### 0.0.1 (2014-08-19)
629-
- Initial Release
630-
631-
Have fun!
333+
### 1.0.0 (2023-08-24)
334+
- Fork from [dnvriend/akka-persistence-inmemory:2.5.15.2](https://github.com/dnvriend/akka-persistence-inmemory)
335+
- Akka replaced with [Pekko 1.0.1](https://github.com/apache/incubator-pekko)
336+
- Scala 2.12.x, 2.13.x, 3 support

documents/QueryConsumerArchitecture.md

+7-7
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
# Query Consumer Refactor
2-
The akka persistence query api is based upon a push approach in where persisted events will be pushed
2+
The pekko persistence query api is based upon a push approach in where persisted events will be pushed
33
downstream to any subscribers of the log. This rather naive approach has as a side effect that there has to
4-
be some kind of subscription management in akka-persistence. At the moment there is none available in
5-
akka persistence and so the current design must change.
4+
be some kind of subscription management in pekko-persistence. At the moment there is none available in
5+
pekko persistence and so the current design must change.
66

77
# Looking at other log architectures
88
There are other log architectures, for example [Apache Kafka](http://kafka.apache.org/), that use a clean separation
@@ -18,9 +18,9 @@ has the following responsibilities:
1818
* handing the response, which consists of a chunk of data beginning from the log position,
1919
* issuing the maximum number of messages the client can handle by means of a back pressure mechanism
2020

21-
# Refactoring the akka persistence in-memory query clients
22-
When looking at the design of the Akka Persistence, the client api are also fully separate of the producer
23-
of the log. When we copy the design of Kafka, the following changes to the design to the akka persistence
21+
# Refactoring the pekko persistence in-memory query clients
22+
When looking at the design of the Pekko Persistence, the client api are also fully separate of the producer
23+
of the log. When we copy the design of Kafka, the following changes to the design to the pekko persistence
2424
in-memory query api clients can be made:
2525

2626
* active clients that `pull` from the broker by issuing `fetch` requests,
@@ -29,7 +29,7 @@ in-memory query api clients can be made:
2929
* delivering the messages to any subscribers of the stream.
3030

3131
This design places the responsibility of consuming the log and making sure that messages are send to any waiting subscribers
32-
of the the log solely on the consumer API and decouples the producer from the consumer. The producer (here akka-persistence)
32+
of the the log solely on the consumer API and decouples the producer from the consumer. The producer (here pekko-persistence)
3333
must be changed because it does not have to take consumers into account. It has a single responsibility, batch writing messages
3434
to the log.
3535

0 commit comments

Comments
 (0)