Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
  • Oct 26 2020 07:39
    patriknw labeled #29767
  • Oct 26 2020 07:39
    patriknw labeled #29767
  • Oct 26 2020 07:39
    patriknw labeled #29767
  • Oct 26 2020 07:39
    patriknw labeled #29767
  • Oct 26 2020 07:38
    patriknw commented #29767
  • Oct 26 2020 07:07
    patriknw commented #29765
  • Oct 26 2020 06:56
    patriknw commented #25468
  • Oct 26 2020 06:30
    wtfiwtz starred akka/akka
  • Oct 26 2020 04:31
    YunSeongKim7 starred akka/akka
  • Oct 25 2020 16:21
    nitikagarw commented #25468
  • Oct 25 2020 09:22
    fubiao starred akka/akka
  • Oct 25 2020 05:09
    saguywalker starred akka/akka
  • Oct 24 2020 21:47
    tt4n starred akka/akka
  • Oct 24 2020 21:20
    akka-ci commented #29672
  • Oct 24 2020 21:05
    dope9967 commented #29672
  • Oct 24 2020 21:03
    akka-ci commented #29672
  • Oct 24 2020 21:03
    akka-ci unlabeled #29672
  • Oct 24 2020 21:03
    akka-ci labeled #29672
  • Oct 24 2020 20:44
    dope9967 synchronize #29672
  • Oct 24 2020 20:31
    akka-ci unlabeled #29672
