Skip to content

Multiple StreamsRegistry in same application #3

@AntoineDuComptoirDesPharmacies

Description

Hi,

We are currently using StreamsRegistry to monitor a KafkaStream in our application.
We would like to add a new KafkaStream in the same application and, for separation of concerns, we tried to create a new StreamsRegistry for this second stream. However, the registry crash on register with the following error :

application-akka.actor.default-dispatcher-19 - [error] - akka.dispatch.TaskInvocation - Attempting to call unbound fn: #'io.operatr.kpow
.agent/init-registry
java.lang.IllegalStateException: Attempting to call unbound fn: #'io.operatr.kpow.agent/init-registry
        at clojure.lang.Var$Unbound.throwArity(Var.java:45)
        at clojure.lang.AFn.invoke(AFn.java:32)
        at clojure.lang.Var.invoke(Var.java:384)
        at io.operatr.kpow.StreamsRegistry.<init>(StreamsRegistry.java:83)
        at events.KafkaStreamEventProcessor.run(KafkaStreamEventProcessor.java:176)
        at akka.dispatch.TaskInvocation.run(AbstractDispatcher.scala:49)
        at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
        at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
        at java.base/java.lang.Thread.run(Thread.java:834)
[ERROR] [08/11/2022 07:55:20.654] [application-akka.actor.kafka-consumers-dispatcher-15] [TaskInvocation] Attempting to call unbound fn:
 #'io.operatr.kpow.agent/init-registry
java.lang.IllegalStateException: Attempting to call unbound fn: #'io.operatr.kpow.agent/init-registry
        at clojure.lang.Var$Unbound.throwArity(Var.java:45)
        at clojure.lang.AFn.invoke(AFn.java:32)
        at clojure.lang.Var.invoke(Var.java:384)
        at io.operatr.kpow.StreamsRegistry.<init>(StreamsRegistry.java:83)
        at events.KafkaStreamEventProcessor.run(KafkaStreamEventProcessor.java:176)
        at akka.dispatch.TaskInvocation.run(AbstractDispatcher.scala:49)
        at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
        at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
        at java.base/java.lang.Thread.run(Thread.java:834)

We are wondering if StreamsRegistry is meant to be instantiated only one time per application or if we did a mistake while declaring/using it ?

Thanks in advance for your answer !
Yours faithfully,
LCDP

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions