8000 Yada may give out of memory exception (java.lang.OutOfMemoryError, OOM) when put under load · Issue #324 · juxt/yada · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content
Yada may give out of memory exception (java.lang.OutOfMemoryError, OOM) when put under load #324
Open
@ivarref

Description

@ivarref

Hi,

and thanks for a fine library.

Our yada server had been running fine for a few years. Recently howeve 5C2A r it has started experiencing OOM (out of memory) errors. It turns out that io.aleph/dirigiste version 0.1.5 has a known and fixed memory leak and that the latest yada version depends on dirigiste 0.1.5:

$ git remote -v
origin	git@github.com:juxt/yada.git (fetch)
origin	git@github.com:juxt/yada.git (push)

$ git checkout tags/1.2.15.1 -b v1.2.15.1
Switched to a new branch 'v1.2.15.1'

$ lein deps :tree | grep -B1 dirigiste
 [aero "1.0.1" :exclusions [[org.clojure/clojure]]]
 [aleph "0.4.4" :scope "test" :exclusions [[org.clojure/clojure] [io.aleph/dirigiste]]]
--
 [manifold "0.1.7-alpha5" :exclusions [[org.clojure/clojure]]]
   [io.aleph/dirigiste "0.1.5"]

dirigiste has some other serious issues, such as swallowing exceptions. I think the safest way to solve this problem as of now and as a yada user, is to simply pass in a standard thread pool when starting the yada server:

(yada.yada/listener some-routes
                    {:host     some-host
                     :port     some-port
                     :executor (java.util.concurrent.Executors/newFixedThreadPool 256)})

Hope this helps someone experiencing similar issues.

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

      0