Domantas Petrauskas
@ptrdom
Hi, looking at Akka Persistence Cassandra source, it seems that UNLOGGED batches are used everywhere - journal, snapshots, tag writes, and those aren't atomic, at least for cross-partition batches, which are allowed by the plugin. Isn't this an issue then, making Cassandra plugin not conforming to Akka Persistence API?
1 reply
Damien O'Reilly
@DamienOReilly
Hi, what is the recommended approach to adding request timeouts to an akka-http client?
I have tried to add a completionTimeout and an idleTimeout on an SourceQueueWithComplete that processes the requests, however I am not seeing any long running requests timeout.
1 reply
vakhtang
@vakhtang
The Alpakka SQS connector periodically fails with TCP idle-timeout encountered on connection to [sqs.us-east-1.amazonaws.com:443], no bytes passed in the last 1 minute. What's the recommended way of handling this error? Increasing the timeout seems like one solution, but it's not clear what a reasonable value should be (also this is a global setting), or why the Alpakka SQS connector isn't self-healing in this respect. Any advice?
Enno Runne
@ennru
Daniel LaFlamme
@dlaflamme
Could someone point me to the best practice for how to set up a develop environment for alpakka and also one of its dependencies? What I am doing specifically is making changes to akka-stream-alpakka-ftp and also to its direct dependency, sshj. sshj builds with gradle and alpakka builds with sbt. What is the correct way to point the alpakka build to pick up the changes I am making to sshj?
1 reply
Alexandre DUVAL
@KannarFr
Hi, is it possible to write an akka-http PathMatcher that directly matches to Refined item?
Daniel LaFlamme
@dlaflamme
question on one of the alpakka examples. This line of the ftp-to-file example, https://github.com/akka/alpakka-samples/blob/master/alpakka-sample-ftp-to-file/src/main/scala/samples/scaladsl/Main.scala#L57, writes the remote file to a file on the local host. what is the best practices way to do this, AND do something to the local file--such as set its last modified time to the same as the file on the remote server? this is a question of how to structure the streams pipeline, not specifically how to set the modification time. ideally, you want the file to be downloaded successfully before attempting to do something to it...
1 reply
Max
@maxstreese
Hi! got a question about EventSourcedBehavior: What if I got an actor that besides having some state to be persisted, I also want to contain regular old actor state which shall be forgotten as soon as the actor stops? To give as an example the case I am envisioning: I have the stateful actor consume some commands that should sometimes mutate the state and sometimes also broadcast some messages based off of the state to some set of subscribing actors. I am sure I am just not seing something but as you are not supposed to mix EventSourcedBehavior with any other behavior I am having difficulties. So what's the established way of doing this? Can I mark some fields of my state as not to be persisted or something?
7 replies
Swoorup Joshi
@Swoorup
does anyone even use NotUsed, Done instead of Unit or something else in scala?
why not simplify the api in scala
Andreas Flierl
@asflierl
I use that all the time. Unit is very dangerous.
Swoorup Joshi
@Swoorup
Why is it dangerous?
raboof
@raboof:matrix.org
[m]
I'm not sure I'd say 'dangerous', but I like having specifically-named object types to describe things rather than just getting Unit
Swoorup Joshi
@Swoorup
Ok so Done is used with Future[Done] but what about NotUsed? Seems like perfect fit to replace with Unit
Levi Ramsey
@leviramsey
Semantically every immutable singleton is a perfect fit to replace with Unit.
If things have different interpretations they should be named differently.
lynxpluto
@lynxpluto
Hi everyone! Is it possible to run Akka Projection on a single node cluster for dev/debug purposes?
1 reply
amine.chikhaoui
@amine.chikhaoui:matrix.org
[m]
Hi everybody, I'm experimenting with Akka + Play framework for the first time and have some questions. For example say I have a web service endpoint /doAction which I want to use in a hybrid mode in terms of consistency. It would do a write to a database + send a message to a Kafka topic for consumption by downstream systems. The request from the client would return as soon as the database write is done and the rest is eventually consistent. My confusion is how to make sure that this process is atomic i.e what if the app crashes halfway through (between the database update and sending the kafka message)
3 replies
Amine Chikhaoui
@amine.chikhaoui:matrix.org
[m]
@leviramsey: by Persistence Query/Projections you mean queries of the events journal ?
2 replies
Amine Chikhaoui
@amine.chikhaoui:matrix.org
[m]
got it @leviramsey though if the actor that writes to the DB is persistent, isn't that not recommended ? As I would imagine the Actor would persist the incoming event and then write to the database in the callback, but if the event is replayed for any reason that would attempt another write to the DB ?
my understanding of akka terminology is still basic so I might be saying nonsense :p
Levi Ramsey
@leviramsey
It's a little unorthodox for an actor to query it's own events... the more normal approach would be to have another actor querying the event stream
1 reply
Amine Chikhaoui
@amine.chikhaoui:matrix.org
[m]
oh the persist callback can side effect ? but isn't that the same thing that gets called during replay
btw the persistent actor in my case wouldn't have any state, I can't think of a state that I can keep
Levi Ramsey
@leviramsey
No, only the event handler is called during replay, so it should be pure
Amine Chikhaoui
@amine.chikhaoui:matrix.org
[m]
as the state is kept in the DB basically
hm got it, I had a confusion and thought the event handler is both called during replay and in the persist callback
Levi Ramsey
@leviramsey
The event handler will typically get called (and does automatically in typed) in the persist cycle, thus why you shouldn't side effect there, but the callback only gets called on successful persistence of events
Amine Chikhaoui
@amine.chikhaoui:matrix.org
[m]
and it's not very odd if I use a persistent actor but without any state basically ?
Levi Ramsey
@leviramsey
Well it kind of will have state: things that should be published to Kafka but haven't yet been
(in which case the persistence query may well just be to find out which persistent actors need to be woken up to publish to Kafka)
Amine Chikhaoui
@amine.chikhaoui:matrix.org
[m]
but that's more of the state kept in the events journal right ? not the actor state itself
hmm I was thinking the query would be against the journal
but maybe you mean the query is against the persistent actors state ?
Levi Ramsey
@leviramsey
@amine.chikhaoui:matrix.org I'll have to go away from keyboard for a little while before continuing
Amine Chikhaoui
@amine.chikhaoui:matrix.org
[m]
oh it's indeed the journal from reading https://doc.akka.io/docs/akka/current/persistence-query.html
@leviramsey: sure thanks a lot of the patience with my questions :)
Swoorup Joshi
@Swoorup
should I use actorselection or just pass actorRef?
6 replies
Swoorup Joshi
@Swoorup
is there an Nobody typed ActorRef?
2 replies
Swoorup Joshi
@Swoorup
even within the same system, is it ok to pass streamRef?
Matt Dziuban
@mrdziuban

hey all, I'm running an akka based play app in production and occasionally seeing this error -- trying to figure out what it means

Sink.asPublisher(fanout = false) only supports one subscriber (which is allowed, see reactive-streams specification, rule 1.12)"

does anyone have any ideas or could point me in the right direction?

Levi Ramsey
@leviramsey

@amine.chikhaoui:matrix.org: I apologize for some vagueness, btw, as it's not totally clear what you mean by write to a database. If it's CRUD-style operations, then the transaction can be modeled in a persistent actor as:

  • persist an event saying what message you want to publish to Kafka after updating the DB (signalling intent to update the DB)
  • in the callback for that persist, update the DB (in typed, you'd follow that up with a message to self to move to the next step)
  • after successfully updating the DB, persist an event saying that the DB was updated

Those events then allow either a projection to publish to Kafka or for the state of pending publishes to be tracked by the persistent actor.

If the DB write is itself appending internal state-changing events (i.e. you're already event-sourcing) and you want to have a message eventually published to Kafka which isn't easily completely derivable from the internal state events (e.g. it depends on the command and the internal state), I've sometimes defined a "command in an event's clothing" (e.g. RecordedNeedToPublishDomainEventToKafka) which wraps the message to be published to Kafka and is tagged. Then an events by tag query in a projection looks for that tag and publishes the wrapped message. The event itself is a no-op/identity function in the event handler.

Amine Chikhaoui
@amine.chikhaoui:matrix.org
[m]
@leviramsey: thanks. Yes it's a CRUD style operation, that sounds reasonable as a sequence, the only thing I want to make sure is possible is that the request from the client would wait until the Database update is done so that means if my Controller asks a persistent actor persistentActior ? DoAction(foo) the reply would be within the persist callback as well, then the rest continues.
Jason Pickens
@steinybot

I am trying to migrate some old code from 2.5 to 2.6. It was using ActorPublisher. I created a custom source which now has to use the ask pattern to get messages from the actor. The problem I have is that now I am hitting the case where the timeout expires just before the actor sends the response. I can’t just increase the timeout as I don’t know when the actor will reply (this is for a websocket). As far as I can tell this was never an issue with the old ActorPublisher since it was all actors. Is there a solution to this?

The best that I can come up with is to include a deadline in the request message so that the reciever knows not to send any replies after this deadline. This has to be earlier than the timeout to avoid the race condition but not too early as that will be a period of unresponsiveness. I can use a long timeout to reduce the frequency that this happens. What are the downsides of making the ask timeout extremely long?

2 replies
I think Source.ask suffers this same problem.
Swoorup Joshi
@Swoorup
Thinking of designing a websocket architecture. I want to be able to have some sort of command architecture, where the client can subscribe/unsubscribe to a set of particular server events. Is killswitches, mergehub, broadcasthub with akka streams the way to go around this? Is there any guidelines reference to do so?
10 replies
Marcin Chwedczuk
@marcin-sumologic
Hi, I see that Agents (https://doc.akka.io/docs/akka/2.5/project/migration-guide-2.4.x-2.5.x.html#agents) disappeared from Akka 2.6. I wonder if there is any migration guide showing how I can change my code.
raboof
@raboof:matrix.org
[m]
Marcin Chwedczuk
@marcin-sumologic
PS. What I really would like to see is a code snipped with example Agent -> Actor migration.